makepkg: unset errexit when sourcing /etc/profile
[pacman-ng.git] / doc / index.txt
blob5e903e257e7da4697cfc296953854ea27329190a
1 Pacman Home Page
2 ================
4 A simple library-based package manager.
6 Introduction
7 ------------
8 pacman is a utility which manages software packages in Linux. It uses simple
9 compressed files as a package format, and maintains a text-based package
10 database (more of a hierarchy), just in case some hand tweaking is necessary.
12 pacman does not strive to "do everything." It will add, remove and upgrade
13 packages in the system, and it will allow you to query the package database for
14 installed packages, files and owners. It also attempts to handle dependencies
15 automatically and can download packages from a remote server.
17 History
18 ~~~~~~~
19 Version 2.0 of pacman introduced the ability to sync packages (the '\--sync'
20 option) with a master server through the use of package databases. Prior to
21 this, packages would have to be installed manually using the '\--add' and
22 '\--upgrade' operations.
24 Version 3.0 was the switch to a two-part pacman- a backend named libalpm
25 (library for Arch Linux Package Management), and the familiar pacman frontend.
26 Speed in many cases was improved, along with dependency and conflict resolution
27 being able to handle a much wider variety of cases. The switch to a
28 library-based program should also make it easier in the future to develop
29 alternative front ends.
31 Documentation
32 -------------
34 Manpages
35 ~~~~~~~~
36 There are several manpages available for the programs, utilities, and
37 configuration files dealing with pacman.
39 * linkman:PKGBUILD[5]
40 * linkman:libalpm[3]
41 * linkman:makepkg[8]
42 * linkman:makepkg.conf[5]
43 * linkman:pacman[8]
44 * linkman:pacman-key[8]
45 * linkman:pacman.conf[5]
46 * linkman:pkgdelta[8]
47 * linkman:repo-add[8]
48 * linkman:vercmp[8]
50 Changelog
51 ~~~~~~~~~
52 For a good idea of what is going on in pacman development, take a look at the
53 link:http://projects.archlinux.org/pacman.git/[Git summary page] for the
54 project.
56 See the most recent
57 link:http://projects.archlinux.org/pacman.git/tree/NEWS[NEWS]
58 file for a not-as-frequently-updated list of changes. However, this should
59 contain the biggest changes in a format more concise than the commit log.
62 Releases
63 --------
65 `------------`-------
66 Date         Version
67 ---------------------
68 2011-08-10   v3.5.4
69 2011-06-07   v3.5.3
70 2011-04-18   v3.5.2
71 2011-03-23   v3.5.1
72 2011-03-16   v3.5.0
73 2011-01-22   v3.4.3
74 2010-12-29   v3.4.2
75 2010-09-03   v3.4.1
76 2010-06-16   v3.4.0
77 2009-11-10   v3.3.3
78 2009-10-05   v3.3.2
79 2009-09-22   v3.3.1
80 2009-08-02   v3.3.0
81 2009-01-05   v3.2.2
82 2008-08-26   v3.2.1
83 2008-07-30   v3.2.0
84 2008-04-01   v3.1.4
85 2008-03-06   v3.1.3
86 2008-02-20   v3.1.2
87 2008-01-20   v3.1.1
88 2008-01-09   v3.1.0
89 2007-09-16   v3.0.6
90 2007-06-17   v3.0.5
91 2007-05-08   v3.0.4
92 2007-04-28   v3.0.3
93 2007-04-23   v3.0.2
94 2007-04-04   v3.0.1
95 2007-03-25   v3.0.0
96 2006-02-02   v2.9.8
97 2005-09-16   v2.9.7
98 2005-06-10   v2.9.6
99 2005-01-11   v2.9.5
100 2004-12-19   v2.9.4
101 2004-12-18   v2.9.3
102 2004-09-25   v2.9.2
103 2004-09-24   v2.9.1
104 2004-09-18   v2.9
105 ---------------------
107 Source code for all releases is available at
108 link:ftp://ftp.archlinux.org/other/pacman/[]. To install, download the newest
109 available source tarball, unpack it in a directory, and run the three magic
110 commands:
112         $ ./configure
113         $ make
114         # make install
116 You may wish to read the options presented by `./configure --help` in order to
117 set appropriate paths and build options that are correct for your system.
119 Development
120 -----------
122 Mailing List
123 ~~~~~~~~~~~~
124 There is a mailing list devoted to pacman development, hosted by Arch Linux.
125 link:http://mailman.archlinux.org/mailman/listinfo/pacman-dev/[Subscribe] or
126 link:http://mailman.archlinux.org/pipermail/pacman-dev/[view the archives].
128 Source Code
129 ~~~~~~~~~~~
130 Development of pacman is currently done in GIT. The central repository is
131 hosted by Arch Linux, although some of the developers have their own trees (ask
132 on the above mailing lists if you are interested in finding the locations of
133 these trees).
135 The current development tree can be fetched with the following command:
137         git clone git://projects.archlinux.org/pacman.git pacman
139 which will fetch the full development history into a directory named pacman.
140 You can browse the source as well using
141 link:http://projects.archlinux.org/pacman.git/[cgit]. HTTP/HTTPS URLs are also
142 available for cloning purposes; these URLs are listed at the above page.
144 If you are interested in hacking on pacman, it is highly recommended you join
145 the mailing list mentioned above, as well as take a quick glance at our
146 link:HACKING.html[HACKING] document.
147 link:submitting-patches.html[submitting-patches] is also a recommended read.
149 Not as familiar with code as you'd like to be, but still want to help out? If
150 you speak a foreign language, you can help by either creating or updating a
151 translation file for your native language. Instructions can be found in
152 link:translation-help.html[translation-help].
154 Other Utilities
155 ~~~~~~~~~~~~~~~
156 Although the package manager itself is quite simple, many scripts have been
157 developed that help automate building and installing packages. These are used
158 extensively in link:http://archlinux.org/[Arch Linux]. Most of these utilities
159 are available in the Arch Linux projects
160 link:http://projects.archlinux.org/[code browser].
162 Utilities available:
164 * link:http://projects.archlinux.org/abs.git/[abs] - ABS (Arch Build System), scripts to download  & use the Arch Linux PKGBUILD tree
165 * link:http://projects.archlinux.org/dbscripts.git/[dbscripts] - scripts used by Arch Linux to manage the main package repositories
166 * link:http://projects.archlinux.org/devtools.git/[devtools] - tools to assist in packaging and dependency checking
167 * link:http://projects.archlinux.org/namcap.git/[namcap] - a package analysis utility written in python
168 * link:http://projects.archlinux.org/srcpac.git/[srcpac] - a bash build-from-source pacman wrapper
170 Bugs
171 ----
172 If you find bugs (which is quite likely), please email them to the pacman-dev
173 mailing last at mailto:pacman-dev@archlinux.org[] with specific information
174 such as your commandline, the nature of the bug, and even the package database
175 if it helps.
177 You can also post a bug to the Arch Linux bug tracker
178 link:http://bugs.archlinux.org/index.php?project=3[Flyspray]. Be sure to file
179 bugs under the Pacman project.
181 Pacman/libalpm in the Wild
182 --------------------------
183 Although Arch Linux is the primary user of pacman and libalpm, other
184 distributions and projects also use pacman as a package management tool. In
185 addition, there have been several projects started to provide a frontend GUI to
186 pacman and/or libalpm.
188 Arch derivatives:
190 * link:http://archie.dotsrc.org/[Archie] - Arch Live on steroids
191 * link:http://www.faunos.com/[FaunOS] - A portable, fully integrated operating system based on Arch Linux
192 * link:http://larch.berlios.de/[larch] - A live CD/DVD/USB-stick construction kit for Arch Linux
194 Other distributions:
196 * link:http://www.delilinux.org/[DeLi Linux] - "Desktop Light" Linux, a Linux distribution for old computers
197 * link:http://www.frugalware.org/[Frugalware Linux] - A general purpose Linux distribution for intermediate users (pacman is forked and maintained separately)
199 Pacman/libalpm frontends:
201 * link:http://shaman.iskrembilen.com/[Shaman] - A GUI frontend using Qt and libalpm
203 Copyright
204 ---------
205 pacman is Copyright (C) 2006-2011 Pacman Development Team
206 <pacman-dev@archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
207 <jvinet@zeroflux.org> and is licensed through the GNU General Public License,
208 version 2 or later.
210 /////
211 vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
212 /////