index.asciidoc 7 KB
Newer Older
1
2
3
Pacman Home Page
================

4
A simple library-based package manager.
5
6
7
8
9
10
11
12
13
14
15
16
17
18

Introduction
------------
pacman is a utility which manages software packages in Linux. It uses simple
compressed files as a package format, and maintains a text-based package
database (more of a hierarchy), just in case some hand tweaking is necessary.

pacman does not strive to "do everything." It will add, remove and upgrade
packages in the system, and it will allow you to query the package database for
installed packages, files and owners. It also attempts to handle dependencies
automatically and can download packages from a remote server.

History
~~~~~~~
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
22
this, packages would have to be installed manually using the '\--add' and
'\--upgrade' operations.
23

24
25
Version 3.0 was the switch to a two-part pacman -- a back-end named libalpm
(library for Arch Linux Package Management) and the familiar pacman front-end.
26
27
28
29
30
Speed in many cases was improved, along with dependency and conflict resolution
being able to handle a much wider variety of cases. The switch to a
library-based program should also make it easier in the future to develop
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.
33

34
35
36
Version 5.0 added support for pre/post-transaction hooks and sync database file
list operations.

37
38
39
Documentation
-------------

40
41
42
Man Pages
~~~~~~~~~
There are several man pages available for the programs, utilities, and
43
44
configuration files dealing with pacman.

45
* linkman:alpm-hooks[5]
46
* linkman:BUILDINFO[5]
47
48
49
* linkman:PKGBUILD[5]
* linkman:libalpm[3]
* linkman:makepkg[8]
50
* linkman:makepkg-template[1]
51
52
* linkman:makepkg.conf[5]
* linkman:pacman[8]
Dan McGee's avatar
Dan McGee committed
53
* linkman:pacman-key[8]
54
* linkman:pacman-conf[8]
55
56
* linkman:pacman.conf[5]
* linkman:repo-add[8]
Dan McGee's avatar
Dan McGee committed
57
* linkman:vercmp[8]
58
59
60
61

Changelog
~~~~~~~~~
For a good idea of what is going on in pacman development, take a look at the
62
link:https://gitlab.archlinux.org/pacman/pacman[Git summary page] for the
Dan McGee's avatar
Dan McGee committed
63
project.
64
65

See the most recent
66
link:https://gitlab.archlinux.org/pacman/pacman/-/blob/master/NEWS[NEWS]
67
68
69
70
71
72
73
file for a not-as-frequently-updated list of changes. However, this should
contain the biggest changes in a format more concise than the commit log.


Releases
--------

74
75
76
77
78
79
[frame="none",grid="none",options="autowidth",cols="3*a"]
|======
|
[frame="topbot",grid="none",options="header,autowidth"]
!======
!Version !Date
Allan McRae's avatar
Allan McRae committed
80
!6.0.1  !2021-09-04
Allan McRae's avatar
Allan McRae committed
81
82
!6.0.0  !2021-05-20
!6.0.0alpha1 !2020-12-04
Allan McRae's avatar
Allan McRae committed
83
!5.2.1  !2019-11-01
Allan McRae's avatar
Allan McRae committed
84
85
!5.2.0  !2019-10-21
!5.1.3  !2019-03-01
Andrew Gregory's avatar
Andrew Gregory committed
86
!5.1.2  !2018-12-25
Allan McRae's avatar
Allan McRae committed
87
!5.1.1  !2018-07-27
88
!5.1.0  !2018-05-28
Andrew Gregory's avatar
Andrew Gregory committed
89
!5.0.2  !2017-06-03
Allan McRae's avatar
Allan McRae committed
90
!5.0.1  !2016-02-23
91
!5.0.0  !2016-01-30
Allan McRae's avatar
Allan McRae committed
92
93
!4.2.1  !2015-02-20
!4.2.0  !2014-12-19
Allan McRae's avatar
Allan McRae committed
94
!4.1.2  !2013-06-18
95
!4.1.1  !2013-05-07
Allan McRae's avatar
Allan McRae committed
96
97
!4.1.0  !2013-04-01
!4.1.0rc1 !2013-03-09
Allan McRae's avatar
Allan McRae committed
98
99
!4.0.3 !2012-04-07
!4.0.2 !2012-02-11
Dan McGee's avatar
Dan McGee committed
100
101
!4.0.1 !2011-11-20
!4.0.0 !2011-10-13
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
!4.0.0rc2 !2011-09-22
!4.0.0rc1 !2011-08-11
!3.5.4 !2011-08-10
!3.5.3 !2011-06-07
!3.5.2 !2011-04-18
!3.5.1 !2011-03-23
!3.5.0 !2011-03-16
!3.4.3 !2011-01-22
!3.4.2 !2010-12-29
!3.4.1 !2010-09-03
!3.4.0 !2010-06-16
!3.3.3 !2009-11-10
!3.3.2 !2009-10-05
!3.3.1 !2009-09-22
!3.3.0 !2009-08-02
!3.2.2 !2009-01-05
!3.2.1 !2008-08-26
!3.2.0 !2008-07-30
!3.1.4 !2008-04-01
!======
|
[frame="topbot",grid="none",options="header,autowidth"]
!======
!Version !Date
126
127
128
!3.1.3 !2008-03-06
!3.1.2 !2008-02-20
!3.1.1 !2008-01-20
129
130
131
132
133
134
135
136
!3.1.0 !2008-01-09
!3.0.6 !2007-09-16
!3.0.5 !2007-06-17
!3.0.4 !2007-05-08
!3.0.3 !2007-04-28
!3.0.2 !2007-04-23
!3.0.1 !2007-04-04
!3.0.0 !2007-03-25
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
!2.9.8 !2006-02-02
!2.9.7 !2005-09-16
!2.9.7-TEST3 !2005-09-11
!2.9.7-TEST2 !2005-09-07
!2.9.7-TEST !2005-08-19
!2.9.6 !2005-06-10
!2.9.5 !2005-01-11
!2.9.4 !2004-12-20
!2.9.3 !2004-12-19
!2.9.2 !2004-09-25
!2.9.1 !2004-09-25
!2.9 !2004-09-18
!2.8.4 !2004-08-23
!2.8.3 !2004-08-04
!2.8.2 !2004-07-22
!2.8.1 !2004-07-17
!2.8 !2004-07-03
!2.7.9 !2004-04-30
!2.7.8 !2004-04-29
!======
|
[frame="topbot",grid="none",options="header,autowidth"]
!======
!Version !Date
161
!2.7.7 !2004-04-15
162
163
164
165
!2.7.6 !2004-04-04
!2.7.5 !2004-03-02
!2.7.4 !2004-02-18
!2.7.3 !2004-02-07
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
!2.7.2 !2004-01-04
!2.7.1 !2003-12-21
!2.7 !2003-11-25
!2.6.4 !2003-10-17
!2.6.3 !2003-10-01
!2.6.2 !2003-09-29
!2.6.1 !2003-09-15
!2.6 !2003-09-03
!2.5.1 !2003-07-12
!2.5 !2003-05-30
!2.4.1 !2003-04-19
!2.4 !2003-04-11
!2.3.2 !2003-03-17
!2.3.1 !2003-03-14
!2.3 !2003-02-27
!2.2 !2002-12-11
!2.1 !2002-09-16
!2.0 !2002-08-09
!1.23 !2002-04-30
!1.22 !2002-04-12
!1.21 !2002-04-03
!1.2 !2002-03-18
!1.1 !2002-03-10
!1.0 !2002-02-25
!======

