summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:58:51 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 14:58:51 +0000
commitcbffab246997fb5a06211dfb706b54e5ae5bb59f (patch)
tree0573c5d96f58d74d76a49c0f2a70398e389a36d3 /README
parentInitial commit. (diff)
downloaddpkg-upstream.tar.xz
dpkg-upstream.zip
Adding upstream version 1.21.22.upstream/1.21.22upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--README142
-rw-r--r--README.l10n61
2 files changed, 203 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..e791ef5
--- /dev/null
+++ b/README
@@ -0,0 +1,142 @@
+dpkg - Debian's package maintenance system
+
+This is the dpkg suite of programs that form the foundation of the Debian's
+package management system; on the lower layer there are ‘dpkg-deb’ and
+‘dpkg-split’ programs handling the binary formats, and ‘dpkg-source’ program
+handling the source formats; there is a collection of tools to handle building
+source packages into binary packages; there is the medium-level and less
+user-friendly command-line interface (CLI) in the form of the ‘dpkg’ command;
+and then there is the terminal user interface (TUI) ‘dselect’ program (which
+has gone out of preference in favor of the apt (CLI) and aptitude (TUI)
+programs).
+
+The dpkg suite also includes some other programs currently maintained
+on external repositories, namely ‘dpkg-repack’, ‘dpkg-www’, ‘dupload’
+and ‘debsig-verify’.
+
+
+Releases
+--------
+
+The current legacy, stable and development releases can be found at:
+
+ <https://deb.debian.org/debian/pool/main/d/dpkg/>
+
+For older releases check:
+
+ <https://snapshot.debian.org/package/dpkg/>
+
+
+Mailing List
+------------
+
+The subscription interface and web archives can be found at:
+
+ <https://lists.debian.org/debian-dpkg/>
+
+The mailing list address is (no subscription required to post):
+
+ debian-dpkg@lists.debian.org
+
+
+Source Repository
+-----------------
+
+The primary repository can be browsed and cloned from:
+
+ <https://git.dpkg.org/git/dpkg/dpkg.git>
+
+
+Building from git source
+------------------------
+
+To prepare the dpkg source tree from git before starting the build process
+some required software needs to be installed:
+
+ GNU autoconf >= 2.60
+ GNU automake >= 1.11
+ GNU libtool >= 2.0
+ GNU autopoint >= 0.19.7 (from GNU gettext)
+ GNU gettext >= 0.19.7 (only with --enable-nls)
+
+After installing the needed software, and running the following command on
+the git tree:
+
+ $ ./autogen
+
+the source should be roughly equivalent to the distributed tar source.
+
+To enable translated documentation this software will be needed:
+
+ po4a >= 0.59
+
+
+Building from tar source
+------------------------
+
+The minimum software required to configure and build dpkg from a tarball is:
+
+ C89 compiler with few C99 extensions (see doc/coding-style.txt)
+ perl (see doc/coding-style.txt)
+ pkg-config
+ GNU make
+
+To enable optional functionality or programs, this software might be needed:
+
+ libmd (used by libdpkg, required if libc is missing digest functions)
+ libz (from zlib, used instead of gzip command-line tool)
+ liblzma (from xz utils, used instead of xz command-line tool)
+ libzstd (from libzstd, used instead of zstd command-line tool)
+ libbz2 (from bzip2, used instead of bzip2 command-line tool)
+ libselinux
+ curses compatible library (needed on --enable-dselect)
+
+To run the test suite («make check» or «make authorcheck» for author tests,
+those that might not be pertinent during release builds) the following
+software might be needed:
+
+ Test::MinimumVersion perl module (optional, author)
+ Test::Pod perl module (optional)
+ Test::Pod::Coverage perl module (optional, author)
+ Test::Spelling perl module (optional, author)
+ Test::Strict perl module (optional)
+ Test::Synopsis perl module (optional, author)
+ Test::Perl::Critic perl module (optional, author)
+ aspell (optional, author)
+ aspell-en (optional, author)
+ codespell (optional, author)
+ cppcheck (optional, author)
+ fakeroot (optional)
+ sop [sqop (from Sequoia-PGP), pgpainless-cli] (optional)
+ sq (from Sequoia-PGP, optional)
+ gpg (optional)
+ i18nspector (optional, author)
+ shellcheck (optional, author)
+
+To enable additional developer's documentation («make doc») this software
+will be needed:
+
+ pod2man
+ doxygen
+ dot
+
+To enable code coverage («./configure --enable-coverage; make coverage»)
+this software is needed:
+
+ lcov (from the Linux Test Project)
+ Devel-Cover perl module
+
+The build process is done by running the usual «./configure; make». To
+see all available configuration options please run «./configure --help».
+The following configure options might be of interest to disable specific
+programs:
+
+ --disable-dselect
+ --disable-start-stop-daemon
+ --disable-update-alternatives
+
+And the following to disable modifications to the build flags:
+
+ --disable-compiler-warnings
+ --disable-compiler-optimizations
+ --disable-linker-optimizations
diff --git a/README.l10n b/README.l10n
new file mode 100644
index 0000000..e41c633
--- /dev/null
+++ b/README.l10n
@@ -0,0 +1,61 @@
+Translators, when adding/updating your translation files, please follow
+the following rules:
+
+* Do not update debian/changelog:
+
+ - The file will get generated out of the commit messages at release time.
+ - Beware that you should NOT update any of the legacy ChangeLog.old
+ files for translation updates.
+
+* Format of commit message
+
+ Following guidelines in <https://wiki.debian.org/Teams/Dpkg/GitUsage>
+ you should start the commit message with a summary line, followed by an
+ empty line and optional pseudo-headers.
+
+ The summary line should use the following format:
+
+ «po: <Action> <Language> [<part> ]translation»
+
+ Where:
+
+ - <Action> is one of “Update” or “Add”,
+ - <Language> should be capitalized (such as “English”),
+ - <part> should be one of «programs» (for lib/, src/ and utils/), «dselect»,
+ «scripts» and «man pages» (man/), or not be set if the commit includes
+ changes to various parts.
+
+ For example:
+
+==========================================================
+po: Update German programs translation
+
+Closes: #123456
+Reviewed-by: Full Name <email@example.org>
+==========================================================
+
+* Use of po/LINGUAS, dselect/po/LINGUAS or scripts/po/LINGUAS:
+
+ When ADDING a new translation, don't forget adding the language to
+ the LINGUAS file, otherwise it will not be used.
+
+* Always CHECK your translations:
+
+ You MUST check your PO files for validity.
+
+ The correct syntax for doing so is:
+
+ $ msgmerge --update <file> dpkg.pot
+ $ msgfmt --check --output-file /dev/null --statistics <file>
+ $ msgcat <file> >/dev/null
+
+ - msgmerge updates your file with the current POT file.
+ - msgfmt checks it for validity.
+ - msgcat may detect encoding problems.
+
+ In addition to the above, the easiest way to check that the po4a
+ translations have valid POD markup, is to try to build them (please
+ see the Building sections in the README file for further details
+ regarding the setup of the source tree):
+
+ $ make -C man