dpkg (1.18.25) stretch; urgency=medium
[dpkg] / README
CommitLineData
1479465f
GJ
1dpkg - Debian's package maintenance system
2
3The primary interface for the dpkg suite is the ‘dselect’ program;
4a more low-level and less user-friendly interface is available in
5the form of the ‘dpkg’ command.
6
7
8Releases
9--------
10
11The current legacy, stable and development releases can be found at:
12
13 <http://ftp.debian.org/debian/pool/main/d/dpkg/>
14
15For older releases check:
16
17 <http://snapshot.debian.org/package/dpkg/>
18
19
20Mailing List
21------------
22
23The subscription interface and web archives can be found at:
24
25 <https://lists.debian.org/debian-dpkg/>
26
27The mailing list address is (no subscription required to post):
28
29 debian-dpkg@lists.debian.org
30
31
32Source Repository
33-----------------
34
35 <https://git.dpkg.org/cgit/dpkg/dpkg.git>
36
37
38Building from git source
39------------------------
40
41To prepare the dpkg source tree from git before starting the build process
42some required software needs to be installed:
43
44 GNU autoconf >= 2.60
45 GNU automake >= 1.11
46 GNU libtool >= 2.0
47 GNU gettext >= 0.19 (or just autopoint if using --disable-nls)
48
49After installing the needed software, and running the following command on
50the git tree:
51
52 $ autoreconf -f -i
53
54the source should be roughly equivalent to the distributed tar source.
55
56To enable translated documentation this software will be needed:
57
58 po4a >= 0.43
59
60
61Building from tar source
62------------------------
63
64The minimum software required to configure and build dpkg from a tarball is:
65
66 C89 compiler with few C99 extensions (see doc/coding-style.txt)
67 perl (see doc/coding-style.txt)
68 pkg-config
69 GNU make
70
71To enable optional functionality or programs, this software might be needed:
72
73 libmd (used by libdpkg, currently falling back to embedded code)
74 libz (from zlib, used instead of gzip command-line tool)
75 liblzma (from xz utils, used instead of xz command-line tool)
76 libbz2 (from bzip2, used instead of bzip2 command-line tool)
77 libselinux
78 curses compatible library (needed on --enable-dselect)
79
80To run the test suite («make check»):
81
82 IO-String perl module (optional)
83 Test::MinimumVersion perl module (optional, author)
84 Test::Pod perl module (optional)
85 Test::Spelling perl module (optional, author)
86 Test::Strict perl module (optional)
87 Test::Synopsis perl module (optional, author)
88 Test::Perl::Critic perl module (optional, author)
89 aspell (optional, author)
90 aspell-en (optional, author)
91
92 Define the environment variable DPKG_DEVEL_MODE or AUTHOR_TESTING to run
93 the test suite in development mode, to include tests that might not be
94 pertinent during normal release builds.
95
96To enable additional developer's documentation («make doc») this software
97will be needed:
98
99 pod2man
100 doxygen
101 dot
102
103To enable code coverage («./configure --enable-coverage; make coverage»)
104this software is needed:
105
106 lcov (from the Linux Test Project)
107 Devel-Cover perl module
108
109The build process is done by running the usual «./configure; make». To
110see all available configuration options please run «./configure --help».
111The following configure options might be of interest to disable specific
112programs:
113
114 --disable-dselect
115 --disable-start-stop-daemon
116 --disable-update-alternatives
117
118And the following to disable modifications to the build flags:
119
120 --disable-compiler-warnings
121 --disable-compiler-optimizations
122 --disable-linker-optimizations