4 A simple library-based package manager.
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.
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 Version 4.0 added package signing and verification capabilities to the entire
32 makepkg/repo-add/pacman toolchain via GNUPG and GPGME.
39 There are several manpages available for the programs, utilities, and
40 configuration files dealing with pacman.
45 * linkman:makepkg.conf[5]
47 * linkman:pacman-key[8]
48 * linkman:pacman.conf[5]
55 For a good idea of what is going on in pacman development, take a look at the
56 link:https://projects.archlinux.org/pacman.git/[Git summary page] for the
60 link:https://projects.archlinux.org/pacman.git/tree/NEWS[NEWS]
61 file for a not-as-frequently-updated list of changes. However, this should
62 contain the biggest changes in a format more concise than the commit log.
68 [frame="none",grid="none",options="autowidth",cols="3*a"]
71 [frame="topbot",grid="none",options="header,autowidth"]
106 [frame="topbot",grid="none",options="header,autowidth"]
119 !2.9.7-TEST3 !2005-09-11
120 !2.9.7-TEST2 !2005-09-07
121 !2.9.7-TEST !2005-08-19
139 [frame="topbot",grid="none",options="header,autowidth"]
174 Source code for all releases is available at
175 link:ftp://ftp.archlinux.org/other/pacman/[]. To install, download the newest
176 available source tarball, unpack it in a directory, and run the three magic
183 You may wish to read the options presented by `./configure --help` in order to
184 set appropriate paths and build options that are correct for your system.
191 There is a mailing list devoted to pacman development, hosted by Arch Linux.
192 link:https://mailman.archlinux.org/mailman/listinfo/pacman-dev/[Subscribe] or
193 link:https://mailman.archlinux.org/pipermail/pacman-dev/[view the archives].
197 Development of pacman is currently done in GIT. The central repository is
198 hosted by Arch Linux, although some of the developers have their own trees (ask
199 on the above mailing lists if you are interested in finding the locations of
202 The current development tree can be fetched with the following command:
204 git clone git://projects.archlinux.org/pacman.git pacman
206 which will fetch the full development history into a directory named pacman.
207 You can browse the source as well using
208 link:https://projects.archlinux.org/pacman.git/[cgit]. HTTP/HTTPS URLs are also
209 available for cloning purposes; these URLs are listed at the above page.
211 If you are interested in hacking on pacman, it is highly recommended you join
212 the mailing list mentioned above, as well as take a quick glance at our
213 link:HACKING.html[HACKING] document.
214 link:submitting-patches.html[submitting-patches] is also a recommended read.
216 Not as familiar with code as you'd like to be, but still want to help out? If
217 you speak a foreign language, you can help by either creating or updating a
218 translation file for your native language. Instructions can be found in
219 link:translation-help.html[translation-help].
223 Although the package manager itself is quite simple, many scripts have been
224 developed that help automate building and installing packages. These are used
225 extensively in link:https://www.archlinux.org/[Arch Linux]. Most of these utilities
226 are available in the Arch Linux projects
227 link:https://projects.archlinux.org/[code browser].
231 * link:https://projects.archlinux.org/abs.git/[abs] - ABS (Arch Build System), scripts to download & use the Arch Linux PKGBUILD tree
232 * link:https://projects.archlinux.org/dbscripts.git/[dbscripts] - scripts used by Arch Linux to manage the main package repositories
233 * link:https://projects.archlinux.org/devtools.git/[devtools] - tools to assist in packaging and dependency checking
234 * link:https://projects.archlinux.org/namcap.git/[namcap] - a package analysis utility written in python
235 * link:https://projects.archlinux.org/srcpac.git/[srcpac] - a bash build-from-source pacman wrapper
239 If you find bugs (which is quite likely), please email them to the pacman-dev
240 mailing last at mailto:pacman-dev@archlinux.org[] with specific information
241 such as your commandline, the nature of the bug, and even the package database
244 You can also post a bug to the Arch Linux bug tracker
245 link:https://bugs.archlinux.org/index.php?project=3[Flyspray]. Be sure to file
246 bugs under the Pacman project.
250 pacman is Copyright (C) 2006-2013 Pacman Development Team
251 <pacman-dev@archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
252 <jvinet@zeroflux.org> and is licensed through the GNU General Public License,
256 vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us: