xref: /dpkg/
Name Date Size

..29-Nov-20194 KiB

.gitignoreH A D26-Jun-2019261

.gitlab-ci.ymlH A D26-Jun-20191.5 KiB

.mailmapH A D26-Jun-20191.2 KiB

AUTHORSH A D26-Jun-20191.2 KiB

autogenH A D26-Jun-201936

ChangeLog.oldH A D26-Jun-2019626.3 KiB

check.amH A D26-Jun-20191.7 KiB

configure.acH A D31-Oct-20197 KiB

COPYINGH A D26-Jun-201917.6 KiB

cpan.amH A D26-Jun-20191.7 KiB

data/H26-Jun-20194 KiB

debian/H16-Jan-20204 KiB

doc/H31-Oct-20194 KiB

dpkg-deb/H31-Oct-20194 KiB

dpkg-split/H31-Oct-20194 KiB

dselect/H26-Nov-20194 KiB

get-versionH A D26-Jun-20191.4 KiB

lib/H26-Jun-20194 KiB

m4/H31-Oct-20194 KiB

Makefile.amH A D26-Nov-20194.9 KiB

man/H26-Nov-20194 KiB

NEWSH A D26-Jun-201962

po/H26-Dec-20194 KiB

READMEH A D26-Jun-20193.5 KiB

README.l10nH A D26-Jun-20192.6 KiB

run-scriptH A D26-Jun-2019442

scripts/H26-Nov-20194 KiB

src/H26-Nov-20194 KiB

t/H26-Nov-20194 KiB

t-func/H26-Jun-20194 KiB

THANKSH A D26-Jun-20196.4 KiB

TODOH A D26-Jun-20195.2 KiB

utils/H31-Oct-20194 KiB

README

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 autopoint >= 0.19.7 (from GNU gettext)
48  GNU gettext >= 0.19.7 (only with --enable-nls)
49
50After installing the needed software, and running the following command on
51the git tree:
52
53  $ ./autogen
54
55the source should be roughly equivalent to the distributed tar source.
56
57To enable translated documentation this software will be needed:
58
59  po4a >= 0.43
60
61
62Building from tar source
63------------------------
64
65The minimum software required to configure and build dpkg from a tarball is:
66
67  C89 compiler with few C99 extensions (see doc/coding-style.txt)
68  perl (see doc/coding-style.txt)
69  pkg-config
70  GNU make
71
72To enable optional functionality or programs, this software might be needed:
73
74  libmd (used by libdpkg, currently falling back to embedded code)
75  libz (from zlib, used instead of gzip command-line tool)
76  liblzma (from xz utils, used instead of xz command-line tool)
77  libbz2 (from bzip2, used instead of bzip2 command-line tool)
78  libselinux
79  curses compatible library (needed on --enable-dselect)
80
81To run the test suite («make check»):
82
83  Test::MinimumVersion perl module (optional, author)
84  Test::Pod perl module (optional)
85  Test::Pod::Coverage perl module (optional, author)
86  Test::Spelling perl module (optional, author)
87  Test::Strict perl module (optional)
88  Test::Synopsis perl module (optional, author)
89  Test::Perl::Critic perl module (optional, author)
90  aspell (optional, author)
91  aspell-en (optional, author)
92  codespell (optional, author)
93  cppcheck (optional, author)
94  fakeroot (optional)
95  gpg (optional)
96  i18nspector (optional, author)
97  shellcheck (optional, author)
98
99  Define the environment variable DPKG_DEVEL_MODE or AUTHOR_TESTING to run
100  the test suite in development mode, to include tests that might not be
101  pertinent during normal release builds.
102
103To enable additional developer's documentation («make doc») this software
104will be needed:
105
106  pod2man
107  doxygen
108  dot
109
110To enable code coverage («./configure --enable-coverage; make coverage»)
111this software is needed:
112
113  lcov (from the Linux Test Project)
114  Devel-Cover perl module
115
116The build process is done by running the usual «./configure; make». To
117see all available configuration options please run «./configure --help».
118The following configure options might be of interest to disable specific
119programs:
120
121  --disable-dselect
122  --disable-start-stop-daemon
123  --disable-update-alternatives
124
125And the following to disable modifications to the build flags:
126
127  --disable-compiler-warnings
128  --disable-compiler-optimizations
129  --disable-linker-optimizations
130

README.l10n

1Translators, when adding/updating your translation files, please follow
2the following rules:
3
4* Update debian/changelog:
5
6  - Beware that you should NOT update any of the legacy ChangeLog.old
7    files for translation updates.
8
9* Format of entries in debian/changelog:
10
11  Translation updates should go in a dedicated "[ Updated foo translations ]"
12  section:
13
14==========================================================
15dpkg (1.13.15) unstable; urgency=low
16
17  .../...
18
19  [ Updated programs translations ]
20  * Catalan (Jordi Mallach).
21  * Portuguese (Miguel Figueiredo).
22  * Swedish (Daniel Nylander).
23==========================================================
24
25  New translations should go in a dedicated section named
26  "[ New scripts translations ]":
27
28==========================================================
29dpkg (1.13.15) unstable; urgency=low
30
31  .../...
32
33  [ New dselect translations ]
34  * Vogon (Douglas Adams).
35==========================================================
36
37  This file contents MUST be encoded in UTF-8, and the entries inserted
38  in language alphabetical order.
39
40* Format of commit message
41
42  The formats above only apply to the debian/changelog file.
43  They do not apply to the commit message. Following recommendations
44  of <https://wiki.debian.org/Teams/Dpkg/GitUsage> you should start the
45  commit message with a summary line, followed by an empty line and a
46  a detailed/long description. For example:
47
48==========================================================
49Update German translation of manual pages
50
51Update to 1354t.
52==========================================================
53
54  Note that the update should mention the file statistics as XXXtYYYfZZZu.
55
56  "XXXt" means "XXX translated strings".
57  "YYYf" means "YYY fuzzy strings strings".
58  "ZZZu" means "ZZZ untranslated strings".
59  YYY or ZZZ may be omitted if they are null.
60
61* Use of po/LINGUAS, dselect/po/LINGUAS or scripts/po/LINGUAS:
62
63  When ADDING a new translation, don't forget adding the language to
64  the LINGUAS file, otherwise it will not be used.
65
66* Always CHECK your translations:
67
68  You MUST check your PO files for validity.
69
70  The correct syntax for doing so is:
71
72  $ msgmerge -U <file> dpkg.pot
73  $ msgfmt -c -o /dev/null --statistics <file>
74  $ msgcat <file> >/dev/null
75
76  - msgmerge updates your file with the current POT file.
77  - msgfmt checks it for validity.
78  - msgcat may detect encoding problems.
79
80  In addition to the above, the easiest way to check that the po4a
81  translations have valid POD markup, is to try to build them (please
82  see the Building sections in the README file for further details
83  regarding the setup of the source tree):
84
85  $ make -C man
86