|======
193
194

Source code for all releases is available at
Allan McRae's avatar
Allan McRae committed
195
link:https://sources.archlinux.org/other/pacman/[]. To install, download the newest
196
197
198
available source tarball, unpack it in a directory, and run the three magic
commands:

Allan McRae's avatar
Allan McRae committed
199
200
201
	$ meson build
	$ ninja -C build
	# ninja -C build install
202

Allan McRae's avatar
Allan McRae committed
203
You may wish to read the options presented by `meson` in order to
204
205
206
207
208
209
210
211
set appropriate paths and build options that are correct for your system.

Development
-----------

Mailing List
~~~~~~~~~~~~
There is a mailing list devoted to pacman development, hosted by Arch Linux.
212
213
link:https://lists.archlinux.org/listinfo/pacman-dev/[Subscribe] or
link:https://lists.archlinux.org/pipermail/pacman-dev/[view the archives].
214
215
216

Source Code
~~~~~~~~~~~
217
Development of pacman is currently done in Git. The central repository is
218
219
220
221
222
223
hosted by Arch Linux, although some of the developers have their own trees (ask
on the above mailing lists if you are interested in finding the locations of
these trees).

The current development tree can be fetched with the following command:

224
	git clone https://gitlab.archlinux.org/pacman/pacman.git
225
226
227

which will fetch the full development history into a directory named pacman.
You can browse the source as well using
228
link:https://gitlab.archlinux.org/pacman/pacman/[gitlab].
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243

If you are interested in hacking on pacman, it is highly recommended you join
the mailing list mentioned above, as well as take a quick glance at our
link:HACKING.html[HACKING] document.
link:submitting-patches.html[submitting-patches] is also a recommended read.

Not as familiar with code as you'd like to be, but still want to help out? If
you speak a foreign language, you can help by either creating or updating a
translation file for your native language. Instructions can be found in
link:translation-help.html[translation-help].

Bugs
----
If you find bugs (which is quite likely), please email them to the pacman-dev
mailing last at mailto:pacman-dev@archlinux.org[] with specific information
244
such as your command-line, the nature of the bug, and even the package database
245
246
if it helps.

Dan McGee's avatar
Dan McGee committed
247
You can also post a bug to the Arch Linux bug tracker
Dan McGee's avatar
Dan McGee committed
248
link:https://bugs.archlinux.org/index.php?project=3[Flyspray]. Be sure to file
249
250
251
252
bugs under the Pacman project.

Copyright
---------
Allan McRae's avatar
Allan McRae committed
253
pacman is Copyright (C) 2006-2021 Pacman Development Team
254
255
256
<pacman-dev@archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
<jvinet@zeroflux.org> and is licensed through the GNU General Public License,
version 2 or later.