From 9935716145c185c0ee2fdaa23dfc6ed508bb439da0c4d7aaf335207216e85c87 Mon Sep 17 00:00:00 2001 From: Martin Schreiner Date: Sun, 11 Aug 2024 14:33:46 +0000 Subject: [PATCH] - Update to version 1.22.11. The full changelog is very large. Please check it here: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.11 - Changes from 1.22.10: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.10 - Changes from 1.22.9: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.9 - Changes from 1.22.8: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.8 - Changes from 1.22.7: https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.7 - Refresh patch: * openssl.patch OBS-URL: https://build.opensuse.org/package/show/system:packagemanager/dpkg?expand=0&rev=111 --- .gitattributes | 23 + .gitignore | 1 + _multibuild | 4 + dpkg.changes | 2881 +++++++++++++++++++++++ dpkg.spec | 188 ++ dpkg_1.22.11.tar.xz | 3 + dpkg_1.22.6.tar.xz | 3 + drop-tar-option.patch | 27 + ncurses-fix.patch | 21 + openssl.patch | 96 + sensible-editor | 32 + update-alternatives-slavetomaster.patch | 28 + update-alternatives-suse.patch | 70 + update-alternatives.changes | 2104 +++++++++++++++++ update-alternatives.spec | 103 + 15 files changed, 5584 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 dpkg.changes create mode 100644 dpkg.spec create mode 100644 dpkg_1.22.11.tar.xz create mode 100644 dpkg_1.22.6.tar.xz create mode 100644 drop-tar-option.patch create mode 100644 ncurses-fix.patch create mode 100644 openssl.patch create mode 100644 sensible-editor create mode 100644 update-alternatives-slavetomaster.patch create mode 100644 update-alternatives-suse.patch create mode 100644 update-alternatives.changes create mode 100644 update-alternatives.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..b1e58fc --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + update-alternatives + + diff --git a/dpkg.changes b/dpkg.changes new file mode 100644 index 0000000..8f775f3 --- /dev/null +++ b/dpkg.changes @@ -0,0 +1,2881 @@ +------------------------------------------------------------------- +Sun Aug 11 14:16:59 UTC 2024 - Martin Schreiner + +- Update to version 1.22.11. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.11 +- Changes from 1.22.10: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.10 +- Changes from 1.22.9: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.9 +- Changes from 1.22.8: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.8 +- Changes from 1.22.7: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.7 +- Refresh patch: + * openssl.patch + +------------------------------------------------------------------- +Wed Apr 10 02:52:20 UTC 2024 - Martin Schreiner + +- Update to version 1.22.6. + The changelog for this version isn't very large, so it's provided in full: + * dpkg-deb: Fix up compressor parameters for default legacy format. + * Perl modules: + - Dpkg::Vendor::Debian: Make it possible to disable qa=-bug-implicit-func. + - Dpkg::Vendor::Debian: Unconditionally set qa bug-implicit-func. + * Documentation: + - man: Document dpkg versions supporting SOURCE_DATE_EPOCH for various + tools. + * Code internals: + - libdpkg: Use array access instead of pointer arithmetic for meminfo + parser. + - libdpkg: Use a macro to define the zstd default compression level. + * Build system: + - Test with minimal library dependencies in CI. + - Add gen-release script. + * Packaging: + - Fix typo in man page reference in changelog. + * Test suite: + - Refactor OpenPGP backend and commands list. + - Refactor certfile and keyfile filenames for OpenPGP test. + - Skip OpenPGP tests if the backend does not have a verify command. + * Localization: + - Fix typos in Swedish man pages translations. + - Fix typos in Swedish man pages translations. + - Update Dutch man pages translations. + - Update Portuguese man pages translations. + - Update German man pages translation. + +------------------------------------------------------------------- +Mon Mar 11 03:51:46 UTC 2024 - Martin Schreiner + +- Update to version 1.22.5. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.5 + Version 1.22.5 includes all the changes from 1.22.4 and 1.22.3. + These may be found here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.4 + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.3 +- Refresh openssl.patch so it would apply cleanly. + +------------------------------------------------------------------- +Tue Feb 27 18:43:19 UTC 2024 - Martin Schreiner + +- Prepare for RPM 4.20. + +------------------------------------------------------------------- +Sun Dec 31 15:35:34 UTC 2023 - Martin Schreiner + +- Update to version 1.22.2. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.2 + +------------------------------------------------------------------- +Wed Nov 22 20:45:45 UTC 2023 - Martin Schreiner + +- Update to version 1.22.1. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.1 +- Refresh update-alternatives-suse.patch so it applies cleanly. + +------------------------------------------------------------------- +Mon Sep 18 04:57:23 UTC 2023 - Martin Schreiner + +- Update to version 1.22.0. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.0 +- Refresh openssl.patch so it works on 1.22.0. + +------------------------------------------------------------------- +Thu Jul 20 11:25:20 UTC 2023 - Adam Majer + +- openssl.patch: use openssl library for MD5 calculation instead + of relying on libmd. libmd is not in Ring0 +- require Perl 5.28.1 or later + +------------------------------------------------------------------- +Wed Jun 7 11:15:53 UTC 2023 - pgajdos@suse.com + +- version update to 1.21.22 + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog + +------------------------------------------------------------------- +Thu May 4 14:28:36 UTC 2023 - Frederic Crozat + +- Add _multibuild to define additional spec files as additional + flavors. + Eliminates the need for source package links in OBS. + +------------------------------------------------------------------- +Fri May 27 09:40:32 UTC 2022 - pgajdos@suse.com + +- version update to 1.21.8 + * fix CVE-2022-1664 [bsc#1199944], dpkg -- security update + * lot of changes, see changelog +- modified patches + % update-alternatives-suse.patch (refreshed) + +------------------------------------------------------------------- +Mon Jan 3 12:15:28 UTC 2022 - Dan Čermák + +- rebase patches: + * update-alternatives.changes + * update-alternatives.spec + * update-alternatives-suse.patch + +- New upstream release 1.21.1 + +dpkg (1.21.1) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-buildpackage: Remove duplicate command print for dpkg-genchanges. + * dpkg-buildpackage: Fix build description due to improper multiline match. + * dpkg-realpath: Remove spurious heading space from --help output. + * update-alternatives: When initializing admindir from DPKG_ADMINDIR append + "/alternatives". Closes: #1001198 + * Code internals: + - Remove inclusions. + * Packaging: + - Install deb-md5sums(5) into dpkg-dev package. + +dpkg (1.21.0) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-genchanges: Include orig tarball on source package renames. + Closes: #980066 + * scripts: Consider SHA-1 and RIPEMD-160 weak algorithms in OpenPGP + signatures. + * dpkg: During unpack print a removal message due to Conflicts. + Closes: #985401 + * scripts: Add zsh completions for dpkg-parsechangelog. + Thanks to Daniel Shahaf . Closes: #986103 + * dpkg-buildpackage: When printing build type match the extension exactly. + Closes: #989824 + * dpkg-maintscript-helper: Use xargs -I argument instead of deprecated -i. + * dpkg-maintscript-helper: Quote variable inside ${} to avoid pattern match. + * libdpkg: Fix dpkg_fsys_get_path() to always strip leading / and ./. + * libdpkg: Set the default database directory relative to the system root. + * dpkg-divert, dpkg-statoverride: Set admindir after instdir. + * update-alternatives: Fix admindir setting. + Prompted by Johannes Schauer Marin Rodrigues . + * dselect: Honor DPKG_ADMINDIR environment variable. + * dpkg-query, dpkg-trigger, dselect: Add support for setting the root + directory. + * dpkg-fsys-usrunmess: Move forced reconfiguration to the last step. + See #991190. + * dpkg-fsys-usrunmess: Install a local policy-rc.d to ignore service + restarts. Closes: #991190 + * dpkg-fsys-usrunmess: Do not fail when removing lingering directories. + * dpkg-fsys-usrunmess: Generate a regression prevention package. + * dpkg-fsys-usrunmess: Fix typo in debug message. + * dpkg: Distinguish deconfiguration message for installation and multi-arch + syncs. + * dpkg-buildpackage: Add new --changes-file option. + Prompted by Niels Thykier . + * dpkg-buildpackage: Add new --buildinfo-file option. + * dpkg: Rework --assert- logic to be more robust. + Prompted by Helmut Grohne . + Prompted by David Kalnischkies . + * dpkg: Improve --assert- descriptions. + * dpkg: Add a new --assert-help option. + * scripts/mk: Pass DEB_BUILD_PATH to dpkg-buildflags. See #985553. + * dpkg-db-backup: New program factored out from Debian-specific daily cron. + * dpkg-db-backup: Accept an option to override the number of rotation cycles. + * dpkg-db-backup: Honor the admindir set at configure time. + * update-alternatives: Fix --auto and --set-selections output progress. + * update-alternatives: Print defaults for configuration and database + pathnames. + * scripts: Replace shebang in dpkg-error shell library with shellcheck + directive. + * dpkg-buildpackage: Add support for terse DEB_BUILD_OPTIONS. + * dpkg-mergechangelogs: Add new --merge-unreleased option. Closes: #582921 + * dpkg: Restore fallback to "new-prerm failed-upgrade" for downgrades. + Analysis by Ian Jackson . Closes: #996959 + * dselect: Use safe temporary file creation in methods setup. + * dselect: Remove bashism from update script in multicd method. + * dpkg: Fix --verify to handle missing or inaccessible pathnames. + Closes: #963087 + * dpkg: Add partial --verify support for mode checks. + * Use «digest» instead of «hash» in output messages. + Reported by Sven Joachim . + * dselect: use `grep -E` instead of `egrep`. + Thanks to Ville Skyttä . Closes: #999600 + * libdpkg: Fix memory leak on End Of Tape condition in tar parser. + * dpkg: Fix short lived memory leak with --recursive. + * dpkg: Fix conffile removal-on-upgrade handling. Closes: #995387 + * dpkg-deb: Fix conffile name length tracking on remove-on-upgrade parsing. + Reported by uau on IRC. + * Architecture support: + - Clarify that the regex columns need to be ordered to match first. + - Add support for ARCv2 CPU. Closes: #980963 + Based on a patch by Alexey Brodkin . + * Portability: + - start-stop-daemon: Define SOCK_NONBLOCK to 0 if not defined. + - libdpkg: Add support for AIX to dpkg_get_progname(). + * Perl modules: + - Dpkg::Source::Quilt: Add hint to check missing files on patch apply + failures. + Reported by Joseph Nahmias . + - Dpkg::Changelog::Parse: Require format plugins to inherit from + Dpkg::Changelog. + - Dpkg::OpenPGP: Refactor openpgp implementation execution into a new + function. + - Dpkg::Vendor::Debian: Refactor compiler flag names into an array. + - Dpkg::Vendor::Debian: Add new lto feature in new optimize area. + Closes: #940571 + - Test::Dpkg: Print actual error messages in test_neutralize_checksums(). + - Dpkg::Deps: Use current_sub feature for __SUB__. + - Dpkg::BuildFlags: Add support for ASFLAGS. + See https://salsa.debian.org/debian/debhelper/-/merge_requests/50. + - Dpkg::Compression: Use gzip --rsyncable unconditionally. + - Dpkg::Changelog::Entry::Debian: Fix full month misuse warning. + - Dpkg::Shlibs::Symbol: Emit a warning on fully qualified symver patterns. + Closes: #993991 + - Dpkg::Control::HashCore: Add new keep_duplicate option. + - Dpkg::Control::FieldsCore: Add new field_parse_binary_source(). + Closes: #980527 + - Dpkg::Control::FieldsCore: Fix types allowed for + field_parse_binary_source(). + Reported by Johannes Schauer Marin Rodrigues . + - Dpkg::Shlibs::Objdump: Fix apply_relocations to work with versioned + symbols. Closes: #1000421 + - Dpkg::Vendor::Ubuntu: Update Maintainer field logic to include + “canonical”. Based on a patch by + William 'jawn-smith' Wilson . + Closes: #1000557 + - Dpkg::Source::Package::V2: Add hint about version matching source tree. + Based on a patch by Samuel Henrique . + Closes: #996044 + * Documentation: + - man: Itemize dpkg-gensymbols -c levels. + - man: Add man page for deb-md5sums(5). + Reported by Maxim Cournoyer (on IRC). + - man: Switch the Architecture field in deb-control(5) to required. + Reported by Maxim Cournoyer (on IRC). + - man: Make clear that dpkg-query arguments accept multiple values. + Prompted by Rémi Rampin . See #913781. + - man: Document dpkg-query --search and --listfiles output formats. + - doc: Fix incorrect use of ‘an’ article. + - doc: Update coding style to document POD instead of troff. + - doc: Update THANKS file. + - doc: Annotate current maintainer start year. + - doc: Sort maintenance information chronologically. + - man: Add versions since features where introduced. + - man: Further clarify when re-inclusions of excluded pathnames happen. + Closes: #871420 + - doc: Update Doxygen configuration from version 1.9.1. + - doc: Improve description of dpkg suite. + Prompted by Fabrice Bauzac-Stehly . + - man: Add a reference to where the Installed-Size algorithm is described. + - man: Improve dpkg --verify-format rpm format documentation. + - man: Document in deb-substvars(5) what ${} is good for. + Prompted by Paul Wise . + - man: Document in dpkg-architecture(1) target being useful for emulators + too. Prompted by Helmut Grohne . + - man: Document in dpkg-query(1) full --search and --listfiles output + format. Prompted by Johannes Schauer Marin Rodrigues . + * Code internals: + - Remove irrelevant or obsolete FIXME markers. + - Turn FIXME markers denoting pending actions into TODO markers. + - Turn FIXME markers giving historic information into simple Notes. + - update-alternatives: Turn FIXME for explicit behavior choice into an XXX. + - Use localtime_r() instead of localtime(). + - libdpkg: Remove MDEBUG support from m_malloc() implementation. + - libdpkg: Mark dpkg_arch_unmark() arch_remove argument as const. + - libdpkg: Mark treewalk_open() func argument as const. + - dpkg: Mark ignore_depends() pkg argument as const. + - dpkg: Mark deb_parse_conffiles() pkg argument as const. + - libcompat: Remove local setexecfilecon() and require libselinux 2.3. + - libdpkg: Add missing DPKG_{BEGIN,END}_DECLS in header files. + - dpkg: Move SE Linux function declarations into its own header file. + - dpkg: Move the command action enum to its own header file. + - dpkg: Switch from including "main.h" to "force.h". + - dselect: Rename dme() to display_menu_entry(). + - dpkg: Split function handling deconfiguration due to install and removal. + - libdpkg: Add new ACTION_MUX macro for continued options. + - dpkg: Refactor --assert- handling to be data driven. + - dpkg-fsys-usrunmess: Do not use interpolated strings for literals. + - dpkg-db-backup: Add a license header comment. + * Build system: + - Fallback to $^X and 'perl' if $Config{perlpath} is unset or empty. + - Bump minimal Perl version to 5.28.1. + - Remove redundant localedir and pkgconfdir initializations. + - Check for libsocket. + - Do not set have_libmd on the found branch in AC_SEARCH_LIBS. + - Switch DPKG_FUNC_C99_SNPRINTF from AC_LANG_SOURCE to AC_LANG_PROGRAM. + - Check whether fsync(3) works on directories. + - Remove obsolete AC_HEADER_STDC. + - Detect appropriate sed program at configure time. + - Rename DPKG_DEB_PROG_TAR to DPKG_PROG_TAR. + - Parametrize the backups directory with a configure option. + - Add a check for symlinks in the git repository. + - Rename shell scripts to .sh. + - Switch from hardcoded /run to parametrized runstatedir. + - Use new Dpkg::Control keep_duplicate option in gen-changelog. + - Use title-case for field in gen-changelog. + - Execute run-script via CONFIG_SHELL. + Reported by Larkin Nickle . + - Quote variables containing pathnames in m4 macros. + - Add support for commit message fix up machinery in gen-changelog. + * Packaging: + - Use absolute pathnames in .install debhelper fragments. + - Remove unused dh_installcron call for arch-indep targets. + - Add support for a native systemd timer. Closes: #985444 + - Create auotpkgtest installation directory. + - Bump Standards-Version to 4.6.0 (no changes needed). + * Test suite: + - Pass --ignore-builtin-builddeps to dpkg-buildpackage. + - Use can_run() instead of find_command(). + - Add descriptions to makefile test runners. + - Add unit tests for architecture bijective mapping property. + - Suppress cppcheck constParameter check. + - Suppress bogus cppcheck for nullPointerRedundantCheck. + - Mark external sourced shell files for checking. + - Ignore new shellcheck checks. + - Remove shipped dpkg database. + - Add re-inclusion of symlink case to t-filtering. See #871420. + - Generate symlink during test build time. + - Remove superfluous long filename. + - Refactor parse_ctrl() from parse_dsc(). + - Update codespell stopwords. + + [ Helge Kreutzmann ] + * deb-md5sums.pod: Fix typo. + + [ Add programs translations ] + * Occitan (Quentin PAGÈS). + + [ Update dselect translations ] + * German (Sven Joachim). + + [ Update man pages translations ] + * German (Helge Kreutzmann). + + [ Update programs translations ] + * German (Sven Joachim). + * Polish (Marcin Owsiany, Łukasz Dulny). + + [ Update scripts translations ] + * German (Helge Kreutzmann). + +------------------------------------------------------------------- +Thu Jun 10 10:36:50 UTC 2021 - Adam Majer + +- do not include update-alternative manpages in dpkg +- use-clamp-from-C-STD-library.patch: removed, upstreamed + +------------------------------------------------------------------- +Thu Apr 29 08:28:48 UTC 2021 - John Paul Adrian Glaubitz + +- Refresh patches for new version + * update-alternatives-suse.patch +- Set minimum version for po4a to 0.59 in BuildRequires +- Update file list in %files section +- Version update to 1.20.9 (boo#1181867) + [ Guillem Jover ] + * Test suite: + - Pass --ignore-builtin-builddeps to dpkg-buildpackage. +- from version 1.20.8 + [ Guillem Jover ] + * start-stop-daemon: Open the --output file in append mode. + * dpkg: Fix --auto-deconfigure for essential and protected during + installation. Reported by Julian Andres Klode . + See #983014. + * dpkg-realpath: Fix resolution for absolute symlinks on «/». + Closes: #983855 + * dpkg-realpath: Fix symlink loop tracker. + * Perl modules: + - Test::Dpkg: Fix test data path fetching on CPAN. + - Dpkg::Exit: Preserve exit code in END block. + * Build system: + - Group Test::Dpkg changelog entries into “Perl modules” section. + * Packaging: + - Run autopkgtest test suites in verbose mode. + * Test suite: + - Set PERL in the perl test suite. + - Use gunzip instead of zcat and assume it might not be present. + - Mock dpkg and gcc for architecture detection code. + - Initialize DEB_BUILD_ARCH and DEB_HOST_ARCH to avoid computing them. + - Update suppressions for cppcheck 2.4. + [ Update man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #981884 + * German (Helge Kreutzmann). + * Portuguese (Américo Monteiro). Closes: #980018 + [ Update programs translations ] + * Dutch (Frans Spiesschaert). Closes: #981882 + [ Update scripts translations ] + * German (Helge Kreutzmann). Closes: #983865 +- from version 1.20.7 + [ Guillem Jover ] + * libdpkg: Do not consider the database locked with a missing lock file. + Reported by David Kalnischkies . + * Documentation: + - man: Clarify and expand information on dpkg-realpath(1) man page. + Closes: #979564 + * Packaging: + - Update copyright notices in debian/copyright. + - Bump Standards-Version to 4.5.1 (no changes required). + * Test suite: + - On as-root mode do not use sudo if already running as root. + - Print WARN instead of FAIL for maintscript fd leaks. + [ Update man pages translations ] + * German (Helge Kreutzmann). + [ Update programs translations ] + * German (Sven Joachim). +- from version 1.20.6 + [ Guillem Jover ] + * libdpkg: Fix undefined behavior in varbuf functions. + Reported by KOLANICH . + * libdpkg: Fix memory leaks in tar_extractor(). + * libdpkg: Fix memory leak in trigger deferred processing. + Reported by KOLANICH . + * libdpkg: Fix memory leak in filesystem treewalk node free function. + * libdpkg: Fix memory leak in filesystem treewalk iterator. + * libdpkg: Fix single-instance memory leak with fsys dir. + * libdpkg: Fix short-lived memory leaks. + * libdpkg: Reset error context errmsg after free(). + * dpkg: Fix memory leak for cidir. + Reported by KOLANICH . + * dpkg: Fix short-lived memory leak in --force-help output. + Based on a patch by KOLANICH . + * dpkg-deb: Fix single-instance memory leak on missing conffiles control + file. + * dpkg-divert: Fix short-lived memory leaks. + * dpkg-realpath: Add new -z, --zero option. + Requested by Johannes Schauer . + * dpkg-deb: Make decompression error message more descriptive. + Closes: #968442 + * dpkg-architecture: Add a --print-format option. + Prompted by #968963. + * dpkg-buildpackage: Warn on known R³ values in uppercase. + Reported by Niels Thykier . + * dpkg-buildpackage: Error out on R³ "yes" value. + Requested by Niels Thykier . + * dpkg-buildpackage: Clarify R³ keyword diagnostic messages. + * dpkg-deb, dpkg-split: Fix time handling to support 64-bit time. + * libdpkg: Check that the ar archive time is within bounds. + * libdpkg: Ignore not-installed packages for source related virtual fields. + Closes: #972580 + * libdpkg: Make source version parsing more robust on missing data. + See #972580. + * libdpkg: Do not forget not-installed packages that are set on hold. + Reported by David Kalnischkies . + * update-alternatives: Fix memory leaks for alternative database context on + load errors. + * update-alternatives: Fix short-lived memory leaks for alternative structs. + * update-alternatives: Fix memory leaks with new_choice. + * update-alternatives: Fix short-lived memory leaks for log_file and admdir. + * dpkg-buildflags: Add support for DFLAGS. Closes: #975896 + * dpkg-parsechanaglog: Document --file in --help output. + * libdpkg: Fix allocation size wrap around when growing a varbuf. + * dpkg-query: Do not print database loading progress. Closes: #977240 + * Rename taint tag to merged-usr-via-aliased-dirs. + * dpkg-buildflags: Enable reproducible=fixfilepath by default. + Thanks to Vagrant Cascadian . + See https://lists.debian.org/debian-devel/2020/10/msg00222.html. + Closes: #974087 + * start-stop-daemon: Move umask setup before any file has been created. + * start-stop-daemon: Add a new --output option to redirect stderr and stdout. + * dpkg-maintscript-helper: Do not pass DPKG_ROOT prefixed pathmames to + dpkg-realpath. + * dpkg: When removing old files check the pathname with diversion and + instdir. + * dpkg-realpath: Make 'link includes root prefix' error more verbose. + * libdpkg: Make sure we do not walk on rootless trees. + * dpkg: Fix incorrect logic around printing dependency warnings. + Thanks to Jessica Clarke . + Reported by Helmut Grohne . + * Support remove-on-upgrade conffile flag via DEBIAN/conffiles. + Based on a patch by Niels Thykier . Closes: #822462 + * dpkg-fsys-usrunmess: New program. + * Perl modules: + - Dpkg::Index: Add new item_opts option. + - Dpkg::Exit: Fix exit handler on program termination. Closes: #966083 + - Dpkg::Changelog::Entry::Debian: Fix format string. + Prompted by #967911. + - Dpkg::Changelog::Parse: Add new verbose option. + Prompted by #967911. + - Dpkg::Changelog::Parse: Document 'label' option. + - Dpkg::Source::Package::V1: Print a message when verifying tarball + signatures. + - Dpkg::Path: Fix pathname traversal check for symlinks. Closes: #971203 + - Dpkg::Source::Package: Honor no_check for directory traversal checks. + See #971203. + - Dpkg::Source::Package: Call syserr() instead of syserror(). + Reported by Drew Parsons . + See #849752. Closes: #976249 + - Dpkg::Path: Check first whether the files are the same by comparing + string-wise. Closes: #849752 + - Dpkg::OpenPGP: Refactor gpg armor code into its own function. + * Documentation: + - man: Fix typo in --print-unset option reference. + Reported by Ferenc Wágner . Closes: #966110 + - man: Clarify that dpkg-architecture uses some of its own variables. + Closes: #966111 + - man: Fix casing and namespacing in VARIABLES definitions. + - man: Fix typo in dpkg-source(1). + Thanks to Paul Wise . + - man: Add a reference to deb-symbols(5) in deb-src-symbols(5) DESCRIPTION. + Prompted by #970083. + - man: Specify that symbol, version and id are separated by a single + whitespace. Closes: #970083 + - man: Clarify day-of-month format in deb-changelog(5). + Reported by Axel Beckert . + See #971977. + - man: Update update-alternatives maintainer script usage information. + Prompted by Niels Thykier . + - man: Switch to use L<> markup for URLs instead of B<>. + - doc, man: Clarify that R³ values are case sensitive. + Prompted by Niels Thykier . + - man: Add references to deb822(5) to file formats based on it. + Prompted by Niels Thykier . + - man: Clarify config-files state in dpkg(1). + Prompted by Stuart Prescott . + - man: Fix typos. + - man: Hyphenate multiple words in deb-override(5) format description. + - man: Uppercase acronyms and logic operators. + - man: Empty or whitespace-only lines in deb-conffiles(5) are not accepted. + * Code internals: + - libcompat, dpkg: Stop using deprecated security_context_t data type. + - update-alternatives: Refactor alternative database context freeing into a + new function. + - libdpkg: Do not define the clamp macro when compiling C++ code. + Reported by Helmut Grohne . + - libdpkg: Replace FSF address by pointing to the gnu.org URL. + - libdpkg: Initialize pkgbin's newhash to NULL. + Prompted by Steinar H. Gunderson . + - libdpkg: Use memset() instead of open-coding struct blanking. + Prompted by Steinar H. Gunderson . + - Do not call fsys_hash_init() before command actions. + Prompted by Steinar H. Gunderson . + - libdpkg: Fix m_pipe() function definition prototype to match declaration. + - libdpkg: Refactor new str_rtrim_spaces(). + Based on a patch by Niels Thykier . + - dpkg: Call fsys_hash_find_node() outside tar_fsys_namenode_queue_push(). + - Use a conffilename variable to track the actual conffile name in the + buffer. + Thanks to Niels Thykier . + * Build system: + - Add new gen-changelog tool. + - Pre-process the curses header before parsing it. Closes: #970545 + - Fix variable substitution in man pages. + Reported by Niels Thykier . Closes: #978983 + - Add a README.cpan to be installed as README in the CPAN distribution. + - Do not try to use on GNU/Linux. + - Fix «make distcheck» for man pages. + - Update GitLab CI configuration to use built-in functional test suite. + - Make it possible to override PKGDATADIR on built scripts too. + - Disable umask to 0 for Docker executor in GitLab CI. + - Disable functional test suite debug mode on GitLab CI. + - Sort po4a entries in po4a.cfg. + * Packaging: + - Do not fail the bug-script if readlink fails. Closes: #968397 + - Improve cron file robustness on missing or empty backup files. + Closes: #969472 + - Use AUTOPKGTEST_TMP instead of writing into the source tree. + - Hook the functional test suite into autopkgtest. + - Remove trailing comma from lintian profile file. + - Do not hardcode libdpkg-perl dependency on perl:any. + Thanks to Sven Joachim . + * Test suite: + - Fix short lived memory leaks in unit tests. + - Print the ehandle unit test error output on verbose mode. + - Improve dpkg-divert test to output stdout and stderr. + - Use intermediate variable for directory traversal item iteration. + - Refactor root handling in Dpkg::Path unit tests. + - Refactor test verbose check into an inline function. + - Make it possible to include test.h from benchmarks. + - Disable hash reports in benchmark tests unless verbose. + - Add support for basic test try/catch/finally keywords. + - Merge the dpkg-tests.git repository into tests/. + - Update merged functional test suite assumptions. + - Remove redundant test cases from the functional test suite. + - Remove source package building support from functional test suite. + - When using DPKG_BUILDTREE add scripts/ to DPKG_PATH. + [ Add man pages translations ] + * Portuguese (Américo Monteiro). Closes: #964751 + [ Update dselect translations ] + * Dutch (Frans Spiesschaert). Closes: #968294 + * French (Didier Vidal). Closes: #964749 + [ Update man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #968743 + * German (Helge Kreutzmann). + [ Update programs translations ] + * Dutch (Frans Spiesschaert). Closes: #968744 + * German (Sven Joachim). + [ Update scripts translations ] + * German (Helge Kreutzmann). +- from version 1.20.5 + [ Guillem Jover ] + * Revert change to prefix the specs file spec string self_spec with + + instead of *. The prefix is supposed to go in the text itself + instead of the spec name, which already had it. This change only + apparently fixed the issue at hand because gcc started parsing it as + the «[SUFFIX]:» case, completely disabling the PIE handling. + Thanks to Thorsten Glaser . + * Perl modules: + - Dpkg::Source::Package::V1: Explicitly initialize constructor options to + their implicit values, otherwise other code end up assuming different + defaults. This is required here too as this class does not call the + initialization from its parent. + * Build system: + - Detect the GNU program variants for make, patch and tar in the CPAN + distribution to replace in the Dpkg module. + - Set DEB_BUILD_ARCH to a dummy “amd64” in the CPAN distribution tests + to not require a dpkg(1) in the system. + * Test suite: + - Only print the Dpkg::Path::check_directory_traversal() error on failure. + [ Updated scripts translations ] + * German (Helge Kreutzmann). +- from version 1.20.4 + [ Guillem Jover ] + * Improve PIE flags support: + - Prefix the specs file spec string self_spec with + instead of *. + This way we do not override any previous setting, otherwise when + passing the -specs options twice (f.ex. to compile and link), only the + last one will take effect, which can break the build. Closes: #870383 + * Perl modules: + - Dpkg::Source::Package: Explicitly initialize constructor options to + their implicit values, otherwise other code end up assuming different + defaults. Closes: #964017 + - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in + verify_signature(), to make sure we do not write to the user home + directory, except for the trustkeys.db file if present. + - Dpkg::Path: Refactor new check_directory_traversal() function out of + Dpkg::Source::Package->extract(). + - Dpkg::Path: Do not do partial matches for directory traversal checks, + expect a trailing slash after the base directory name. + - Dpkg::Path: Catch uncanonicanizable pathnames with a proper error. + Closes: #964111 + - Dpkg::Path: Do not consider missing symlink targets a directory + traversal attempt. Closes: #964234 + - Dpkg::Path: Allow /dev/null for directory traversals. + Reported by Holger Levsen . + * Build system: + - Add Module::Signature as configure recommends for CPAN. + * Test suite: + - Use File::Path::make_path() instead of chained mkdir() in Dpkg_Path.t. + - Add unit tests for Dpkg::Path::check_directory_traversal(). + [ Updated programs translations ] + * German (Sven Joachim). +- from version 1.20.3 + [ Guillem Jover ] + * Perl modules: + - Dpkg::OpenPGP: Pass --no-options to gpg in verify_signature(). + Reported by Bertrand Marc . Closes: #963839 + - Dpkg::Build::Info: Clarify by giving context to the + get_build_env_whitelist() deprecation warning. Closes: #963844 + Reported by Sven Joachim . + - Dpkg::Source::Package: Fix check_original_tarball_signature() to make + import_key() honor require_valid_signature, which should default to + false. Reported by Mattia Rizzolo . + - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in + import_key(), to make sure we do not write to the user home directory, + which might be read-only or non-existent. Closes: #963944 + Reported by Mattia Rizzolo . + * Code internals: + - libdpkg: Print a notice if we cannot write to the log file. + * Build system: + - Improve error diagnosis for configure version fetching script. + Prompted by Norbert Preining . + [ Updated programs translations ] + * German (Sven Joachim). +- from version 1.20.2 + * dpkg: Do not include the architecture with --robot --version. + * update-alternatives: Create alternatives directory (/etc/alternatives) + if it is missing, to help with installation bootstrapping. + Reported by Johannes Schauer . + * update-alternatives: Create the log directory if it is missing. + * Perl modules: + - Dpkg::Source::Package: Turn the missing expected tarball signature + error into a warning for now, as it is causing unintended fallout, + and does not play nice (yet) with tarballs repackaged by uscan(1). + Closes: #963821 + * Code internals: + - update-alternatives: Move log_msg() after make_path() so that we can use + the latter. + - update-alternatives: Add new xstrndup() and xdirname() functions. + * Build system: + - Set SHELL in the test environment. + - Do not fail if po4a is not found, and search for it just once. + - Fix name and section generation for translated man pages. This caused + pod2man to get an empty --name argument and not output anything, + resulting in generating empty man pages. Closes: #963794 + * Packaging: + - Sort debian/dpkg-dev.manpages. + - Install deb-src-symbols(5) in dpkg-dev package. +- from version 1.20.1 + [ Guillem Jover ] + * Fix dpkg logging regression introduced in 1.20.0: + - libdpkg: Use varbuf member .used instead of .size in log_message(), + to avoid printing garbage. + - libdpkg: Open the log file as write-only instead of read-only. + Thanks to Roderich Schupp . Closes: #953684 + * Unify and cleanup Makefile fragment files comments, including information + about version of introduction. + * Add new buildopts.mk Makefile fragment to support parsing DEB_BUILD_OPTIONS + options with arguments, such as “parallel” as DEB_BUILD_OPTION_PARALLEL. + * dpkg-genchanges: Handle empty Date fields from parsed debian/changelog. + Based on a patch by Baptiste BEAUPLAT . Closes: #956321 + * dpkg-source: Check that debian/tests/control has the required fields. + Prompted by Felix Lechner . + * dpkg-deb, dpkg: Do not accept relative pathnames in DEBIAN/conffiles. + Reported by Niels Thykier . + * dpkg-split: Fix off-by-one check in ar header padding, that was making + parsing error out on valid archives. Regression introduced in dpkg 1.18.8. + * libdpkg: Fix error message for ending version character in dependency + parser: + - Move the version unterminated case before the catchall. + - Print the actual wrong character and print what is expected. + * libdpkg: Do not use econtext->errmsg on out of context abort, as it might + be uninitialized. + * update-alternatives: Set the umask to 022 on program start. + Reported by Paul Wise . + * dpkg-parsechangelog: Fix --show-field for multiline fields. We were not + stripping trailing whitespace, and were not prefixing empty lines with + a ‘.’, like when printing with the field names. + Reported by Paul Wise . + * dpkg: Add a new --robot option to be used with --version. + * dpkg, dpkg-query: Document missing options in --help output. + * Unify ellipsis formatting in programs --help output. + * Add Protected field support. + * dpkg-realpath: New program, to be used by dpkg-maintscript-helper, and + any maintainer script that needs a realpath that can handle pathnames + relative to the dpkg root directory. + * dpkg-realpath: Add support for DPKG_ROOT. + Thanks to Helmut Grohne . + * dpkg-realpath: Add support for --root and --instdir options. + * dpkg-maintscript-helper: Add support for DPKG_ROOT: + - Add DPKG_ROOT support for conffiles. + Thanks to David Kalnischkies . + - Add DPKG_ROOT support for symlink to and from directory switches. + Based on a patch by Bastien ROUCARIÈS . + Closes: #832176 + * update-alternatives: Add DPKG_ROOT support, and new --root and --instdir + options. Closes: #871808 + * Portability: + - libdpkg: When using uselocale(), include for locale_t if + the header is available. Needed on BSDs. + Reported by Sirio Balmelli . + * Perl modules: + - Dpkg: Add a LICENSE section to the POD. + - Dpkg::Source::Package: Add new get_upstream_signing_key() method. + - Dpkg::Source::Package: Check missing expected tarball signatures. + - Dpkg::Source::Package::V1: Check version format matching source format. + - Dpkg::Vendor::Debian: Add debian-nonupload.gpg keyring. + Thanks to Taowa Munene-Tardif . Closes: #956055 + - Dpkg::Vendor::Debian: Detect merged-usr-via-symlinks also with absolute + pathnames. Reported by Adam Borowski . + - Dpkg::Build::Info: Avoid whitelist in function name. + - Dpkg::Shlibs::SymbolFile: Avoid blacklist and whitelist terms. + * Documentation: + - man: Fix misused two-fonts macros. + Thanks to Bjarni Ingi Gislason . Closes: #955028 + - man: Trim trailing whitespace from output. + Thanks to Bjarni Ingi Gislason . Closes: #955030 + - man: Mention that dpkg(1) does not provide all back-end interfaces. + Prompted by Elana Hashman . + - man: Clarify and fix file formats SYNOPSIS. + - man: Clarify that deb-control(5) is a subset of deb-src-control(5). + Closes: #958229 + - man: Unify warning and note admonitions formatting. + - man: Remove useless commented out macros. + - man: Fix unbalanced quotes in macro arguments. + - man: Specify the indentation level for all following .IP macros, not + just the first one. + - man: Use .TP macros instead of hand-crafted formatting. + - man: Fix font markup for some variable and literal strings. + - dpkg-maintscript-helper: Add -?, --help and --version to --help output. + - man: Fix apt and aptitude references. + Reported by Helge Kreutzmann . + - man: Mark commands (eval) in bold and quote library names (libgcc). + Reported by Helge Kreutzmann . + - man: Use UTF-8 quotes instead of ancient groff register variables. + - man: Use literal double quotes instead of groff escape sequences. + - man: Clarify that we resolve bug reports not bug report numbers. + Reported by Helge Kreutzmann . + - man: Clarify POSIX shell eval command usage in dpkg-architecture(1). + - man: Use item lists instead of verbatim or hand-crafted formatting. + - man: Do not use verbatim formatting for text that is not an example. + - man: Markup examples explicitly with .EX/.EE. + - man: Fix indentation for a note admonition in dpkg-scansources(1). + - man: Document that a 3.0 (quilt) patch cannot create or modify symlinks. + Thanks to Johannes Schauer . + - man: Reword text to reduce length in verbatim code block. + - man: Add semicolons before verbatim code blocks. + - man: Update dselect methods provided. Several got removed in 1.20.0. + - man: The Installed-Size field does not get its value from du(1) since + 1.18.0. + - man: Fix dpkg-gencontrol -P description to not refer to dpkg-source. + Reported by Jakub Wilk . + - man: Place description of override value column on its own paragraph. + - man: Surround markup within verbatim blocks with .nf/.fi. + - man: Balance font markup. + - man: Do not nest font markup. + - man: Use .ig/.. macros to disable text instead of commenting it out. + - man: Do not mark end of sentence period with bold. + - man: Add a missing comma after man page reference in SEE ALSO section. + - man: Convert man pages from roff to POD. + - man: Clarify the dpkg --no-act admonition. + - man: Avoid whitelist term in dpkg-source man page. + * Code internals: + - Use $() in shell or qx() in perl instead of ``. + - dpkg-split: Switch part number variables from unsigned int to int. + - scripts: Refactor shell error handling into a shell library + - Reformat shell code to follow the coding style. + - update-alternatives: Parametrize option names in output strings. + - update-alternatives: Move logging function close to output functions. + - update-alternatives: Move argument parsing functions close to main(). + - update-alternatives: Add general purpose non-failing functions for + administrative directory access. + - update-alternatives: Add filesystem abstraction functions. + * Build system: + - Handle .git being a plain file when getting the dpkg tree version. + - Add debian/changelog as a Changes file to the CPAN distribution. + - Set DPKG_SERIES to 1.20.x when running the functional test suite. + - When using po4a require at least po4a 0.59. Change the po4a --porefs + argument from no longer supported “noline,wrap” to “file”, as wrapping + is the default since po4a 0.58. We require po4a 0.59 as 0.58 had a + regression in its --srcdir support. + - Switch to set the po4a addendum in the po4a_paths section instead of + repeating it for each man page. + - Use po4a conditional addendum support, and remove empty addenda. + - Use po4a mode=eof support in addenda. + - Do not use make prerequisites on suffix rule definitions. + Closes: #961850 + - Add man page number suffixes to the automake SUFFIXES variable. + - Update false positive suppressions for cppcheck 2.1. + - Install specifications and API contracts in docdir. + - Add support for switching man pages from roff to POD format. + - Fix shell files substitution for version variable. + * Packaging: + - Switch to debhelper compatibility level 13. + - Remove debian/tmp prefix from manpages debhelper fragment files. + - Handle missing localized man pages gracefully. + - Install AUTHORS, THANKS, usertags, README.api and + README.feature-removal-schedule only in dpkg.deb. + - Rename debian/usertags to debian/README.bug-usertags. + - Install specifications to /usr/share/doc/dpkg/ in the dpkg-dev package. + - Detect merged-usr-via-symlinks also with absolute pathnames in + bug-script. Reported by Adam Borowski . + * Test suite: + - Rename deb-content test cases to make them more descriptive. + - Skip autogenerated files from codespell. + [ Updated programs translations ] + * German (Sven Joachim). + * Simplified Chinese (Boyuan Yang). Closes: #958437 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * German (Helge Kreutzmann). +- from version 1.20.0 + [ Guillem Jover ] + * libdpkg: Do not generate a backup file for the available database. + Closes: #343578 + * perl: Switch Getopt::Long from bundling to bundling_values. This means + the few scripts using Getopt::Long will stop accepting options in the + form «-ab» for «-a -b», which is not future-proof, as it does not allow + these options to get new arguments without making them ambiguous. + * dpkg-buildpackage: Remove transient backwards R³ compatibility code. + * buildtools.mk: Add support for nostrip in DEB_BUILD_OPTIONS when setting + the STRIP variable. + * dpkg-genbuildinfo: Do not include irrelevant packages in the Binary field. + * dpkg: Do not clear selections for unknown packages. Closes: #927752 + * dpkg-shlibdeps: Add support for new Build-Depends-Packages, to be able + to specify multiple packages. Closes: #926669 + Based on a patch by Frank Schaefer . + * perl: Remove support for versioned GnuPG 2 program and packages. + * libdpkg: Clarify lock contender error message. Print the PID of the lock + contender, and add a warning explaining that removing the lock file is + never the correct solution. + * dpkg-genchanges, dpkg-mergechangelogs: Remove support for ~vola + versioning, as volatile.debian.org was decommissioned some time ago. + * dpkg-genchanges, dpkg-mergechangelogs: Match ~deb also as a backport + marker in versions. Closes: #934980 + * libdpkg, dpkg: Use new versiondescribe_c() for non-localizable call sites, + such as when writing to a log, which should not be localized. + Reported by Julien Cristau . + * dpkg-query: Try to use the package synopsis from the available file if + not installed. Closes: #43573 + * dpkg-gencontrol: Take into account hardlinks when computing the + Installed-Size substvar. Closes: #923475 + Patch co-authored with Sven Joachim . + * dpkg: Fix and clarify behavior for packages marked to be on “hold”. These + need to be processed for configuration and triggers. Closes: #926472 + * dpkg: Use DPKG_ADMINDIR to set the admindir. Closes: #900071 + * dpkg-source: Remove backwards compatibility code for legacy build-profiles. + * perl: Give more context on field parsing errors. Closes: #637060 + * dpkg-buildpackage: Add option to sanitize environment. Closes: #843776 + * update-alternatives: Cope with a missing administrative directory. + * update-alternatives: Create the administrative directory on demand. + * dpkg-split: Cope with a missing parts/ database directory. + * dpkg-split: Create the parts/ database directory on demand. + * libdpkg: Consider msdbrw_needsuperuser equivalent to msdbrw_write, so + the same checks are performed on normal non --force-not-root operation. + * libdpkg: Add support for bootstrapping the installation of dpkg: + Closes: #914515 + - Create the logfile with correct permissions, and remove the code + setting up the logfile from the dpkg postinst. + - Allow missing status and available databases, so that they get created + on write, and remove the code setting them up from the dpkg postinst. + Closes: #647911 + - Do not change the ownership of the triggers database directory. Either + we are running as root:root which means the ownership should be correct + already, or we are not which means we cannot change it anyway. + - Create the dpkg database directory on demand. + - Create the updates/ database directory on demand. + - Create the info/ database directory on demand. + * dpkg-architecture: Fix handling of exec failing in --command. + Reported by Helmut Grohne . + * dpkg-buildpackage: Do not accept equal signs as part of the hook names. + Reported by Daniel Shahaf . Closes: #948291 + * dselect: Mark a string for translation. + * dselect: Cleanup access methods: + - Remove harddisk methods, as they were non-functional due to fdisk + interface changes, and do not make sense anymore as we can expect users + to mount any such filesystem on their own, to then use a filesystem + method instead. Prompted by Helmut Grohne . + - Remove cdrom method superseded by the multi_cd method. + - Remove nfs methods, as there is nothing special about NFS, and mounting + these should just be left to the local admin, who can mount any other + remote filesystem too. + - Remove multi_mount method, as the multi_cd method can take care of + mounting the necessary images or devices. + - Replace changelog with correct copyright in file header. + * dpkg, dselect: Stop using first-person singular in output messages. + * libdpkg: Fix memory leak in parsedb context close. + * buildtools.mk: Add QMAKE variable. Closes: #920878 + * po: Fix translation of --compare-versions. Closes: #951614 + Thanks to Boyuan Yang . + * Perl modules: + - Dpkg::Source::Package: Verify original tarball signatures at build time. + - Dpkg::BuildFlags: Add new unset() method. + Requested by Daniel Schepler . + - Dpkg::Source::Package::V2: Emit a special patch header on + single-debian-patch. Closes: #933152 + - Dpkg::Vendor::Debian: Only scan /usr/local/ directories that exist. + Closes: #932967 + - Dpkg::Vendor::Debian: Do not set -Werror=implicit-function-declaration + for C++. Closes: #939969 + - Dpkg::Deps: Check for valid virtual package version relations. Do not + allow non-equal version relations in virtual provides. Closes: #930317 + - Dpkg: Remove internal lowercase variables $version, $progname, + $admindir, $dpkglibdir and $pkgdatadir. + - Dpkg::Changelog: Remove obsolete methods dpkg() and rfc822(). + - Dpkg::Changelog::Entry::Debian: Remove obsolete methods check_header() + and check_trailer(). Hide variables $regex_header and $regex_trailer. + - Dpkg::Changelog::Parse: Remove warnings of obsolete options forceplugin + and libdir. Remove obsolete functions changelog_parse_debian() and + changelog_parse_plugin(). + - Dpkg::Compression: Hide internal lowercase variables + $default_compression, $default_compression_level and + $compression_re_file_ext. + - Dpkg::Deps::KnownFacts: Remove obsolete check_package() method. + - Dpkg::Exit: Hide internal lowercase @handlers variable. + - Dpkg::Gettext: Remove obsolete _g() function. + - Dpkg::Source::Package: Hide internal lowercase variable + @tar_ignore_default_pattern. Remove internal lowercase variable alias + $diff_ignore_default_regexp. + - Dpkg::Substvars: Remove obsolete no_warn() method. + - Dpkg::Index: Change default value for unique_tuple_key to 1. + - Dpkg::Version: Remove deprecation warning from semantic change in + bool overload. + - Dpkg::Checksums: Remove obsolete 'program' property warning. + - Dpkg::Conf: Remove obsolete methods and obsolete croak for method option. + - Dpkg::Vendor: Remove obsolete 'keyrings' hook. + - Dpkg::Exit: Unregister all signal handlers once we have executed them. + Closes: #932841 + - Dpkg::Exit: Register exit handlers also for __DIE__. + - Dpkg::Source::Package::V3::Native: Do not say v1.0 for 3.0 formats. + - Dpkg::Dist::Files: On filename parse error say file instead of package. + - Dpkg::Substvars: Add new vendor:Name and vendor:Id substvars. + - Dpkg::Source::Package: Detect directory traversals under debian + directory. Reported by Felix Lechner . + * Documentation: + - man: Fix uncommon wording constructs. + - man: Use a minus sign for a literal string. + - man: Clarify that the pager is called via «$SHELL -c». + - dpkg-shlibdeps: Document split_soname() function. + Prompted by Christopher Crim . + - Dpkg::Changelog: Document methods provided by subclasses. + Reported by Felix Lechner . + - man: Globally adjust left and disable hyphenation. + - man: Split dselect(1) --color from --colour option items. + - man: Describe the SONAME formats supported in deb-shlibs(5). + - man: Move template symbol documentation into new deb-src-symbols(5). + - Dpkg::Changelog::Parse: Remove $ sigil from option names in POD. + - Dpkg: Say class instead of object when appropriate. + - Dpkg::Changelog: Clarify that these classes inherit from some other + base class, which will contain the missing documentation. + Prompted by intrigeri . + - man: Clarify deb-changelog(5) format. Closes: #946780 + - man: Clarify debian/source/include-binaries format in dpkg-source(1). + Prompted by Felix Lechner . + - man, doc: Clarify that the postinst "triggered" argument gets the + trigger-name(s) as a space-separated list in the second argument. + Prompted by Michael Biebl . + - dselect: Update the multicd README file. + - doc, man: Mark T and I package instances to avoid misreadings. + * Code internals: + - Dpkg::Source::Package: Refactor original tarball handling. + - perl: Use File::Copy instead of spawning mv/cp commands. + - Dpkg::OpenPGP: Refactor signature verification into a new function. + - Dpkg::OpenPGP: Make it possible to verify detached signatures. + - Dpkg::OpenPGP: Add support for importing an OpenPGP key into a keyring. + - Dpkg::BuildFlags: Remove unused hash keys. + - libdpkg: Use the variable instead of a type as sizeof() argument. + - libdpkg: Use the totalwritten variable for a consistency check. + - dselect: Reduce scope of variable, to avoid it being unused in a branch. + - dpkg-deb: Fold two adjacent if conditionals into a single one. + - dpkg: Initialize flagdeppossi in check_conflict(). + - libdpkg: Add new C locale switch over support. + - libdpkg: Add new versiondescribe_c() to force a C locale. + - dselect: Make baselist::draw_column_*() col arguments const. + - libdpkg: Use p instead of name in dpkg_arch_name_is_illegal(). + - dpkg: Remove redundant condition for sourcefile in updateavailable(). + - dpkg, update-alternatives: Make variables static. + - libdpkg: Add missing symbols to the version map. + - libdpkg: Fix fiemap memory layout usage that confuses gcc 10 to emit a + warning. + - libdpkg: Only use varbuf_printf() in pkg_format_show() when necessary. + This should speed up «dpkg-query --show» formatting. + - libdpkg: Fix package format string to be a string literal. + This suppresses a gcc warning. + - dpkg: Fix short lived memory leak in --force-help handling. + - dpkg-split: Fix short lived file descriptor leak in --auto. + - start-stop-daemon: Explicitly ignore unimportant function return values. + - start-stop-daemon: Fix memory leak on multiple --chuid arguments. + - start-stop-daemon: Close the notification socket in the child. + - libdpkg: Fix memory leaks in zlib and bz2 decompression functions. + - libdpkg: Add new dir_make_path() and dir_make_path_parent() functions. + - libdpkg: Add new atomic file flag to create the base path when missing. + - libdpkg: Fix modstatdb_rw enum comments. + - libdpkg, dpkg-query: Optimize db-fsys:Files virtual variable loading. + We load either the entire db-fsys for all packages, possibly optimized + per platform (such as by using fiemap), or the specific ones for the + requested packages. This also fixes a problematic cast removing the + constness of a variable. + - Dpkg::Dist::Files: Document the two filename pattern formats. + - update-alternatives: Remove redundant condition in argument parser. + - update-alternatives: Move error context setup before calling setjmp(), + so that cppcheck stops being confused. + - test: Reformat 200_Dpkg_Shlibs.cpp for coding style conformance. + - dpkg: Make it possible for the compiler to check printf() format + string arguments on dependency printer. + - dselect: Reorder branches in packagelist::deselect_one_of so that they + are not duplicated. + - dselect: Use nullptr instead of NULL. + - dselect: Use static_cast<> instead of old-style type qualifier cast. + - dselect: Do not use unnecessary old-style casts. + - dselect: Fix variable types to avoid needing old-style casts. + - libcompat: Disarm libselinux setexecfilecon() declaration for + libcompat-test. + - libdpkg: Define new VARBUF_OBJECT macro. + - libdpkg: Add new ATOMIC_FILE_NORMAL enum value to avoid a cast in C++. + - libdpkg: Use a new DPKG_NULL macro that works in C and C++. + - libdpkg: Use a new DPKG_STATIC_CAST macro that works in C and C++. + - libdpkg: Move printing of errno into dpkg_error_set(). + - libdpkg: Use a varbuf to store the problem messages per parsedb context. + - libdpkg: Fix Doxygen comments. + * Build system: + - Bump minimal Perl version to 5.24.1. + - Add a serial versioning to the m4 files. + - Install m4 files into system aclocal directory. + - Bump minimal gettext version to 0.19.8, to get the m4 files that can + cross-build for musl-based systems. + - Enable more compiler warnings. + - Update Doxygen configuration from version 1.8.16. + * Packaging: + - Remove obsolete Breaks satisfied since oldstable. + - Replace custom rule for 'configure' with call to dh_autoreconf. + Thanks to Dan Streetman . Closes: #939516 + - dselect: Remove methods state files on purge. + Spotted by Sven Joachim . + - Switch to debhelper compatibility level 12. + - Switch from debian/compat to debhelper-commpat in Build-Depends. + - Bump Standards-Version to 4.5.0 (no changes required). + * Test suite: + - Remove perlcritic Documentation::RequirePodLinksIncludeText suppression. + - Clarify cppcheck va_list_usedBeforeStarted suppression. + - Skip build directories from codespell check. + - Update stopwords for codespell 1.16.0. + - Suppress new bogus cppcheck 1.90 false positives. + - libdpkg: Remove redundant assignment in t-ehandle unit test. + - Skip backup files from codespell check. + - Ignore python-3.8 runtime warnings in codespell. + [ Updated programs translations ] + * German (Sven Joachim). + * Portuguese (Miguel Figueiredo). Closes: #935695 + * Simplified Chinese (Mo Zhou). Closes: #942195, #945776 + [ Updated dselect translations ] + * German (Sven Joachim). + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * German (Helge Kreutzmann). Closes: #931135 +- from version 1.19.7 + [ Guillem Jover ] + * dpkg: Fix off-by-one error in dpkg --abort-error. Closes: #924886 + Thanks to Tom Goulet . + * dpkg: Set the force defaults before loading the config file, otherwise we + incorrectly override them. Regression introduced in dpkg 1.19.5. + Closes: #928671 + * dpkg: Split the trigger dependtry into two, the second of which will be + the one checking trigger cycles when deferring trigger processing due to + unsatisfiable dependencies. Closes: #928429 + * dpkg-deb: Validate ar member magic before normalizing any of its fields. + * dpkg-deb: Honor --nocheck when building packages with newlines in + filenames. Regression introduced in dpkg 1.18.1. Closes: #929727 + * Documentation: + - rootless-builds.txt: Expand what the builder means. Mention the + dpkg-deb option to use to set the owner and group to root. And reword + the prototyping section to be less confusing with what is currently + implemented. Closes: #929019 + - README: Clarify when autopoint is needed. Closes: #929601 + - Fix typos in docs and output strings. Warned by codespell. + [ Updated programs translations ] + * Catalan (Guillem Jover). + [ Updated dselect translations ] + * Catalan (Guillem Jover). + [ Updated scripts translations ] + * Catalan (Guillem Jover). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #926665 + * French (Jean-Pierre Giraud). Closes: #929664 +- from version 1.19.6 + [ Guillem Jover ] + * libdpkg: Add a new TAR_FORMAT_UNKNOWN enum value. + * libdpkg: Set tar_entry to zero on tar_entry_destroy(), to avoid double + free()s and the subsequent crashes. + * libdpkg: Handle non end-of-tape errors from tar_header_decode(). + * libdpkg: Use ERANGE instead of EINVAL for tar_atol8() out-of-range error. + * dpkg-gencontrol: Check presence of package build dir before traversing it. + * Perl modules: + - Dpkg::Source::Package::V1: Change default build option style to -sa. + Using -sA by default means the user might lose data on overwrite if + there is already a directory with the same name laying around. + Closes: #910737 + - Dpkg::Source::Package: Handle Format field being undefined. On source + format 1.0, the default is for the debian/source/format file not being + present, which means we'll start with an empty Format field name. + Regression introduced in dpkg 1.19.3. + * Packaging: + - Update usertags. + - Install a lintian profile for dpkg based on the debian profile, so that + we can suppress Debian-specific tags, such as the controversial one on + vendor-specific patch series files. + - Add Breaks on lsb-base due to start-stop-daemon exposing breakage in + the killproc function from /lib/lsb/init-functions. Closes: #923861 + * Test suite: + - Stop requiring (pseudo-)root in the functional test suite. + - Export and move TESTDATA definition close to the PATH definition. + - Quote the 'yes' command to make a comment clearer. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #924776 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #924777 + * German (Helge Kreutzmann). +- from version 1.19.5 + [ Guillem Jover ] + * start-stop-daemon: Make sure that we get a meaningful errno on + parse_unsigned(), so that the error messages always make sense. + * start-stop-daemon: Add new fatalv() and fatale() functions and use the + latter for system errors, so that we are explicit on whether we want to + use errno for error reporting or not. + * start-stop-daemon: Always refuse to parse a world-writable pidfile, + except when that is /dev/null. + * dpkg: Print the current set of enabled force options on --force-help. + * dpkg: Parse and set new DPKG_FORCE environment variable for subprocesses. + Closes: #666147 + * dpkg-statoverride: Add support for --force-* options. + * dpkg-statoverride: Switch from --force option to new --force- + options. Deprecate --force option which will be considered an alias for + --force-all for now. + * dpkg, dpkg-statoverride: Add new option --refuse-security-mac to control + SELinux. See #811037. + * dpkg: Clarify error on unknown system user/group in statoverride database. + Closes: #920880 + * dpkg-buildpackage: Clarify the warning/error on short OpenPGP key IDs. + Closes: #922039 + * dpkg-maintscript-helper: Restrict find for dir-to-symlink move to + -maxdepth 1. Thanks to Ralf Treinen . Closes: #922799 + * dpkg-genbuildinfo: Add support for a new Build-Tainted-By field in + .buildinfo files. Suggested by Alexander E. Patrakov . + * libdpkg: Clarify field names in error and warning messages. + * libdpkg: Optimize error handling. Move the error reporting outside the + involved functions so that we do not need to call gettext if there is no + error, which has a significant performance cost. + * libdpkg: Merge nicknames table into fieldinfos, to stop penalizing the + lookup of non-obsolete fieldnames. + * libdpkg: Print a more accurate warning for Revision nicknames. + * libdpkg: Increase the pkg-hash bins size to 65521, to improve hash table + performance at the cost of a bit more memory usage. + * libdpkg: Blank packages that are not-installed with unknown selection. + Closes: #922410 + * libdpkg, dpkg: Print the dpkg database directory on access errors. + Closes: #883700 + * Perl modules: + - Dpkg::Vendor::Debian: Add support for merged-usr-via-symlinks tainted + tag. Suggested by Alexander E. Patrakov . + - Dpkg::Vendor::Debian: Add support for usr-local-has-* tainted tags. + - Dpkg::Source::Package: Add a missing use Dpkg::Source::Format. + Diagnosed by Ian Jackson . + Closes: #921031 + * Documentation: + - start-stop-daemon(1): Document behavior of --pidfile security checks. + Closes: #921557 + - dpkg(1): Document the unknown selection state. Closes: #922407 + * Code internals: + - dpkg: Move SELinux fallback label to the SELinux specific code path. + - dpkg: Simplify maintscript_set_exec_context(). + - dpkg: Move force options support into its own file. + - dpkg: Do not hardcode the program name in the --force-help output. + - dpkg: Switch force options from individual variables to bit fields. + - dpkg: Switch from a char to an enum to track the force options types. + - dpkg: Switch to set the default force option from the forceinfos array. + - libdpkg: New benchmark programs and infrastructure. + - libdpkg: Add new dpkg_error_move() function. + - libdpkg: Add new dpkg_has_error() function. + - libdpkg: Move status names from parse errors to arguments. + - libdpkg: Use va_arg copy instead of the original on a vasprintf() call. + - libdpkg: Include in pager.c. + Reported by Y . Closes: #922212 + - libdpkg: Use pkg_set_want() instead of a direct assignment. + * Build system: + - Check whether this dist is a release, based only on the version format. + This will avoid having to do a two staged release to get a proper perl + distribution tarball. + * Packaging: + - autopkgtest: Add file to Depends fields. + - autopkgtest: Clarify behavior on root/non-root requirement. + - Bump Standards-Version to 4.3.0 (no changes required). + - Remove now unused assert usertag description. + - Remove trailing whitespace from changelog. + - Remove Origin and Bugs fields from control file. + - Include a bug-script to report on tainted merged-usr-via-symlinks. + * Test suite: + - libdpkg: Fix unit test for file_slurp(). Closes: #920974 + Diagnosed by Frank Schaefer . + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #921942 + * German (Sven Joachim). + * Simplified Chinese (Zhou Mo). Closes: #920972 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #921943 + * French (Jean-Pierre Giraud). Closes: #920905 + * German (Helge Kreutzmann). +- from version 1.19.4 + * start-stop-daemon: Do not sanity check the pidfile when it is specified as + /dev/null, as that implies the caller wants to start the program no matter + what. Closes: #920242 + * Portability: + - start-stop-daemon: Only use SO_PASSCRED if defined. Fixes build failure + at least on GNU/Hurd. + * Packaging: + - autopkgtest: Pass --disable-nls and --disable-dselect to configure. + - autopkgtest: Change Depends to «build-essential, autoconf, pkg-config». +- from version 1.19.3 + [ Guillem Jover ] + * dpkg-source: Stop filtering @builddeps@ from Testsuite-Triggers field. + Closes: #910734 + * dpkg-genchanges: Only reference binary packages being uploaded, which + means that for a source-only upload, the Binary and Description fields + should be empty. Closes: #818618 + * dpkg-scanpackages: Do not compute unnecessary checksums when using the + --hash argument. Based on a patch by Chris Lamb . + Closes: #916456 + * dpkg-scanpackages: Emit a warning with the list of repeat packages. + Prompted by Johannes Schauer . + * start-stop-daemon: Check whether standalone --pidfile use is secure. + Prompted by Michael Orlitzky . + * start-stop-daemon: Print complete verbose lines, instead of partial lines + with no newlines and a final print with a newline. + * start-stop-daemon: Add new --notify-await and --notify-timeout options, + which implement the systemd readiness protocol for services. + Closes: #910707 + * update-alternatives: Add new --debug option. + * update-alternatives: Fix removal of obsolete slaves from the linked list. + Reported by Andreas Beckmann . Closes: #916799 + * vendor.mk: Fix dpkg_vendor_derives_from macro documentation. + Thanks to Colin Watson . Closes: #913816 + * vendor.mk: Add support for an improved dpkg_vendor_derives_from macro. + Version the macros so that both can be used, and default the unversioned + one to the version 0 macro. + * dpkg: Mark the package we are giving up on a trigger cycle as "istobe" + normal, so that the dependency checks know they cannot expect this package + to be processed anymore. Otherwise we ended up never detecting that we + were not making progress, as we expected to process this package at a later + point, when that would never happen anymore. This then was causing asserts + in the process queue loop. Closes: #901127, #910819 + * dpkg: Reset progress_bytrigproc once we have injected it into the current + package process queue iteration, so that we do not keep trying to process + it, which might end up generating artificial trigger cycles, if + dependencies are not satisfied yet. + * dpkg: Convert one trigger processing required type into the new try-queued + one, so that we stop skipping unsatisfiable dependency checks. + * dpkg: Move trigproc cycle reset inside try-deferred conditional. We should + only reset the cycle detection in case we are not bailing out from the + processing with an error, otherwise we could come back to this package and + detect an artificial trigger cycle. + * dpkg: Introduce a new dependency try level for trigger processing. This + completely defers trigger processing until after the dependency cycle + breaking level, so to avoid generating artificial trigger cycles, when we + end up trying to process triggers with yet unsatisifiable dependencies. + Closes: #810724, #854478, #911620 + * dpkg: Fix --help output, to clarify which arguments are optional. + * libdpkg: Add proper tar error handling. This makes the tar extractor + track and report back parse errors, so that we can give more descriptive + messages. + * libdpkg: Detect unsupported tar entry types to give better error messages. + * libdpkg: Add new db-fsys:Files and db-fsys:Last-Modified virtual fields. + * Perl modules: + - Dpkg::Changelog::Debian: Preserve modelines at EOF. Closes: #916056 + Thanks to Chris Lamb for initial test cases. + - Dpkg::File: Make file_slurp() also accept pathnames in addition to + filehandles. + - Dpkg::Vendor::Ubuntu: Fix buildflags override after default setting move. + Based on a patch by Iain Lane and + Adam Conrad . Closes: #915881 + - Dpkg::Shlibs::Objdump: Remove unused Dpkg::IPC import. + - Dpkg::Shlibs::Objdump: Only select objdump program when going to use it. + - Dpkg::Source::Package: Do not reinitialize fields member in constructor. + - Dpkg::Source::Patch: Do not recommend --include-removal when not + supported. Closes: #913012 + - Dpkg::Source::Package::V3::Bzr: Fix format name in output message. + - Dpkg::Source::Package: Add a new format option to the new constructor. + Prompted by James McCoy . + - Dpkg::Source::Package: Improve debian/source/format parsing and + validation. + - Dpkg::Source::Format: New public module. + Prompted by Mattia Rizzolo . + * Documentation: + - dpkg(1): Clarify --remove action. Closes: #914478 + - dpkg-query(1): Clarify --list option behavior when no arguments are + specified. Closes: #917098 + - deb-control(5): Clarify by adding a reference to deb-src-control(5) and + removing an invalid comment in the example. + Prompted by Helmut Grohne . + - dpkg(1): Clarify databases used by --yet-to-unpack and --predep-package. + Prompted by Johannes Schauer . + - Clarify character classes for various formats in man pages, by + explicitly listing the character ranges within parenthesis. + Prompted by Ian Jackson . + - dpkg-query(1): Document the version introducing the -f option. + - dpkg-architecture(1): Add reference to the TERMS section in the + VARIABLES section. Prompted by Axel Beckert . + - Fix POD for Dpkg::Interface::Storable derived method implementations. + - Dpkg::Deps::Simple(3): Fix POD signature for new constructor. + * Code internals: + - dpkg-maintscript-helper: Use an explicit escape instead of a literal + backslash. + - Quote shell variables. Reported by Johannes Schauer . + - Switch perl code to use the new Dpkg::Source::Format module. + - dpkg-source: Move source format selection earlier in the build. + - dpkg-source: Use new format argument for Dpkg::Source::Package->new(). + - dpkg-shlibdeps: Remove unused variable. + - dpkg-scanpackages: Unroll a single iteration loop. + - start-stop-daemon: Compare foundany against 0 instead of treating it + like a boolean. + - start-stop-daemon: Switch code to use new info() and debug() functions. + - update-alternatives: Use enums for actions instead of strings. + - update-alternatives: Switch verbose selection into an enum. + - dpkg: Negate tortoise_not_in_hare() function name and return value. + - dpkg: Initialize trigcyclenode's next member once. + - dpkg: Use common pattern of assigning as an iterator. + - dpkg: Factor trigproc_new_cyclenode() out from check_trigger_cycle(). + - dpkg: Switch dependtry from an int to an enum. + - dpkg: Move dependtry description from deferred_configure() to its + declaration. + - dpkg: Split trigger processing types into required, try-queued and + try-deferred. + - dpkg-query: Rename variable to avoid shadowing a local function. + - When allocating use the variable instead of the type in sizeof(). + - dselect: Rename variable r to pkgbin. + - libdpkg, dpkg: Rename r variables to fnn. + - libdpkg: Rename ret variable to next. + - libdpkg: Cleanup fsys module symbol names. + - libdpkg: Rename pkg_db symbols to pkg_hash. + - libdpkg: Add new warning printer setter function. + Prompted by Julian Andres Klode . + - libdpkg: Add new DPKG_ERROR_OBJECT macro. + * Build system: + - get-version: Use a format string with printf. + - run-script: Use $() instead of deprecated ``. + - run-script: Remove unused PERL_PROFILE variable, PERL5OPT can be used + instead, and does not require leaving an unquoted variable around. + - run-script: Add «set -e». + - Build.PL: Set environment variables only for CPAN tests. + - Build.PL: Set locale for CPAN tests to C. Fixes CPAN#127314. + - configure: Split AM_INIT_AUTOMAKE arguments into different lines. + * Packaging: + - Bump Standards-Version to 4.2.1 (no changes needed). + - Switch to debhelper compatibility level 11. + - Create the log file in postinst only if it does not exist. + Prompted by Johannes Schauer . + - Add superficial autopkgtest functional tests. + * Test suite: + - Add new shellcheck author test. + - Add descriptions for the shellcheck exclude codes. + - Update cppcheck suppressions. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #912023 + * German (Sven Joachim). + * Italian (Milo Casagrande). Closes: #915610 + * Portuguese (Miguel Figueiredo). Closes: #917813 + * Simplified Chinese (Zhou Mo). Closes: #919040 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #912024 + * German (Helge Kreutzmann). +- from version 1.19.2 + [ Guillem Jover ] + * dpkg: Fix --force-not-root for chown() and chmod() based syscalls, and + give a more meaningful error message on chroot(). Closes: #614126 + * dpkg-divert, dpkg-statoverride: Add new --instdir and --root options, + and make the commands honor the DPKG_ROOT environment variable. + Closes: #487108 + * libdpkg: Call the pager with «$SHELL -c» to respect POSIX. Closes: #910009 + * libdpkg: Do not spawn a pager if we are going to call «cat». + * libdpkg: Honor DPKG_PAGER when spawning a pager. + Suggested by Craig Sanders . + * libdpkg: Set LESS to “-FRSXMQ” if not already set, when spawning a pager. + * libdpkg: Ignore SIGPIPE when setting up a pager, and then ignore EPIPE + errors when writing to stdout, otherwise if we quit the pager early, the + program will exit with an error code. + * libdpkg: Set stdout to be fully buffered when using a pager. + * dpkg, dpkg-query: Add new --no-pager option. For dpkg this is also a + configuration option. Closes: #909754 + * Perl modules: + - Dpkg::OpenPGP: Ignore Version field in enarmored output. + Fixes CPAN#127217. + - Dpkg::OpenPGP: Do not read the gpg user configuration file. + - Dpkg::Source::Functions: Reimplement is_binary() w/o using diff(1). + - Dpkg::Source::Package::V2: Split the BinaryFiles module into its own + file, and give it a more generic name (Dpkg::Source::BinaryFiles). + - Dpkg::Source::Package::V2: Move binary file detection to BinaryFiles + module. + * Documentation: + - dpkg-buildpackage(1): Clarify --build=source explanation. + - dsc(5): Clarify what “flattened” means in Testsuite-Triggers. + Prompted by Mattia Rizzolo . + - dsc(5): Add a reference to where the source formats are described. + Prompted by Manuel A. Fernandez Montecelo . + - dpkg-source(1): Improve documentation on vendor-specific series files. + - deb-control(5): Document Build-Ids field. + Prompted by Stuart Prescott . + - dpkg(1): Clarify which fields are affected by dependency options. + Prompted by James Clarke . + - dpkg-query(1): Document the PAGER environment variable usage. + - Dpkg(1): Add POD documentation about the module hierarchy and API. + * Code internals: + - dpkg-split: Use nfstrnsave() instead of nfmalloc() + memcpy(). + - libdpkg: Add new fsys-dir module. + - libdpkg: Pass the file contents to the pager instead of the filename. + - libdpkg: Add a pager kill switch, so that it can be forcefully disabled. + * Build system: + - Distribute a LICENSE file on CPAN. + - Do not make the Build.PL script executable. + - Generalize PACKAGE_CPAN_SIGN by setting PACKAGE_DIST_IS_RELEASE instead. + - Add a release_status key to the CPAN metadata. + - Fix typo in CPAN recommends key. + - Improve test and author CPAN dependencies. + * Packaging: + - Break libapt-pkg5.0 instead of apt. Closes: #909959 + Analysis by Sven Joachim . + * Test suite: + - Skip version checks involving «dpkg --compare-versions» if not available. + This is relevant on CPAN or on non-dpkg-based systems. + [ Updated programs translations ] + * Polish (Łukasz Dulny). + [ Updated man pages translations ] + * German (Helge Kreutzmann). +- from version 1.19.1 + [ Guillem Jover ] + * Fix logic in dpkg-buildpackage to decide whether to run build targets, + which broke tons of packages that are violating Debian policy MUSTs. + Thanks to James Clarke . Closes: #878899 + * Do not try to recompute hashes for the .dsc file when signing binary-only + builds in dpkg-buildpackage. Reported by Ximin Luo . + * Pass the correct source stanza to the dpkg-buildpackage code parsing the + Rules-Requires-Root field. This meant the field was being ignored. + * Run dpkg-source directly from the current working directory in + dpkg-buildpackage, instead of changing directory back and forth. + * Setup and check rootcommand in dpkg-buildpackage only if it is going to + be needed. Reported by Niels Thykier . + * Add color support to dpkg-maintscript-helper (a shell script). + * Fix warning by including for makedev() in libdpkg. + * Fix directory traversal with dpkg-deb --raw-extract, by guaranteeing + that the DEBIAN pathname does not exist. Closes: #879982 + Reported by Jakub Wilk . + * Add new AS, STRIP, OBJCOPY, OBJDUMP, NM, AR and RANLIB buildtools + variables to buildtools.mk. Prompted by Helmut Grohne . + * Restore rejecting negated architectures in Architecture field in + dpkg-gencontrol and dpkg-genchanges. Regression introduced in dpkg 1.18.5. + * Fix dpkg-gensymbols to print "error" instead of "warning" when these + are fatal. Closes: #881488 + * Rename DPKG_GAIN_ROOT_CMD to DEB_GAIN_ROOT_CMD in the R³ support, as + the variable is expected to be set by any builder, not just dpkg. And + introduce ephemeral backwards compatibility even though there are no + known users. + * Do not set DEB_GAIN_ROOT_CMD in dpkg-buildpackage when the R³ value is + , following the specification. + * Specify that DEB_GAIN_ROOT_CMD in R³ should preserve the environment. + Proposed by Josh Triplett . + * Specify new DEB_RULES_REQUIRES_ROOT variable for R³ support. + * Add new --rules-requires-root option to dpkg-buildpackage. + * Declare R³ specification as "recommendation, stable" with version 1.0. + * Export architecture variables by default from architecture.mk, as + documented in dpkg-architecture(1). Closes: #888964 + Thanks to Jack Bates + * Increment the line number on dpkg --set-selections on unknown packages. + Reported by Heinz Repp . Closes: #888983 + * Switch a DEBIAN/conffile parsing assert() in dpkg due to empty lines + into an ohshit(), because this is really a run-time error. + * Fix assert() in dselect to expect the method lock file descriptor to be + initialized, instead of non-zero. + * Switch a fatal() call in start-stop-daemon into the new BUG() macro, + because it is really an internal error. + * Switch all assert() calls (except in update-alternatives) into internerr() + or BUG() calls, to get way better reporting with variable contents and + descriptions, and to make them always present independent of NDEBUG. + * Add a new --no-rename option to dpkg-divert. This is the current default + behavior, but it will make it possible to do a default switch in 1.20.x. + * Warn when using dpkg-divert --add or --remove w/o --rename or --no-rename. + * Warn when using dpkg-divert --rename on a file from an Essential package. + * Use a single “struct filenamenode” definition for the entire code base. + Closes: #746766 + * Add support for frontend locking. This makes it possible for frontends + using this new protocol, to safely lock the dpkg database w/o risk of + race conditions with other dpkg instances or frontends supporting the + same protocol. Thanks to Julian Andres Klode . + Closes: #850417, #851984 + * Do not emit perl warnings in dpkg-source --help on source formats w/o + options. + * Make dpkg-buildpackage validate OpenPGP signing key IDs length. Error out + for short key IDs and warn for long key IDs. + * On the dpkg conffile prompt, print the set of environment variables setup + for the conffile shell, for easier discoverability. + * Fix dpkg-buildpackage option --rules-file parsing. It was trying to parse + it as --rules-target, which due to the ordering was a no-op. + * Only check for fallback build targets presence on binary builds in + dpkg-buildpackage. + * Only check required build dependencies for known targets specified with + dpkg-buildpackage --rules-target option. + Reported by Johannes Schauer . + * Track package status dirtiness in dpkg to only log and report in status-fd + when it has changed, removing duplication in output. Closes: #365921 + * Use Synopsis instead of Summary for the short Description, to unify the + nomenclature and to make it more descriptive. Add a new binary:Synopsis + virtual field to dpkg-query show format. + * Add new dpkg-buildpackage --no-post-clean option, to be able to explicitly + select the current default behavior. + * Dump database package records in alphabetical order. This will give + reproducible status and available database files, and make it possible + to output other deb822 formatted data in a deterministic way. + * Require both standard input and output to be connected to a terminal to + use a pager. + * Run dpkg-query --list output through a pager if we are on a terminal, + instead of truncating it, to avoid data loss. Closes: #898603 + * Fix use after free in dpkg maintainer script handling. Regression + introduced in dpkg 1.19.0. + * Flush output for dpkg-query --status, --print-avail and --listfiles at + the end, instead of after each stanza. + * Add support for dumping all dpkg-query --status and --print-avail records + from the database when no arguments are specified. Closes: #616342 + * Add new dpkg-gensymbols -l option to avoid having to abuse LD_LIBRARY_PATH + for cross-build paths. + * Check that DPKG_MAINTSCRIPT_PACKAGE is defined in dpkg-maintscript-helper. + Closes: #907772 + * Switch dpkg-gencontrol and dpkg-genchanges to track automatically + generated artifacts by using the Auto-Built-Package field from the binary + package instead of hardcoding package name patterns (such as «-dbgsym$»). + * Add new --reverse option to dpkg-parsechangelog, to list the changelog + entries in reverse order. + * Architecture support: + - Add support for riscv64 CPU. Closes: #822914 + Thanks to Manuel A. Fernandez Montecelo + - Document the purpose and columns in the tupletable file. + * Portability: + - Add libcompat md5 module to the libcompat-test library, so that we + always make sure it builds, even when we use an external implementation. + - Convert libcompat md5 module to use C99 int types, instead of mapping + them from the BSD types at configure time. + - Use MD5_CTX instead of struct MD5Context, as the prevalent more portable + type on system's headers. + - Check for ldconfig command in dpkg only on platforms that do have it. + - Fix file descriptor leak in start-stop-daemon on AIX. + - libcompat: Add new strchrnul() implementation. + * Perl modules: + - Dpkg::Source::Package::V1: Check that $tarname is defined before use. + Thanks to Christoph Biedl . + Closes: #879124 + - Dpkg::Vendor::Debian: Use proper %use_feature key. This was causing perl + errors on paths not accepted for fixdebugpath. + Reported by Mattia Rizzolo , on IRC. Closes: #881051 + - Dpkg::Changelog: Print versions for incorrect changelog range warnings. + Thanks to Paul Wise . + - Dpkg::Shlibs::SymbolFile: Check that $state->{seen} exists instead of + $state being just defined. Fixes regression in dpkg-gensymbols symbols + output. Thanks to Dmitry Shachnev . Closes: #880166 + - Dpkg::Arch: Add new positive options argument to arch validators. + - Dpkg::Vendor::Debian: Mark hurd-i386 as having gcc builtin PIE. + Requested by Samuel Thibault . + - Dpkg::Source::Package::V2: Print one building line per existing tarball. + - Dpkg::Source::Package: Print building lines for upstream tarball + signatures. Closes: #888787 + - Dpkg::Deps: Turn virtualpkg tracking from an arrayyref into a hashref. + - Dpkg::Vendor::Debian: Mark riscv64 as having gcc builtin PIE. + - Dpkg::Shlibs::Objdump: Fix ELF program detection, for PIE binaries and + executable libraries. + - Dpkg::Version: Fix bool overload behavior back to be an is_valid() + alias. Emit a specific perl warning until 1.20.x so that users can check + whether the semantic change has any impact on the code, which can then + be quiesced. Closes: #895004 + - Dpkg::Changelog::Parse: When detecting the changelog format, read the + last 4KiB of the file instead of using «tail -n40», which should be + both faster and more portable, as the default tail(1) is not POSIX + compliant on all systems (c.f. Solaris). + - Dpkg::Build::Types: Add new set_build_type_from_targets() function. + - Dpkg::Shlibs::SymbolFile: Always assign a proper Dpkg::Version to the + deprecated variable, otherwise the scalar value 0 can get confused + on scalar context to denote it is *not* deprecated instead of being + version 0. + - Dpkg::Shlibs: Disable bool overload Dpkg::Version warnings. + - Dpkg::Vendor::Debian: Inline _parse_feature_area() into + _add_build_flags(), for a small speed up and line count reduction. + - Dpkg::BuildFlags: Move default flags setting into the Dpkg::Vendor + modules. + - Dpkg::Gettext: Fix fallback textdomain() to honor its expected interface. + - Dpkg::Deps: Split subpackages into their own separate modules. + - Dpkg::Source: Do not change patch permissions if not necessary. + Closes: #898010 + - Dpkg::Substvars: Reword used/unused warnings to clarify their meaning. + Closes: #904258 + - Dpkg::Shlibs: Warn when using LD_LIBRARY_PATH with a private library + directory which is a descendent of the current working directory. + - Dpkg::Source::Package::V3::Quilt: Print series file used when applying + patches. + - Dpkg::OpenPGP: Return the destination path on successful ASCII armor + conversion. + - Dpkg::Control::Fields: Do not use & sigil for function calls. + - Dpkg::Shlibs: Ignore nonexistent directories present in LD_LIBRARY_PATH. + - Dpkg::Deps::KnownFacts: Satisfy :native with arch:all packages too. + These are treated as native packages everywhere else in the multi-arch + design, this was the only exception, which has become a source of + packaging problems as of late. This was apparently an oversight in + the original implementation. Closes: #854438 + - Dpkg::Vendor::Debian: Add fixfilepath support to reproducible feature. + - Dpkg::Dist::Files: Add support for file attributes. + * Documentation: + - Update gettext minimal version in README. + - Add a missing dot on the dpkg-buildflags(1) «lfs» feature paragraph. + Spotted by Helge Kreutzmann . + - Document DPKG_COLORS environment variable for all programs using it. + - Document DPKG_NLS environment variable for all programs using it. + - Document the Testsuite and Testsuite-Triggers fields in + deb-src-control(5). Prompted by Mattia Rizzolo . + - Update git URLs for move away from alioth.debian.org. + - Fix set_build_type_from_options() description in Dpkg::Build::Types. + - Clarify PIE build flag feature semantics. Closes: #900088 + - Clarify dpkg-buildpackage pre and post-clean options and their default + state. + - Add --build option equivalents for dpkg-buildpackage short build type + options in --help output. + - Fold dpkg-buildpackage --[no-]check-builddeps in --help into both -D + and -d option descriptions. + - Mark profiles as a replaceable item in dpkg-buildpackage --help output. + - Update test suite requirements in README. + - Document textdomain() and ngettext() replacement functions in + Dpkg::Gettext POD. + - Clarify arch-qualified dependency simplification in Dpkg::Deps POD. + - Improve Dpkg::Deps modules and methods documentation. + - Fix typo in deb-changes(5). Closes: #902616 + - Clarify awaiting state for interest and activate directives. + Closes: #904060 + - Fix man page markup. Closes: #900033, #900035, #900040 + Thanks to Bjarni Ingi Gislason . + - Fix Doxygen comment for libdpkg dpkg_arch_find() function. + - Document the dangers of using start-stop-daemon(8) only with --pidfile + as matching option with the pid file owned by a non-privileged user. + * Code internals: + - Do not use stringy eval to define different sub implementations, + just assign an anonymous sub to the typeglob. + - Use memccpy() instead of strncpy() to quiesce a gcc-8 warning. + - Change pkgbin_name_needs_arch() to never arch-qualify packages that + have an empty or no architecture, which was already handled as part + of varbuf_add_archqual(). + - libdpkg: Factor out cached arch-qualified package name generation into + new pkgbin_name_archqual() function. + - libdpkg: Add new pkg_name() and pkgbin_name() const variants. + - libdpkg, dselect: Use new pkg_name_const() and pkgbin_name_const(). + - libdpkg: Rename struct pkginfo files member to archives. + - dpkg: Call ensure_package_clientdata() defensively. + - dpkg: For read-only state functions, check that clientdata is allocated + before using it. + - libdpkg: Move files list information from dpkg clientdata to pkginfo. + - dpkg: Move ensure_package_clientdata() into its own file. + - libdpkg: Move db-fsys code from src to lib/dpkg. + - libdpkg: Rename pkg-db module to pkg-hash. + - libdpkg: Simplify pkg_files_blank() by using a pointer to pointer to + track the previous entry. + - libdpkg: Factor out package files handling into its own module. + - libdpkg: Switch to a new tiny struct to track file on-disk identity. + This should reduce the run-time memory used. + - libdpkg: Reset nfiles in files_db_reset(). + - libdpkg: Split push_cleanup() into push_cleanup_fallback(). + - Switch from strchr() + strlen() to strchrnul(). + - libdpkg: Change dpkg_error to track errno values. + - libdpkg: Add new varbuf_new() and varbuf_free() functions. + - libdpkg: Add new file_slurp() function. + - libdpkg: Switch db-fsys to use the new file_slurp() function. + - libdpkg: Add new pkg_infodb_reset_dir(). + - libdpkg: Add new m_dup() function. + - libdpkg: Factor out package stanza printing into its own function. + - libdpkg: Split pager specific code into its own module. + - libdpkg: Add pager spawning and reaping support. + - Use new pager spawning support instead of open-coding it, or piping it + via a shell invocation, which required metacharacter escaping. + - dpkg-query: Split enqperpackage() into each different action. + * Build system: + - Set distribution tarball format to ustar, instead of default v7 format. + - Mark PO4A and POD2MAN as precious variables. + - Automatically replace -Wno- with -W when testing compiler flags, + instead of passing the positive form manually. + - Enable clang -Wdocumentation warning if available. + - Enable gcc-7 -Wregister warning if available. + - Add CPAN distribution machinery for the perl modules. Closes: #821177 + - Add an autogen script to help people bootstrap the project. + - Distribute the man.stamp from VPATH. + - Preserve timestamps when distributing man pages. + - Add a GitLab CI configuration file. + - Disable C optimization levels when configuring for code coverage. + * Packaging: + - Install update-alternatives policykit-1 file. + - Add Breaks to libdpkg-perl against pkg-kde-tools (<< 0.15.28~), as + that package is using private modules with no API guarantees, that + obviously broke due to recent changes in 1.19.0. Closes: #878919 + - Add Breaks on debhelper << 10.10.1~ to dpkg-dev, so that debhelper users + wanting to use R³ support do not need a versioned dependency on dpkg-dev. + - Add Breaks dgit << 3.13~ to libdpkg-perl, as older dgit versions assumed + that Dpkg::Compression::Process was available, via implicit import + from Dpkg::Source::Package. + Reported by Ian Jackson . + - Bump Standards-Version to 4.1.1 (no changes needed). + - Add bzip2 and xz-utils to Build-Depends, required by the functional test + suite, but shadowed by dpkg-dev from the build system pulling those in. + - Add versioned libncurses-dev as the first Build-Depends alternative. + Thanks to Sven Joachim . + - Do not pass VERBOSE to test suite, as we are not using any automake + test driver, so it does not get honored. + - Rename maintainer-build DEB_BUILD_OPTIONS to new standardized terse. + - Enable verbose test suite only in non-terse builds. + - Add a Suggests on sensible-utils to libdpkg-perl. + - Switch libdpkg-perl again to depend on perl:any, now that debootstrap + in stable (stretch) supports arch-qualified dependencies. + - Update libdpkg-perl public module list in package description. + - Add Breaks on apt (<< 1.7~b) for --status-fd duplicate removals. + * Test suite: + - Skip Dpkg::OpenPGP test if gpg is not present. + - Check POD in all perl scripts. + - Consider *.PL also to be perl files. + - Infer automatically the unit test data directory. + - Infer automatically the unit test temp directory. + - Add new po author test case (use i18nspector if available). + - Add new test cases to clarify arch-qualified dependency simplification. + - Add several TODO tests cases for dependency simplification. + - Add new cppcheck author test. + - Add support for new test_get_srcdir() test_get_builddir(). + - Add new unit tests for namevalue, fsys-hash and pkg-hash libdpkg modules. + - Improve coverage of perl unit tests. + - Delete fixup lines from i18nspector output instead of emptying them. + - Add new codespell author test. + - Add new test that the public libdpkg headers can be compiled with C++. + [ Josh Triplett ] + * Perl: Replace all calls to Cwd::cwd with Cwd::getcwd; the former calls + /bin/pwd, while the latter uses the getcwd() syscall directly. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #881401 + * German (Sven Joachim). + * Italian (Milo Casagrande). Closes: #883085 + * Polish (Łukasz Dulny). + * Simplified Chinese (Zhou Mo, Boyuan Yang). Closes: #900547, #890806 + * Spanish (Javier Fernández-Sanguino). + * Traditional Chinese (Buo-ren Lin). Closes: #905887 + * Turkish (Mert Dirik). Closes: #886252 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #881403 + * German (Helge Kreutzmann). + * Simplified Chinese (Zhou Mo). + +------------------------------------------------------------------- +Fri Apr 23 09:07:05 UTC 2021 - Martin Liška + +- Add use-clamp-from-C-STD-library.patch in order to fix + clamp clash (boo#1181867). + +------------------------------------------------------------------- +Tue Aug 25 13:39:24 UTC 2020 - Martin Liška + +- Add ncurses-fix.patch in order to fix ncurses issue. + +------------------------------------------------------------------- +Fri Aug 2 06:58:54 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library. + +------------------------------------------------------------------- +Mon Jan 14 15:48:48 CET 2019 - kukuk@suse.de + +- Use %license instead of %doc [bsc#1082318] + +------------------------------------------------------------------- +Thu Jun 28 11:01:28 UTC 2018 - tchvatal@suse.com + +- Version update to 1.19.0.5: + * Fix directory traversal with dpkg-deb --raw-extract, by guaranteeing + that the DEBIAN pathname does not exist. Closes: #879982 + Reported by Jakub Wilk . + * Rename DPKG_GAIN_ROOT_CMD to DEB_GAIN_ROOT_CMD in the R³ support, as + the variable is expected to be set by any builder, not just dpkg. And + introduce ephemereal backwards compatibility even though there are no + known users. + * Do not set DEB_GAIN_ROOT_CMD in dpkg-buildpackage when the R³ value is + , following the specification. + * Specify that DEB_GAIN_ROOT_CMD in R³ should preserve the environment. + Proposed by Josh Triplett . + * Specify new DEB_RULES_REQUIRES_ROOT variable for R³ support. + * Declare R³ specification as "recommendation, stable" with version 1.0. + * Architecture support: + - Add support for riscv64 CPU. Closes: #822914 + Thanks to Manuel A. Fernandez Montecelo + * Perl modules: + - Dpkg::Vendor::Debian: Use proper %use_feature key. This was causing perl + errors on paths not accapted for fixdebugpath. + Reported by Mattia Rizzolo , on IRC. Closes: #881051 + - Check that $state->{seen} exists instead of $state being just defined. + Fixes regression in dpkg-gensymbols symbols output. + Thanks to Dmitry Shachnev . Closes: #880166 + - Mark hurd-i386 as having gcc builtin PIE in Dpkg::Vendor::Debian. + Requested by Samuel Thibault . + +------------------------------------------------------------------- +Mon Jan 22 18:10:46 UTC 2018 - tchvatal@suse.com + +- Drop commented out selinux line that is not needed in current + buildsystem + +------------------------------------------------------------------- +Tue Jan 16 10:56:50 UTC 2018 - tchvatal@suse.com + +- Version update to 1.19.0.4: + * Tons of architecture fixes + * Testsuite was expanded + +------------------------------------------------------------------- +Wed Dec 13 15:55:48 UTC 2017 - mpluskal@suse.com + +- Update test dependencies +- Build localised manpages + +------------------------------------------------------------------- +Sat Dec 9 09:03:19 UTC 2017 - kkaempf@suse.com + +- fix Leap 42.2,42.3 build: add drop-tar-option.patch + +------------------------------------------------------------------- +Wed Nov 8 16:15:47 UTC 2017 - mpluskal@suse.com + +- Small cleanup with spec-cleaner +- Update dependencies + +------------------------------------------------------------------- +Mon Mar 27 12:31:08 UTC 2017 - tchvatal@suse.com + +- Version update to 1.18.23: + * Various fixes all around + * Refreshed patch update-alternatives-suse.patch + +------------------------------------------------------------------- +Wed Sep 7 12:40:11 UTC 2016 - tchvatal@suse.com + +- Version update to 1.18.10: + * Various few fixes, see changelog file in the package + * Refresh patch update-alternatives-suse.patch + * Remove patch dpkg-sparc.diff + +------------------------------------------------------------------- +Tue May 31 11:48:19 UTC 2016 - tchvatal@suse.com + +- Require touch in post phase bnc#982336 + +------------------------------------------------------------------- +Wed Apr 6 18:20:13 UTC 2016 - tchvatal@suse.com + +- Fix bnc#969171 by updating even with equal priority + * 0001-In-case-of-equal-priority-rather-update.patch + +------------------------------------------------------------------- +Fri Mar 25 09:49:52 UTC 2016 - tchvatal@suse.com + +- Version update to 1.18.4: + * Various fixes from upstream debian, see changelog file distributed + with the package + * Refreshed patch update-alternatives-suse.patch + +------------------------------------------------------------------- +Fri Jun 5 13:44:48 UTC 2015 - tchvatal@suse.com + +- Exclude the update-alternatives manpage to avoid conflict + +------------------------------------------------------------------- +Thu Jun 4 11:14:05 UTC 2015 - tchvatal@suse.com + +- Verion bump to 1.18.1: + * Bump to latest upstream release + * Plenty of fixes with too long changelog, see changelog file in + documentation + * Also fixes bnc#926749 CVE-2015-0840 + * Refresh patch: + + update-alternatives-suse.patch + +------------------------------------------------------------------- +Wed Apr 1 12:59:58 UTC 2015 - tchvatal@suse.com + +- Cleanup a bit with-spec-cleaner help + +------------------------------------------------------------------- +Wed Apr 1 12:54:48 UTC 2015 - tchvatal@suse.com + +- Version bump to 1.17.24: + * Translation updates + * Various small fixes + +------------------------------------------------------------------- +Mon Jan 5 15:30:22 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.17.23 also fixes bsc#941619 + + Use a matching group instead of ${^MATCH} in s/// in dselect build script. + + Skip tar extractor tests if tar is not GNU tar >= 1.27. + + Reset the trigger cycle tracking on unsatisfied dependencies during + trigger processing. Closes: bdo#771730 + + Fix out-of-bounds buffer read accesses when parsing field and trigger + names or checking package ownership of conffiles and directories. + + Add versioned Breaks on packages creating trigger cycles. Namely auctex, + apt-cudf, ccache, cups, distcc, fusionforge-plugin-mediawiki, gap-core, + gxine, hoogle, icecc, libjs-protoaculous, mcollective, pypy, wordpress + and xfonts-traditional. + + Update translations +- Remove unapplied patches; SLE11 support is disabled in project home + + dpkg-pod2man-no-utf8.patch + + dpkg-old-File-Path.patch + + dpkg-old-Test-More.patch +- Remove obsolete patches + * dpkg-ppc64le.diff + * dpkg-archive_tar_format_gnu.patch + * dpkg-archtable-suse.patch +- Rename updated patch + update-alternatives-1.16.8-suse.patch > update-alternatives-suse.patch +- Clean up a bit specfile + +------------------------------------------------------------------- +Mon Aug 25 13:35:42 UTC 2014 - jblunck@infradead.org + +- Add dpkg-archive_tar_format_gnu.patch: Make Dpkg::Source::Archive use tar --format=gnu + +------------------------------------------------------------------- +Sat Aug 23 19:02:35 UTC 2014 - dvlaeev@suse.com + +- Update pkg-ppc64le.diff to fix Debian name for ppc64le + +------------------------------------------------------------------- +Mon May 12 13:58:18 UTC 2014 - tchvatal@suse.com + +- Use SUSE not SuSE. + +------------------------------------------------------------------- +Mon Dec 2 21:31:13 UTC 2013 - dvaleev@suse.com + +- add dpkg-ppc64le.diff to fix ppc64 LE build + +------------------------------------------------------------------- +Wed Jul 3 09:57:49 UTC 2013 - jengelh@inai.de + +- Add dpkg-sparc.diff to unbreak compilation on sparcv9 build + +------------------------------------------------------------------- +Tue Mar 26 13:22:40 UTC 2013 - frank.lichtenheld@sophos.com + +- Enable test suite +- Fix dpkg-source for SLES 11. Quilt.pm was depending on a + newer API of File::Path. + +------------------------------------------------------------------- +Mon Mar 25 20:25:54 UTC 2013 - frank.lichtenheld@sophos.com + +- update to dpkg-1.16.10 +* Add missing @LIBLZMA_LIBS@ to Libs.Private in libdpkg.pc.in +* Fix OpenPGP armored signature parsing, to be resilient against doctored + input, including source package control files. deb#695919 +* Fix warning in Dpkg::Source::Archive with «perl -w» due to redefinition + of getcwd() by removing unused POSIX modules usage. deb#700978 +- update to dpkg-1.16.9 +* Fix regression on old-style binNMUs for packages that specify an + explicit binary version to dpkg-gencontrol, by always fixing up the + source version. deb#690823 +* Fix dpkg-source regression in "3.0 (quilt)" source packages while + unapplying patches that remove all files in a directory. deb#683547 +* Fix segfault in field format parsing on empty strings, affecting + «dpkg-query -W -f ''» and «dpkg-deb -W --showformat=''». lp#1035512 +- see /usr/share/doc/packages/dpkg/changelog for details + +------------------------------------------------------------------- +Thu Oct 11 18:55:33 UTC 2012 - frank.lichtenheld@sophos.com + +- add Recommends on File::FcntlLock, Dpkg::File will + use it if available + +------------------------------------------------------------------- +Thu Sep 27 21:55:24 UTC 2012 - frank.lichtenheld@sophos.com + +- update to dpkg-1.16.8 +* only translation updates +* see /usr/share/doc/packages/dpkg/changelog for details +- simplify spec file by removing redundant %if clauses +- only use Supplements: on SUSE, Fedora doesn't know it + +------------------------------------------------------------------- +Fri Jul 6 23:07:56 UTC 2012 - frank.lichtenheld@sophos.com + +- update to dpkg-1.16.7 +* see /usr/share/doc/packages/dpkg/changelog for details +- add Obsoletes and Provides for their deb counterparts + to dpkg-devel and dpkg-lang. Needed to expand %lang_package + for that. +- remove SLE10 support from spec, not working anyway + +------------------------------------------------------------------- +Tue Jun 26 20:25:11 UTC 2012 - frank.lichtenheld@sophos.com + +- package dpkg separately + +------------------------------------------------------------------- +Mon May 21 03:31:50 UTC 2012 - i@marguerite.su + +- update to dpkg-1.16.3 + * see http://packages.debian.org/changelogs/pool/main/d/dpkg/dpkg_1.16.3/changelog +- update to debhelper 9.20120518 + * Fix versioned dependency on dpkg for xz options. Closes: #672895 + * dh_link: Doc improvement. Closes: #672988 +- update to devscripts-2.11.7 + * see http://packages.debian.org/changelogs/pool/main/d/devscripts/devscripts_2.11.7/changelog +- reworked patch. remove version for archtable. for it's universal. +- add dh_make 0.60 + * see http://packages.debian.org/changelogs/pool/main/d/dh-make/dh-make_0.60/changelog +- add dh_autoreconf 6 + * see http://packages.debian.org/changelogs/pool/main/d/dh-autoreconf/dh-autoreconf_6/changelog + +------------------------------------------------------------------- +Thu May 3 20:23:11 UTC 2012 - frank.lichtenheld@sophos.com + +- install missing parts of devscripts +* install man pages installed by debian/manpages +* install symlinks installed by debian/links + +------------------------------------------------------------------- +Sun Jan 29 20:54:50 UTC 2012 - frank.lichtenheld@sophos.com + +- update to dpkg-1.15.8.12 +* Do not fail to unpack shared directories missing on the file system + from packages being replaced by other packages. Debian Bug #631808 +* Defer hardlink renames so that there's never a point were the new + file contents are accessible from the final path before they have + been fsync()ed and cannot be executed causing ETXTBSY when trying + to open the to be installed paths for writing. Debian Bug #635683 +* Add armhf support to ostable and triplettable. + Debian Bugs #594179, #639674 + +------------------------------------------------------------------- +Tue Dec 20 20:15:25 UTC 2011 - coolo@suse.com + +- remove call to suse_update_config (very old work around) + +------------------------------------------------------------------- +Sat Nov 26 00:18:57 UTC 2011 - frank.lichtenheld@sophos.com + +- update to dpkg-1.15.8.11 +* Do not segfault on "dpkg -i --no-act". +* Fix typo in "dpkg-name --overwrite" argument parsing so that it actually + works at all. Ubuntu Bug #728708 +* Fix dpkg-split to not corrupt binary part metadata when generating the + split packages on 32-bit systems. +* Fix a regression in dpkg-divert where using --rename led to a failure when + the rename implies crossing file systems. + +------------------------------------------------------------------- +Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + (cf. packaging guidelines) +- Use %_smp_mflags for parallel build + +------------------------------------------------------------------- +Thu Mar 31 11:39:18 UTC 2011 - flichtenheld@astaro.com + +- Merge openSUSE:Tools changes with system:packagemanager changes + +------------------------------------------------------------------- +Thu Mar 17 15:32:12 UTC 2011 - mvyskocil@suse.cz + +- split the u-a to separate spec file to reduce a build cycle + +------------------------------------------------------------------- +Wed Mar 16 09:07:15 UTC 2011 - mvyskocil@suse.cz + +- update to dpkg-1.15.8.10 +- update to debhelper-7.5.17 +- update to devscripts-2.10.71 +- see /usr/share/doc/packages/deb/*/changelog for details +- build and install update-alternatives as separate subpackage +- add download urls to source tags +- remove pushd/popd madness in %prep, use only one cd .. +- convert sed archtable hackery to patch and refresh patches +- rewrite a architecture mugging in config.h to be more readable + +------------------------------------------------------------------- +Fri Jan 28 14:17:27 UTC 2011 - adrian@suse.de + +- fix build on old distros + +------------------------------------------------------------------- +Fri Jan 28 12:57:25 UTC 2011 - flichtenheld@astaro.com + +- install missing debhelper files + - install dh + - install Debian/Debhelper/Buildsystem/*.pm + +------------------------------------------------------------------- +Thu Jul 29 23:38:02 CEST 2010 - wolfgang.rosenauer@basyskom.de + +- make 'debcommit -r' work with mercurial 1.6 + +------------------------------------------------------------------- +Fri Apr 9 09:23:40 UTC 2010 - puzel@novell.com + +- update to dpkg-1.15.6.1 +- update to debhelper-7.4.17 +- update to devscripts-2.10.62 + - see /usr/share/doc/packages/deb/*/changelog for details +- split deb-devel subpackage + +------------------------------------------------------------------- +Fri Feb 19 11:24:07 UTC 2010 - puzel@novell.com + +- update to dpkg-1.15.5.6 +- update to debhelper-7.4.15 +- update to devscripts-2.10.61 + - see /usr/share/doc/packages/deb/*/changelog for details + +------------------------------------------------------------------- +Wed Jan 6 04:37:36 UTC 2010 - jengelh@medozas.de + +- enable parallel building with smp_mflags + +------------------------------------------------------------------- +Fri Dec 18 09:06:00 UTC 2009 - wr@rosenauer.org + +- try to fix older dists + +------------------------------------------------------------------- +Wed Nov 25 12:01:33 UTC 2009 - puzel@novell.com + +- update to dpkg-1.15.5.2, debhelper-7.4.8, devscripts-2.10.58 + - huge number of changelogs - please see appropriate changelogs + for details: + - /usr/share/doc/packages/deb/debhelper/changelog + - /usr/share/doc/packages/deb/dpkg/changelog + + +------------------------------------------------------------------- +Thu Nov 12 09:14:55 UTC 2009 - wr@rosenauer.org + +- include devscripts-2.10.55 +- add sensible-editor helper script + +------------------------------------------------------------------- +Thu Aug 13 13:01:58 UTC 2009 - puzel@novell.com + +- update to debhelper-7.3.12 + * dh: Allow creation of new sequences (such as to handle a patch + target for quilt), by adding an add_command function to the + sequence addon interface. + * perl_build: Fix Build check to honor source directory setting. + * perl_build: Avoid failing if forced to be used in dh_auto_clean + when Build does not exist (ie due to being run twice in a row). + * dh_builddeb: Fix man page typo. + * dh_installdeb: In udeb mode, support the menutest and isinstallable + maintainer scripts. + +------------------------------------------------------------------- +Tue Aug 4 09:54:08 CEST 2009 - puzel@novell.com + +- update to debhelper-7.3.9 + * cmake: Avoid forcing rpath off as this can break some test suites. + It gets stripped by cmake at install time. + +------------------------------------------------------------------- +Mon Jul 27 10:28:40 CEST 2009 - puzel@novell.com + +- update to debhelper-7.3.8 + * First upload of buildsystems support to unstable. + Summary: Adds --buildsystem (modular, OO buildsystem classes), + --sourcedirectory, --builddirectory, and support for cmake + and ant. + * python_distutils buildsystem: Build for all supported Python + versions that are installed. Ensure that correct shebangs are + created by using `python' first during build and install. + Also build with python*-dbg if the package build-depends + on them. + +------------------------------------------------------------------- +Thu Jul 16 12:24:58 CEST 2009 - puzel@novell.com + +- update to debhelper-7.3.4 + * Add a versioned dep on perl-base, to get a version that supports + GetOptionsFromArray. + * dh_install: Fix support for the case where --sourcedir=debian/tmp/foo + is used. Perl was not being greedy enough and the 'foo' was not stripped + from the destination directory in this unusual case. + * dh_install: Fix support for the case where debian/tmp is + explicitly specified in filename paths despite being searched by + default. + * dh_install: Add test suite covering the last 5 bugs. + +------------------------------------------------------------------- +Fri Jul 3 10:48:44 CEST 2009 - puzel@novell.com + +- update to debhelper-7.3.1 + * Modular object oriented dh_auto_* buildsystem support, + contributed by Modestas Vainius + - dh_auto_* --sourcedirectory can now be used to specify a source + directory if sources and/or the whole buildsystem lives elsewhere + than the top level directory. + - dh_auto_* --builddirectory can now be used to specify a build + directory to use for out of source building, for build systems + that support it. + - dh_auto_* --buildsystem can now be used to override the autodetected + build system, or force use of a third-party class. + - dh_auto_* --list can be used to list available and selected build + systems. + - Adds support for cmake. + - For the perl_build build system, Build is used consistently + instead of falling back to using the generated Makefile. + - Historical dh_auto_* behavior should be preserved despite these + large changes.. + * Move two more command-specific options to only be accepted by the commands + that use them. The options are: + --sourcedir, --destdir + If any third-party debhelper commands use either of the above options, + they will be broken, and need to be changed to pass options to init(). + * Make dh not complain about unknown, command-specific options passed to it, + and further suppress warnings about such options it passes on to debhelper + commands. This was attempted incompletely before in version 7.2.17. + * dh_install: Fix installation of entire top-level directory + from debian/tmp. + * dh_install: Handle correctly the case where a glob expands to + a dangling symlink, installing the dangling link as requested. + * dh_install: Fix fallback use of debian/tmp in v7 mode; a bug caused + it to put files inside a debian/tmp directory in the package build + directory, now that prefix is stripped. + * dh_shlibdeps: Ensure DEBIAN directory exists, as dpkg-shlibdeps + prints a confusing warning if it does not. + * dh_auto_install: Pass --install-layout=deb to setup.py + to support python 2.6. + * Allow command-specific options to be passed to commands + via dh without causing other commands to emit a getopt + warning or deprecation message. + * dh_installinfo: No longer inserts install-info calls into + maintainer scripts, as that is now triggerized. Adds a dependency + via misc:Depends to handle partial upgrades. Note that while + dh_installinfo already required that info files had a INFO-DIR-SECTION, + the new system also requires they have START-INFO-DIR-ENTRY and + END-INFO-DIR-ENTRY for proper registration. I assume there will be + some mass bug filing for any packages that do not have that. + +------------------------------------------------------------------- +Fri Jun 12 09:03:44 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.16 + * dh_gconf: Add missed half of postrm fragment removal. + +------------------------------------------------------------------- +Thu Jun 11 11:33:32 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.15 + * dh_strip, dh_shlibdeps: Add support for OCaml shared libraries. + * dh_compress: Avoid compressing .svg and .sgvz files, since these + might be used as images on a html page, and also to avoid needing + to special case the .svgz extension when compressing svg. + * dh_scrollkeeper: Now a deprecated no-op. + * dh_gconf: Remove postrm fragment that handled schema migration + from /etc to /usr. + +------------------------------------------------------------------- +Thu May 21 12:11:37 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.14 + * dh: Avoid writing log after override_dh_clean is run. + * dh_auto_configure: Pass --skipdeps safely via PERL_AUTOINSTALL. + * dh_auto_configure: Revert --skipdeps change + +------------------------------------------------------------------- +Wed May 13 12:05:11 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.11 + * dh: Support --with addon,addon,... + * dh_auto_configure: Add --skipdeps when running Makefile.PL, + to prevent Module::Install from trying to download dependencies. + * Support debian/foo.os files to suppliment previous debian/foo.arch + file support. + +------------------------------------------------------------------- +Mon May 11 14:56:30 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.10 + * Close COMPAT_IN filehandle. + * dh_auto_configure: Clarify man page re adding configure + parameters. + * dh_auto_configure: Pass packlist=0 when running Makefile.PL, + in case it is a Build.PL passthru, to avoid it creating + the .packlist file. + +------------------------------------------------------------------- +Wed May 6 15:50:23 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.9 + * dh_fixperms: Ensure lintian overrides are mode 644. + * dh_fixperms: Fix permissions of OCaml .cmxs files. + * dh: Add --without to allow disabling sequence addons (particularly + useful to disable the default python-support addon). +- split -lang subpackage + +------------------------------------------------------------------- +Tue Apr 21 15:56:49 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.8 + * dh_desktop: Now a deprecated no-op, since desktop-file-utils + uses triggers. + * Move dh sequence documentation to PROGRAMMING. + +------------------------------------------------------------------- +Thu Apr 16 11:55:35 CEST 2009 - puzel@suse.cz + +- update to debhelper-7.2.7 + * fix calling the same helper for separate packages in the override of dh + binary-indep/binary-arch + * add --remaining-packages option + * dh_icons: ignore gnome and hicolor themes (will be handled + by triggers) + +------------------------------------------------------------------- +Mon Apr 6 15:23:19 CEST 2009 - puzel@suse.cz + +- add a hack to detect architecture correctly (bnc#469337) + +------------------------------------------------------------------- +Mon Mar 16 16:43:15 CET 2009 - puzel@suse.cz + +- update to debhelper-7.2.6 + * examples files updated to add dh_bugfiles, remove obsolete + dh_python + * dh_auto_test: Support DEB_BUILD_OPTIONS=nocheck + * set MODULEBUILDRC=/dev/null when running perl Build scripts + to avoid ~/.modulebuildrc influencing the build + * dh_installmenus: Revert removal of update-menus calls + +------------------------------------------------------------------- +Mon Mar 9 17:40:28 CET 2009 - puzel@suse.cz + +- update to debhelper-7.2.4 + * dh_makeshlibs: Fix --add-udeb, for real + * dh_installmenus: Now that a triggers capable menu and dpkg are in + stable, menu does not need to be explicitly run in maintainer + scripts, except for packages with menu-methods files. + * dh_installdocs: No longer add maintainer script code to call + doc-base, as it supports triggers in stable. + * dh_bugfiles: New program, contributed by Modestas Vainius. + * dh: Override LC_ALL, not LANG. + * dh_installchangelogs: Support -X to exclude automatic installation + of specific upstream changelogs. + * Compat level 4 is now deprecated. + * dh_makeshlibs: Re-add --add-udeb support. + * dh_shlibdeps: Remove --add-udeb switch (was accidentially added here). + +------------------------------------------------------------------- +Thu Mar 5 15:26:28 CET 2009 - puzel@suse.cz + +- update to debhelper-7.2.2 + * dh_installmodules: Give files in /etc/modprobe.d a .conf + syntax, as required by new module-init-tools. + * dh_installmodules: Add preinst and postinst code to handle + cleanly renaming the modprobe.d files on upgrade. + * Two updates to conffile moving code from wiki: + - Support case where the conffile name is a substring of another + conffile's name. + - Support case where dpkg-query says the file is obsolete. + +------------------------------------------------------------------- +Tue Mar 3 10:10:53 CET 2009 - puzel@suse.cz + +- update to dpkg-1.15.0 and debhelper-7.2.1 + - huge number of changes, please see + /usr/share/doc/packages/deb/dpkg/changelog and + /usr/share/doc/packages/deb/debhelper/changelog + for details + +------------------------------------------------------------------- +Tue Jan 20 10:01:33 CET 2009 - puzel@suse.cz + +- partially revert change from Aug 12 2008 (bnc#467332) + +------------------------------------------------------------------- +Thu Dec 18 13:48:25 CET 2008 - puzel@suse.cz + +- update debhelper to 7.1.1 + * dh_install(1): Order options alphabetically. + * Fix some docs that refered to --srcdir rather than --sourcedir. + * Add Vcs-Browser field. + * Ignore unknown options in DH_OPTIONS. + +------------------------------------------------------------------- +Wed Oct 29 17:28:46 CET 2008 - puzel@suse.cz + +- update debhelper to 7.1.0 + * dh_installchangelogs: Fall back to looking for changelog files ending + with ".txt". + * dh_gencontrol: Ensure misc:Depends is set in substvars to avoid dpkg + complaining about it when it's empty. + * dh: Fix typo in example. + * Allow individual debhelper programs to define their own special options + by passing a hash to init(), which is later passed on the Getopt::Long. + * Move many command-specific options to only be accepted by the command + that uses them. Affected options are: + -x, -r, -R, -l, -L, -m, + --include-conffiles, --no-restart-on-upgrade, --no-start, + --restart-after-upgrade, --init-script, --filename, --flavor, --autodest, + --libpackage, --add-udeb, --dpkg-shlibdeps-params, + --dpkg-gencontrol-params, --update-rcd-params, --major, --remove-d, + --dirs-only, --keep-debug, --version-info, --list-missing, --fail-missing, + --language, --until, --after, --before, --remaining, --with + * If any third-party debhelper commands use any of the above options, + they will be broken, and need to be changed to pass options to init(). + * To avoid breaking rules files that pass options to commands that do not + use them, debhelper will now only warn if it encounters an unknown + option. This will be converted back to an error later. + +------------------------------------------------------------------- +Tue Sep 16 18:07:44 CEST 2008 - mrueckert@suse.de + +- do not package update-alternatives it conflicts with the required + package update-alternatives + +------------------------------------------------------------------- +Tue Sep 2 13:56:11 CEST 2008 - prusnak@suse.cz + +- updated to 1.14.21 + * lots of fixes - see ChangeLog +- enabled SELinux support [Fate#303662] + +------------------------------------------------------------------- +Mon Sep 1 14:02:20 CEST 2008 - puzel@suse.cz + +- update debhelper to 7.0.17 + * dh_auto_install: Fix man page, was referring to dh_auto_clean. + * dh_gencontrol: Drop the Homepage field from udebs. Closes debian bug #492719 + * Typo. Closes debian bug #493062 + * dh_auto_install: Improve check for MakeMaker, to avoid passing PREFIX + if the Makefile was generated by Module::Build::Compat. Closes debian bug #496157 + +------------------------------------------------------------------- +Tue Aug 12 11:29:14 CEST 2008 - puzel@suse.cz + +- fix paths + * install perl stuff to %{perl_vendorlib}/Debian where it is + expected by alien + +------------------------------------------------------------------- +Mon Aug 11 13:21:25 CEST 2008 - coolo@suse.de + +- fix paths + +------------------------------------------------------------------- +Mon Jul 21 11:18:02 CEST 2008 - puzel@suse.cz + +- update debhelper to 7.0.16 + * dh: Avoid passing --with on to subcommands. Closes debian bug #490886 + * dh_installchangelogs: When searching for changelog in v7 mode, skip + empty files. Closes debian bug #490937 + +------------------------------------------------------------------- +Fri Jul 18 13:10:50 CEST 2008 - puzel@suse.cz + +- update debhelper to 7.0.15 + * dh_clean: Do not delete *-stamp files in -k mode in v7. Closes debian bug #489918 + +------------------------------------------------------------------- +Tue Jul 8 11:20:11 CEST 2008 - puzel@suse.cz + +- update debhelper to 7.0.14 + * load python-support sequence file first, to allow ones loaded later to disable it + +------------------------------------------------------------------- +Mon Jul 7 13:49:46 CEST 2008 - puzel@suse.cz + +- update dpkg to 1.14.19 + * a lot of changes and bugfixes + * for complete changelog see program sources or + /usr/share/doc/packages/deb/dpkg/changelog + * removed dpkg-gcc4.patch - compiles fine without it + * removed dpkg-make.patch, dpkg-automake.diff, dpkg-strip.patch + * not needed anymore because of heavy changes in the build system + * removed dpkg_1.10.23-doc.patch - fixed in upstream +- update debhelper to 7.0.13 + * a lot of changes and bugfixes + * for complete changelog see program sources or + /usr/share/doc/packages/deb/debhelper/changelog + * debhelper-no-localized-manpages.diff - do not use po4a to generate + localized documentation +- dpkg is now built by configure/make +- debhelper is now built by make + +------------------------------------------------------------------- +Thu Jul 26 18:04:30 CEST 2007 - dmueller@suse.de + +- remove config.guess dependency completely + +------------------------------------------------------------------- +Tue Jul 24 14:52:04 CEST 2007 - dmueller@suse.de + +- link the config.guess from automake + +------------------------------------------------------------------- +Sun Apr 22 22:37:02 CEST 2007 - ro@suse.de + +- use texlive for building + +------------------------------------------------------------------- +Fri Mar 30 08:49:13 CEST 2007 - aj@suse.de + +- Adjust BuildRequires. + +------------------------------------------------------------------- +Fri Aug 18 14:44:34 CEST 2006 - aj@suse.de + +- Fix build with new make. + +------------------------------------------------------------------- +Wed Jan 25 21:35:25 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Fri Jan 13 13:12:52 CET 2006 - schwab@suse.de + +- Don't strip binaries. + +------------------------------------------------------------------- +Wed Dec 21 01:21:54 CET 2005 - ro@suse.de + +- remove unpackaged symlinks + +------------------------------------------------------------------- +Thu Sep 8 14:49:24 CEST 2005 - mjancar@suse.cz + +- package missing dpkg-{architecture,scanpackages,scansources} (#106239) + +------------------------------------------------------------------- +Thu May 12 17:38:51 CEST 2005 - meissner@suse.de + +- use RPM_OPT_FLAGS + +------------------------------------------------------------------- +Fri Apr 8 13:50:27 CEST 2005 - uli@suse.de + +- fixed to build with GCC4 + +------------------------------------------------------------------- +Thu Feb 10 16:56:12 CET 2005 - rengelhard@suse.de + +- update dpkg to 1.10.27 (just translation updates) + +------------------------------------------------------------------- +Thu Jan 20 23:38:24 CET 2005 - ro@suse.de + +- update dependency: html2txt -> html2text + +------------------------------------------------------------------- +Wed Jan 12 15:45:21 CET 2005 - rengelha@suse.de + +- update dpkg to 1.10.26 + +------------------------------------------------------------------- +Wed Jan 5 13:41:10 CET 2005 - rengelhard@suse.de + +- update debhelper to 4.2.30 + +------------------------------------------------------------------- +Tue Jan 4 11:11:22 CET 2005 - rengelhard@suse.de + +- update debhelper to 4.2.29 + +------------------------------------------------------------------- +Wed Dec 15 12:06:57 CET 2004 - rengelhard@suse.de + +- update debhelper to 4.2.28 + +------------------------------------------------------------------- +Mon Dec 13 09:16:46 CET 2004 - rengelhard@suse.de + +- update debhelper to 4.2.27 + +------------------------------------------------------------------- +Tue Nov 16 15:44:34 CET 2004 - rengelhard@suse.de + +- update dpkg to 1.10.25 + +------------------------------------------------------------------- +Thu Nov 11 10:42:02 CET 2004 - rengelhard@suse.de + +- update debhelper to 4.2.24 + +------------------------------------------------------------------- +Fri Oct 29 13:55:11 CEST 2004 - rengelhard@suse.de + +- update debhelper to 4.2.23 + +------------------------------------------------------------------- +Wed Oct 27 12:15:38 CEST 2004 - rengelhard@suse.de + +- update dpkg to 1.10.24 + +------------------------------------------------------------------- +Wed Oct 13 12:11:21 CEST 2004 - rengelhard@suse.de + +- update debhelper to 4.2.21 + +------------------------------------------------------------------- +Wed Sep 8 00:06:37 CEST 2004 - ro@suse.de + +- remove stuff now present in own update-alternatives package + +------------------------------------------------------------------- +Thu Aug 19 14:50:34 CEST 2004 - mcihar@suse.cz + +- update debhelper to 4.2.19 +- update dpkg to 1.10.23 +- use sed rather than patches +- remove patches accepted in upstream + +------------------------------------------------------------------- +Mon May 31 14:53:43 CEST 2004 - mcihar@suse.cz + +- update debhelper to 4.2.10 +- update dpkg to 1.10.21 + +------------------------------------------------------------------- +Thu Mar 04 12:43:17 CET 2004 - mcihar@suse.cz + +- no root for build +- revert to manual debhelper installation as installation using + debhelper needs dpkg and debhelper installed + +------------------------------------------------------------------- +Wed Mar 03 18:08:58 CET 2004 - mcihar@suse.cz + +- debhelper has debian/control file, so do not install manually +- update debhelper to 4.2.4 +- update dpkg to 1.10.18.1 + +------------------------------------------------------------------- +Wed Jan 28 00:25:16 CET 2004 - ro@suse.de + +- debhelper has no debian/control file, so install manually + +------------------------------------------------------------------- +Tue Jan 27 14:09:01 CET 2004 - mcihar@suse.cz + +- install debhelper man pages on correct place + +------------------------------------------------------------------- +Mon Jan 26 15:09:20 CET 2004 - mcihar@suse.cz + +- updated debhelper to 4.1.88 and dpkg to 1.10.18 + +------------------------------------------------------------------- +Wed Aug 20 19:54:08 CEST 2003 - mjancar@suse.cz + +- require the perl version we build with + +------------------------------------------------------------------- +Thu Aug 07 16:02:18 CEST 2003 - mcihar@suse.cz + +- updated debhelper to 4.1.57 + +------------------------------------------------------------------- +Mon Jul 28 14:13:38 CEST 2003 - schwab@suse.de + +- Fix format string. +- Fix undefined use of longjmp. +- Use perl_vendorlib. + +------------------------------------------------------------------- +Wed Jun 18 15:08:58 CEST 2003 - mcihar@suse.cz + +- updated debhelper to 4.1.47 (mostly fixes in dh_python) +- included directories for translated man pages +- use find_lang + +------------------------------------------------------------------- +Tue May 13 16:45:18 CEST 2003 - mcihar@suse.cz + +- updated debhelper to 4.1.43 +- updated dpkg to 1.1.10 + +------------------------------------------------------------------- +Tue Apr 08 11:48:37 CEST 2003 - mcihar@suse.cz + +- updated debhelper to 4.1.40 +- fixed problems with new coreutils + +------------------------------------------------------------------- +Thu Mar 06 15:40:08 CET 2003 - mcihar@suse.cz + +- configuration files under /etc marked as %config + +------------------------------------------------------------------- +Thu Jan 30 14:19:51 CET 2003 - mcihar@suse.cz + +- updated debhelper to 4.1.29: + * Added a dh_python command. + * Various fixes. + +------------------------------------------------------------------- +Wed Nov 13 12:22:45 CET 2002 - mcihar@suse.cz + +- updated dpkg to 1.10.9, major changes: + * Make the multiline regex have an upper bound, instead of being + unbounded, as newer perls have a larger stack frame, which cause them + to segfault quicker with larger inputs. + * Fix segfault in md5sum if the file being checked doesn't exist. + * Fix extraction of md5sum in dpkg-scanpackages. + * Handle directories better in md5sum. + * Fix several read pass buffer bugs, and a memleak. + * Fix segfault when --auto-deconfigure is given. +- updated debhelper to 4.1.20, major changes: + * typo in dh_shlibdeps(1) + * dh_fixperms: Make sure .pm files are 0644. + * dh_strip: detect and don't strip debug/*.so files. + * Various improvements to debhelper(1). + * Clarified dh_perl man page. + * Fixed excessive escaping around terms in DH_EXCLUDE_FIND. + * Patch from Andrew Suffield to make dh_perl understand #!/usr/bin/env perl +- included part of postinst script from debian package + +------------------------------------------------------------------- +Mon Nov 11 11:26:13 CET 2002 - ro@suse.de + +- changed neededforbuild to +- changed neededforbuild to <> + +------------------------------------------------------------------- +Wed Aug 28 12:37:07 MEST 2002 - mcihar@suse.cz + +- corrected requires + +------------------------------------------------------------------- +Wed Aug 7 15:05:04 CEST 2002 - mcihar@suse.cz + +- updated to debhelper 4.1.3: + * various bugfixes + * removed /usr/doc manglement code from postinst and prerm + * removed dh_installxaw + * dh_installchangelogs installs debian/NEWS +- updated to dpkg 1.10.4: + * plenty of bugfixes and new switches + * added Large File Summit extension + * added manpages for dpkg.cfg and dselect.cfg + * updated translations + * install archtable into /usr/share/dpkg/ +- dpkg is now build by debian/rules not by script in spec +- removed md5sum.1 start-stop-daemon.8 install-info.8 manpages also + for other locales (these programs are not installed) + +------------------------------------------------------------------- +Tue Jun 11 09:16:14 CEST 2002 - mcihar@suse.cz + +- updated to debhelper 4.0.11 and dpkg 1.9.21 + +------------------------------------------------------------------- +Mon Aug 13 15:51:56 CEST 2001 - ro@suse.de + +- changed neededforbuild to + +------------------------------------------------------------------- +Fri Jun 8 15:13:02 CEST 2001 - cihlar@suse.cz + +- fixed to compile with new autoconf + +------------------------------------------------------------------- +Tue Apr 24 12:12:56 CEST 2001 - cihlar@suse.cz + +- fixed warnings on ia64 + +------------------------------------------------------------------- +Wed Apr 18 09:07:26 CEST 2001 - cihlar@suse.cz + +- fixed to compile + +------------------------------------------------------------------- +Mon Mar 5 14:38:45 CET 2001 - cihlar@suse.cz + +- dpkg updated to version 1.8.3.1 +- debhelper updated to version 3.0.8 + +------------------------------------------------------------------- +Tue Dec 5 14:56:23 CET 2000 - schwab@suse.de + +- Fix broken declaration. + +------------------------------------------------------------------- +Tue Oct 31 10:57:36 CET 2000 - cihlar@suse.cz + +- update to version 1.6.14 +- bzipped sources + +------------------------------------------------------------------- +Tue May 23 16:48:45 CEST 2000 - cihlar@suse.cz + +- added files in /etc and /var to %files + +------------------------------------------------------------------- +Mon May 22 15:19:20 CEST 2000 - cihlar@suse.cz + +- removed install-info and start-stop-daemon + +------------------------------------------------------------------- +Mon May 15 17:20:51 CEST 2000 - schwab@suse.de + +- Fixed for ia64. + +------------------------------------------------------------------- +Wed May 3 17:15:12 CEST 2000 - cihlar@suse.cz + +- package created - version 1.4.0.35 (debhelper 1.1.24) + diff --git a/dpkg.spec b/dpkg.spec new file mode 100644 index 0000000..492ddd4 --- /dev/null +++ b/dpkg.spec @@ -0,0 +1,188 @@ +# +# spec file for package dpkg +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: dpkg +Version: 1.22.11 +Release: 0 +Summary: Debian package management system +License: GPL-2.0-or-later +Group: System/Packages +URL: https://tracker.debian.org/pkg/%{name} +Source0: https://ftp.debian.org/debian/pool/main/d/dpkg/%{name}_%{version}.tar.xz +Source3: sensible-editor +# PATCH-FIX-OPENSUSE replace debian with opensuse. replace macros. update-alternatives temp directories' path and name from dpkg* to rpm*. +Patch1: update-alternatives-suse.patch +# PATCH-FIX-SUSE: tar of Leap 42.{2,3} does not recognize --sort=name, --clamp-mtime options +Patch2: drop-tar-option.patch +Patch3: ncurses-fix.patch +Patch4: openssl.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: gpg2 +BuildRequires: libbz2-devel +BuildRequires: libselinux-devel +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: perl >= 5.28.1 +BuildRequires: po4a >= 0.59 +BuildRequires: update-alternatives +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: perl(Date::Parse) +BuildRequires: perl(IO::String) +BuildRequires: perl(Test::Pod) +BuildRequires: perl(Test::Strict) +Requires: cpio +Requires: make +Requires: patch +Requires: update-alternatives +Requires: perl(Date::Parse) +Requires(post): coreutils +Recommends: perl(File::FcntlLock) +Provides: deb = %{version} +Obsoletes: deb < %{version} +Provides: dpkg-dev = %{version} +Provides: dpkg-doc = %{version} +Provides: dselect = %{version} +%{perl_requires} + +%description +This package contains tools for working with Debian packages. It makes +it possible to create and extract Debian packages. If Alien is +installed, the packages can be converted to RPMs. + +This package contains the following Debian packages: dpkg, dselect, +dpkg-doc, dpkg-dev. + +%package devel +Summary: Development files for dpkg +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Requires: libmd-devel +Provides: deb-devel = %{version} +Obsoletes: deb-devel < %{version} + +%description devel +Libraries and header files for dpkg. + +%lang_package + +%prep +%setup -q +%patch -P 1 -p1 +%if 0%{?suse_version} == 1315 +%patch -P 2 -p1 +%endif +%patch -P 3 -p1 +%patch -P 4 -p1 + +%build +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +autoreconf -fvi +export CFLAGS="%{?build_cflags:%build_cflags}%{?!build_cflags:%optflags}" +%configure \ + --disable-silent-rules \ + --with-libselinux \ + --localstatedir=%{_localstatedir}/lib \ + --with-admindir=%{_localstatedir}/lib/dpkg \ + --docdir=%{_docdir}/%{name} + +# configure somehow does not detect architecture correctly in OBS (bnc#469337), so +# let's do an awful hack and fix it in config.h +# XXX: who knows if this works on s390? :) + +%define debarch %{_arch} +%ifarch x86_64 +%define debarch amd64 +%endif +%ifarch %{ix86} +%define debarch i386 +%endif +%ifarch ppc powerpc +%define debarch powerpc +%endif +%ifarch ppc64 powerpc64 +%define debarch ppc64 +%endif +sed -i 's/^#define ARCHITECTURE ""/#define ARCHITECTURE "%{debarch}"/' config.h + +%make_build + +%install +%make_install + +# remove update-alternatives stuff (included in separate package) +rm -rf %{buildroot}%{_sysconfdir}/alternatives +rm -rf %{buildroot}%{_localstatedir}/lib/dpkg/alternatives +rm -rf %{buildroot}%{_bindir}/update-alternatives +rm -rf %{buildroot}%{_sbindir}/update-alternatives +rm -rf %{buildroot}%{_mandir}/man8/update-alternatives.8 +rm -rf %{buildroot}%{_mandir}/*/man8/update-alternatives.8 +rm -rf %{buildroot}%{_datadir}/polkit-1/actions/org.dpkg.pkexec.update-alternatives.policy + +# locales +%find_lang %{name} +%find_lang dselect +%find_lang dpkg-dev +cat dselect.lang dpkg-dev.lang >> %{name}.lang + +# extras +install -m 755 %{SOURCE3} %{buildroot}%{_bindir} + +%check +%make_build check + +%post +cd %{_localstatedir}/lib/dpkg +for f in diversions statoverride status ; do + [ ! -f $f ] && touch $f +done +exit 0 + +%files lang -f %{name}.lang +%{_mandir}/??/man*/* + +%files +%license COPYING +%{_docdir}/%{name} +%{_mandir}/man*/* +%exclude %{_mandir}/man*/update-alternatives* +%dir %{_sysconfdir}/dpkg +%config(noreplace) %{_sysconfdir}/dpkg/* +%{_bindir}/* +%{_sbindir}/* +%{_libexecdir}/dpkg +%{_datadir}/dpkg +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/vendor-completions +%{_datadir}/zsh/vendor-completions/_dpkg-parsechangelog +%{_localstatedir}/lib/dpkg +%{perl_vendorlib}/Dpkg +%{perl_vendorlib}/Dpkg.pm +%{perl_vendorlib}/Dselect + +%files devel +%{_datadir}/aclocal/*.m4 +%{_libdir}/libdpkg.a +%{_libdir}/libdpkg.la +%{_libdir}/pkgconfig/libdpkg.pc +%{_includedir}/dpkg + +%changelog diff --git a/dpkg_1.22.11.tar.xz b/dpkg_1.22.11.tar.xz new file mode 100644 index 0000000..1517555 --- /dev/null +++ b/dpkg_1.22.11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f318eb949b8e7ecd802b17b1a7e7cf4b17094c9577e1060653e9b838cdd31d80 +size 5697040 diff --git a/dpkg_1.22.6.tar.xz b/dpkg_1.22.6.tar.xz new file mode 100644 index 0000000..ab24fc4 --- /dev/null +++ b/dpkg_1.22.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4379123466cf1804f82aaac7fbea7133c58aefa178dfbf7029cdc61a8d220655 +size 5630704 diff --git a/drop-tar-option.patch b/drop-tar-option.patch new file mode 100644 index 0000000..3bd8c32 --- /dev/null +++ b/drop-tar-option.patch @@ -0,0 +1,27 @@ +From d0bcdce521f648c0a18bea795edfcb4f5ec77388 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +Date: Mon, 3 Jan 2022 13:18:13 +0100 +Subject: [PATCH 1/4] drop tar option + +--- + scripts/Dpkg/Source/Archive.pm | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/Dpkg/Source/Archive.pm b/scripts/Dpkg/Source/Archive.pm +index 33c181b20..0cf545cb4 100644 +--- a/scripts/Dpkg/Source/Archive.pm ++++ b/scripts/Dpkg/Source/Archive.pm +@@ -51,8 +51,8 @@ sub create { + my $mtime = $opts{source_date} // $ENV{SOURCE_DATE_EPOCH} || time; + # Call tar creation process + $spawn_opts{delete_env} = [ 'TAR_OPTIONS' ]; +- $spawn_opts{exec} = [ $Dpkg::PROGTAR, '-cf', '-', '--format=gnu', '--sort=name', +- '--mtime', "\@$mtime", '--clamp-mtime', '--null', ++ $spawn_opts{exec} = [ $Dpkg::PROGTAR, '-cf', '-', '--format=gnu', ++ '--mtime', "\@$mtime", '--null', + '--numeric-owner', '--owner=0', '--group=0', + @{$opts{options}}, '-T', '-' ]; + *$self->{pid} = spawn(%spawn_opts); +-- +2.33.1 + diff --git a/ncurses-fix.patch b/ncurses-fix.patch new file mode 100644 index 0000000..6357255 --- /dev/null +++ b/ncurses-fix.patch @@ -0,0 +1,21 @@ +From 9b94694e59fa442b96ddf30a33782647cdda9b70 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +Date: Mon, 3 Jan 2022 13:18:35 +0100 +Subject: [PATCH 2/4] ncurses fix + +--- + dselect/keyoverride | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dselect/keyoverride b/dselect/keyoverride +index 35967ffec..91a8c0cec 100644 +--- a/dselect/keyoverride ++++ b/dselect/keyoverride +@@ -56,3 +56,4 @@ KEY_SRIGHT Shift Right + KEY_SPREVIOUS Shift Previous + KEY_MAX [elide] + KEY_MIN [elide] ++KEY_EVENT [elide] +-- +2.33.1 + diff --git a/openssl.patch b/openssl.patch new file mode 100644 index 0000000..d8292f1 --- /dev/null +++ b/openssl.patch @@ -0,0 +1,96 @@ +Index: dpkg-1.22.11/configure.ac +=================================================================== +--- dpkg-1.22.11.orig/configure.ac ++++ dpkg-1.22.11/configure.ac +@@ -112,6 +112,13 @@ AC_SYS_LARGEFILE + # Checks for libraries. + DPKG_LIB_RT + DPKG_LIB_MD ++AS_IF([test "x$have_libmd" = "xno"], [ ++ DPKG_LIB_OPENSSL ++ AS_IF([test "x$have_libcrypto" = "xno"], [ ++ AC_MSG_FAILURE([md5 digest functions not found in libmd or openssl]) ++ ]) ++]) ++ + DPKG_LIB_Z + DPKG_LIB_BZ2 + DPKG_LIB_LZMA +@@ -338,6 +345,7 @@ Configuration: + libkvm . . . . . . . . . . . : ${have_libkvm:-no} + libselinux . . . . . . . . . : $have_libselinux + libmd . . . . . . . . . . . . : $have_libmd ++ libcryto . . . . . . . . . . : $have_libcrypto + libz . . . . . . . . . . . . : $have_libz_impl + liblzma . . . . . . . . . . . : $have_liblzma + libzstd . . . . . . . . . . . : $have_libzstd +Index: dpkg-1.22.11/lib/dpkg/buffer.c +=================================================================== +--- dpkg-1.22.11.orig/lib/dpkg/buffer.c ++++ dpkg-1.22.11/lib/dpkg/buffer.c +@@ -23,10 +23,18 @@ + #include + #include + ++#ifdef HAVE_MD5_H ++#include ++#elif HAVE_OPENSSL_MD5_H ++#include ++#define MD5Init MD5_Init ++#define MD5Update MD5_Update ++#define MD5Final MD5_Final ++#endif ++ + #include + + #include +-#include + #include + #include + #include +Index: dpkg-1.22.11/m4/dpkg-libs.m4 +=================================================================== +--- dpkg-1.22.11.orig/m4/dpkg-libs.m4 ++++ dpkg-1.22.11/m4/dpkg-libs.m4 +@@ -20,11 +20,26 @@ AC_DEFUN([DPKG_LIB_MD], [ + MD_LIBS="$ac_cv_search_MD5Init" + ]) + ]) +- AS_IF([test "x$have_libmd" = "xno"], [ +- AC_MSG_FAILURE([md5 digest functions not found]) +- ]) + ])# DPKG_LIB_MD + ++# DPKG_LIB_OPENSSL ++# ----------- ++# Check for the digests support in openssl library. ++AC_DEFUN([DPKG_LIB_OPENSSL], [ ++ AC_ARG_VAR([OPENSSL_LIBS], [linker flags for openssl library]) ++ have_libcryto="no" ++ AC_CHECK_HEADERS([openssl/md5.h], [ ++ dpkg_save_libcrypto_LIBS=$LIBS ++ AC_SEARCH_LIBS([MD5_Init], [crypto]) ++ LIBS=$dpkg_save_libcrypto_LIBS ++ AS_IF([test "x$ac_cv_search_MD5_Init" != "xno"], [ ++ have_libcrypto="yes" ++ OPENSSL_LIBS="$ac_cv_search_MD5_Init" ++ ]) ++ ]) ++])# DPKG_LIB_OPENSSL ++ ++ + # DPKG_WITH_COMPRESS_LIB(NAME, HEADER, FUNC) + # ---------------------- + # Check for availability of a compression library. +Index: dpkg-1.22.11/lib/dpkg/Makefile.am +=================================================================== +--- dpkg-1.22.11.orig/lib/dpkg/Makefile.am ++++ dpkg-1.22.11/lib/dpkg/Makefile.am +@@ -54,6 +54,7 @@ libdpkg_la_LIBADD = \ + $(ZSTD_LIBS) \ + $(BZ2_LIBS) \ + $(MD_LIBS) \ ++ $(OPENSSL_LIBS) \ + $(LIBINTL) \ + ../compat/libcompat.la \ + # EOL diff --git a/sensible-editor b/sensible-editor new file mode 100644 index 0000000..40fa02c --- /dev/null +++ b/sensible-editor @@ -0,0 +1,32 @@ +#!/bin/sh + +ret="$?" + +if [ -n "$VISUAL" ]; then + ${VISUAL} "$@" + ret="$?" + if [ "$ret" -ne 126 ] && [ "$ret" -ne 127 ]; then + exit "$ret" + fi +fi + +${EDITOR:-editor} "$@" +ret="$?" +if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then + nano "$@" + ret="$?" + if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then + nano-tiny "$@" + ret="$?" + if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then + vi "$@" + ret="$?" + if [ "$ret" -eq 126 ] || [ "$ret" -eq 127 ]; then + echo "Couldn't find an editor!" 1>&2 + echo "Set the \$EDITOR environment variable to your desired editor." 1>&2 + exit 1 + fi + fi + fi +fi +exit "$ret" diff --git a/update-alternatives-slavetomaster.patch b/update-alternatives-slavetomaster.patch new file mode 100644 index 0000000..7110ad1 --- /dev/null +++ b/update-alternatives-slavetomaster.patch @@ -0,0 +1,28 @@ +From 472d6aad992b2d459c31449ff7d36e20a76e4adf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +Date: Mon, 3 Jan 2022 13:19:13 +0100 +Subject: [PATCH 4/4] update-alternatives-slavetomaster + +--- + utils/update-alternatives.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/utils/update-alternatives.c b/utils/update-alternatives.c +index eee59d590..41fdce430 100644 +--- a/utils/update-alternatives.c ++++ b/utils/update-alternatives.c +@@ -2035,7 +2035,10 @@ alternative_prepare_install(struct alternative *a, const char *choice) + /* Drop unused slave. */ + fn = xasprintf("%s/%s", altdir, sl->name); + if (alternative_path_can_remove(sl->link)) +- alternative_add_commit_op(a, OPCODE_RM, sl->link, NULL); ++ if (strcmp(sl->link, a->master_link)) ++ alternative_add_commit_op(a, OPCODE_RM, sl->link, NULL); ++ else ++ warning("not removing %s, now master", a->master_link); + else + warning(_("not removing %s since it's not a symlink"), + sl->link); +-- +2.33.1 + diff --git a/update-alternatives-suse.patch b/update-alternatives-suse.patch new file mode 100644 index 0000000..6988953 --- /dev/null +++ b/update-alternatives-suse.patch @@ -0,0 +1,70 @@ +From 8cad1e2d4d20f76383a424aa85ebd3bc3a51487a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20=C4=8Cerm=C3=A1k?= +Date: Mon, 3 Jan 2022 13:19:00 +0100 +Subject: [PATCH 3/4] update-alternatives-suse + +--- + man/update-alternatives.pod | 8 ++++---- + utils/Makefile.am | 10 +++++----- + utils/t/update_alternatives.t | 4 ++-- + utils/update-alternatives.c | 2 +- + 4 files changed, 12 insertions(+), 12 deletions(-) + +Index: dpkg-1.22.1/man/update-alternatives.pod +=================================================================== +--- dpkg-1.22.1.orig/man/update-alternatives.pod ++++ dpkg-1.22.1/man/update-alternatives.pod +@@ -85,8 +85,8 @@ installed, changed or removed, + B + is called to update information about that file in the alternatives system. + B +-is usually called from the following Debian package maintainer scripts, +-B ++is usually called from the following SUSE package maintainer scripts, ++B + (configure) to install the alternative and from + B and B + (remove) to remove the alternative. +Index: dpkg-1.22.1/utils/Makefile.am +=================================================================== +--- dpkg-1.22.1.orig/utils/Makefile.am ++++ dpkg-1.22.1/utils/Makefile.am +@@ -47,8 +47,8 @@ update_alternatives_SOURCES = \ + + update_alternatives_CPPFLAGS = \ + -DALT_TMP_EXT=\".dpkg-tmp\" \ +- -DADMINDIR_ENVVAR=\"DPKG_ADMINDIR\" \ +- -DINSTDIR_ENVVAR=\"DPKG_ROOT\" \ ++ -DADMINDIR_ENVVAR=\"RPM_ADMINDIR\" \ ++ -DINSTDIR_ENVVAR=\"RPM_ROOT\" \ + $(AM_CPPFLAGS) \ + # EOL + +@@ -85,9 +85,9 @@ uninstall-local: + rm -f $(DESTDIR)$(sysconfdir)/alternatives/README + + TEST_ENV_VARS = \ +- DPKG_DATADIR=$(top_srcdir)/data \ +- UA_ROOTDIR_ENVVAR=DPKG_ROOT \ +- UA_ADMINDIR_ENVVAR=DPKG_ADMINDIR \ ++ RPM_DATADIR=$(top_srcdir)/data \ ++ UA_ROOTDIR_ENVVAR=RPM_ROOT \ ++ UA_ADMINDIR_ENVVAR=RPM_ADMINDIR \ + UA_ADMINDIR_DEFAULT=$(admindir) \ + # EOL + +Index: dpkg-1.22.1/utils/t/update_alternatives.t +=================================================================== +--- dpkg-1.22.1.orig/utils/t/update_alternatives.t ++++ dpkg-1.22.1/utils/t/update_alternatives.t +@@ -32,8 +32,8 @@ my $bindir = File::Spec->rel2abs("$tmpdi + my @ua = ("$ENV{builddir}/update-alternatives", '--log', '/dev/null', + '--quiet', '--admindir', "$admindir", '--altdir', "$altdir"); + +-my $rootdir_envvar = $ENV{UA_ROOTDIR_ENVVAR} // 'DPKG_ROOT'; +-my $admindir_envvar = $ENV{UA_ADMINDIR_ENVVAR} // 'DPKG_ADMINDIR'; ++my $rootdir_envvar = $ENV{UA_ROOTDIR_ENVVAR} // 'RPM_ROOT'; ++my $admindir_envvar = $ENV{UA_ADMINDIR_ENVVAR} // 'RPM_ADMINDIR'; + + delete $ENV{$rootdir_envvar}; + delete $ENV{$admindir_envvar}; diff --git a/update-alternatives.changes b/update-alternatives.changes new file mode 100644 index 0000000..def67f9 --- /dev/null +++ b/update-alternatives.changes @@ -0,0 +1,2104 @@ +------------------------------------------------------------------- +Sun Aug 11 14:16:59 UTC 2024 - Martin Schreiner + +- Update to version 1.22.11. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.11 +- Changes from 1.22.10: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.10 +- Changes from 1.22.9: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.9 +- Changes from 1.22.8: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.8 +- Changes from 1.22.7: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.7 +- Refresh patch: + * openssl.patch + +------------------------------------------------------------------- +Wed Apr 10 02:52:20 UTC 2024 - Martin Schreiner + +- Update to version 1.22.6. + The changelog for this version isn't very large, so it's provided in full: + * dpkg-deb: Fix up compressor parameters for default legacy format. + * Perl modules: + - Dpkg::Vendor::Debian: Make it possible to disable qa=-bug-implicit-func. + - Dpkg::Vendor::Debian: Unconditionally set qa bug-implicit-func. + * Documentation: + - man: Document dpkg versions supporting SOURCE_DATE_EPOCH for various + tools. + * Code internals: + - libdpkg: Use array access instead of pointer arithmetic for meminfo + parser. + - libdpkg: Use a macro to define the zstd default compression level. + * Build system: + - Test with minimal library dependencies in CI. + - Add gen-release script. + * Packaging: + - Fix typo in man page reference in changelog. + * Test suite: + - Refactor OpenPGP backend and commands list. + - Refactor certfile and keyfile filenames for OpenPGP test. + - Skip OpenPGP tests if the backend does not have a verify command. + * Localization: + - Fix typos in Swedish man pages translations. + - Fix typos in Swedish man pages translations. + - Update Dutch man pages translations. + - Update Portuguese man pages translations. + - Update German man pages translation. + +------------------------------------------------------------------- +Mon Mar 11 03:51:46 UTC 2024 - Martin Schreiner + +- Update to version 1.22.5. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.5 + Version 1.22.5 includes all the changes from 1.22.4 and 1.22.3. + These may be found here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.4 + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.3 +- Refresh openssl.patch so it would apply cleanly. + +------------------------------------------------------------------- +Tue Feb 27 18:43:19 UTC 2024 - Martin Schreiner + +- Prepare for RPM 4.20. + +------------------------------------------------------------------- +Sun Dec 31 15:35:34 UTC 2023 - Martin Schreiner + +- Update to version 1.22.2. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.2 + +------------------------------------------------------------------- +Wed Nov 22 20:45:45 UTC 2023 - Martin Schreiner + +- Update to version 1.22.1. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.1 +- Refresh update-alternatives-suse.patch so it applies cleanly. + +------------------------------------------------------------------- +Mon Sep 18 04:57:23 UTC 2023 - Martin Schreiner + +- Update to version 1.22.0. + The full changelog is very large. Please check it here: + https://git.dpkg.org/cgit/dpkg/dpkg.git/tree/debian/changelog?h=1.22.0 +- Refresh openssl.patch so it works on 1.22.0. + +------------------------------------------------------------------- +Thu Jul 20 11:25:20 UTC 2023 - Adam Majer + +- openssl.patch: use openssl library for MD5 calculation instead + of relying on libmd. libmd is not in Ring0 +- require Perl 5.28.1 or later + +------------------------------------------------------------------- +Thu May 4 14:28:36 UTC 2023 - Frederic Crozat + +- Add _multibuild to define additional spec files as additional + flavors. + Eliminates the need for source package links in OBS. + +------------------------------------------------------------------- +Fri May 27 09:40:32 UTC 2022 - pgajdos@suse.com + +- version update to 1.21.8 + * fix CVE-2022-1664 [bsc#1199944], dpkg -- security update + * lot of changes, see changelog +- modified patches + % update-alternatives-suse.patch (refreshed) + +------------------------------------------------------------------- +Mon Jan 3 12:15:28 UTC 2022 - Dan Čermák + +- rebase patches: + * update-alternatives.changes + * update-alternatives.spec + * update-alternatives-suse.patch + +- New upstream release 1.21.1 + +dpkg (1.21.1) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-buildpackage: Remove duplicate command print for dpkg-genchanges. + * dpkg-buildpackage: Fix build description due to improper multiline match. + * dpkg-realpath: Remove spurious heading space from --help output. + * update-alternatives: When initializing admindir from DPKG_ADMINDIR append + "/alternatives". Closes: #1001198 + * Code internals: + - Remove inclusions. + * Packaging: + - Install deb-md5sums(5) into dpkg-dev package. + +dpkg (1.21.0) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-genchanges: Include orig tarball on source package renames. + Closes: #980066 + * scripts: Consider SHA-1 and RIPEMD-160 weak algorithms in OpenPGP + signatures. + * dpkg: During unpack print a removal message due to Conflicts. + Closes: #985401 + * scripts: Add zsh completions for dpkg-parsechangelog. + Thanks to Daniel Shahaf . Closes: #986103 + * dpkg-buildpackage: When printing build type match the extension exactly. + Closes: #989824 + * dpkg-maintscript-helper: Use xargs -I argument instead of deprecated -i. + * dpkg-maintscript-helper: Quote variable inside ${} to avoid pattern match. + * libdpkg: Fix dpkg_fsys_get_path() to always strip leading / and ./. + * libdpkg: Set the default database directory relative to the system root. + * dpkg-divert, dpkg-statoverride: Set admindir after instdir. + * update-alternatives: Fix admindir setting. + Prompted by Johannes Schauer Marin Rodrigues . + * dselect: Honor DPKG_ADMINDIR environment variable. + * dpkg-query, dpkg-trigger, dselect: Add support for setting the root + directory. + * dpkg-fsys-usrunmess: Move forced reconfiguration to the last step. + See #991190. + * dpkg-fsys-usrunmess: Install a local policy-rc.d to ignore service + restarts. Closes: #991190 + * dpkg-fsys-usrunmess: Do not fail when removing lingering directories. + * dpkg-fsys-usrunmess: Generate a regression prevention package. + * dpkg-fsys-usrunmess: Fix typo in debug message. + * dpkg: Distinguish deconfiguration message for installation and multi-arch + syncs. + * dpkg-buildpackage: Add new --changes-file option. + Prompted by Niels Thykier . + * dpkg-buildpackage: Add new --buildinfo-file option. + * dpkg: Rework --assert- logic to be more robust. + Prompted by Helmut Grohne . + Prompted by David Kalnischkies . + * dpkg: Improve --assert- descriptions. + * dpkg: Add a new --assert-help option. + * scripts/mk: Pass DEB_BUILD_PATH to dpkg-buildflags. See #985553. + * dpkg-db-backup: New program factored out from Debian-specific daily cron. + * dpkg-db-backup: Accept an option to override the number of rotation cycles. + * dpkg-db-backup: Honor the admindir set at configure time. + * update-alternatives: Fix --auto and --set-selections output progress. + * update-alternatives: Print defaults for configuration and database + pathnames. + * scripts: Replace shebang in dpkg-error shell library with shellcheck + directive. + * dpkg-buildpackage: Add support for terse DEB_BUILD_OPTIONS. + * dpkg-mergechangelogs: Add new --merge-unreleased option. Closes: #582921 + * dpkg: Restore fallback to "new-prerm failed-upgrade" for downgrades. + Analysis by Ian Jackson . Closes: #996959 + * dselect: Use safe temporary file creation in methods setup. + * dselect: Remove bashism from update script in multicd method. + * dpkg: Fix --verify to handle missing or inaccessible pathnames. + Closes: #963087 + * dpkg: Add partial --verify support for mode checks. + * Use «digest» instead of «hash» in output messages. + Reported by Sven Joachim . + * dselect: use `grep -E` instead of `egrep`. + Thanks to Ville Skyttä . Closes: #999600 + * libdpkg: Fix memory leak on End Of Tape condition in tar parser. + * dpkg: Fix short lived memory leak with --recursive. + * dpkg: Fix conffile removal-on-upgrade handling. Closes: #995387 + * dpkg-deb: Fix conffile name length tracking on remove-on-upgrade parsing. + Reported by uau on IRC. + * Architecture support: + - Clarify that the regex columns need to be ordered to match first. + - Add support for ARCv2 CPU. Closes: #980963 + Based on a patch by Alexey Brodkin . + * Portability: + - start-stop-daemon: Define SOCK_NONBLOCK to 0 if not defined. + - libdpkg: Add support for AIX to dpkg_get_progname(). + * Perl modules: + - Dpkg::Source::Quilt: Add hint to check missing files on patch apply + failures. + Reported by Joseph Nahmias . + - Dpkg::Changelog::Parse: Require format plugins to inherit from + Dpkg::Changelog. + - Dpkg::OpenPGP: Refactor openpgp implementation execution into a new + function. + - Dpkg::Vendor::Debian: Refactor compiler flag names into an array. + - Dpkg::Vendor::Debian: Add new lto feature in new optimize area. + Closes: #940571 + - Test::Dpkg: Print actual error messages in test_neutralize_checksums(). + - Dpkg::Deps: Use current_sub feature for __SUB__. + - Dpkg::BuildFlags: Add support for ASFLAGS. + See https://salsa.debian.org/debian/debhelper/-/merge_requests/50. + - Dpkg::Compression: Use gzip --rsyncable unconditionally. + - Dpkg::Changelog::Entry::Debian: Fix full month misuse warning. + - Dpkg::Shlibs::Symbol: Emit a warning on fully qualified symver patterns. + Closes: #993991 + - Dpkg::Control::HashCore: Add new keep_duplicate option. + - Dpkg::Control::FieldsCore: Add new field_parse_binary_source(). + Closes: #980527 + - Dpkg::Control::FieldsCore: Fix types allowed for + field_parse_binary_source(). + Reported by Johannes Schauer Marin Rodrigues . + - Dpkg::Shlibs::Objdump: Fix apply_relocations to work with versioned + symbols. Closes: #1000421 + - Dpkg::Vendor::Ubuntu: Update Maintainer field logic to include + “canonical”. Based on a patch by + William 'jawn-smith' Wilson . + Closes: #1000557 + - Dpkg::Source::Package::V2: Add hint about version matching source tree. + Based on a patch by Samuel Henrique . + Closes: #996044 + * Documentation: + - man: Itemize dpkg-gensymbols -c levels. + - man: Add man page for deb-md5sums(5). + Reported by Maxim Cournoyer (on IRC). + - man: Switch the Architecture field in deb-control(5) to required. + Reported by Maxim Cournoyer (on IRC). + - man: Make clear that dpkg-query arguments accept multiple values. + Prompted by Rémi Rampin . See #913781. + - man: Document dpkg-query --search and --listfiles output formats. + - doc: Fix incorrect use of ‘an’ article. + - doc: Update coding style to document POD instead of troff. + - doc: Update THANKS file. + - doc: Annotate current maintainer start year. + - doc: Sort maintenance information chronologically. + - man: Add versions since features where introduced. + - man: Further clarify when re-inclusions of excluded pathnames happen. + Closes: #871420 + - doc: Update Doxygen configuration from version 1.9.1. + - doc: Improve description of dpkg suite. + Prompted by Fabrice Bauzac-Stehly . + - man: Add a reference to where the Installed-Size algorithm is described. + - man: Improve dpkg --verify-format rpm format documentation. + - man: Document in deb-substvars(5) what ${} is good for. + Prompted by Paul Wise . + - man: Document in dpkg-architecture(1) target being useful for emulators + too. Prompted by Helmut Grohne . + - man: Document in dpkg-query(1) full --search and --listfiles output + format. Prompted by Johannes Schauer Marin Rodrigues . + * Code internals: + - Remove irrelevant or obsolete FIXME markers. + - Turn FIXME markers denoting pending actions into TODO markers. + - Turn FIXME markers giving historic information into simple Notes. + - update-alternatives: Turn FIXME for explicit behavior choice into an XXX. + - Use localtime_r() instead of localtime(). + - libdpkg: Remove MDEBUG support from m_malloc() implementation. + - libdpkg: Mark dpkg_arch_unmark() arch_remove argument as const. + - libdpkg: Mark treewalk_open() func argument as const. + - dpkg: Mark ignore_depends() pkg argument as const. + - dpkg: Mark deb_parse_conffiles() pkg argument as const. + - libcompat: Remove local setexecfilecon() and require libselinux 2.3. + - libdpkg: Add missing DPKG_{BEGIN,END}_DECLS in header files. + - dpkg: Move SE Linux function declarations into its own header file. + - dpkg: Move the command action enum to its own header file. + - dpkg: Switch from including "main.h" to "force.h". + - dselect: Rename dme() to display_menu_entry(). + - dpkg: Split function handling deconfiguration due to install and removal. + - libdpkg: Add new ACTION_MUX macro for continued options. + - dpkg: Refactor --assert- handling to be data driven. + - dpkg-fsys-usrunmess: Do not use interpolated strings for literals. + - dpkg-db-backup: Add a license header comment. + * Build system: + - Fallback to $^X and 'perl' if $Config{perlpath} is unset or empty. + - Bump minimal Perl version to 5.28.1. + - Remove redundant localedir and pkgconfdir initializations. + - Check for libsocket. + - Do not set have_libmd on the found branch in AC_SEARCH_LIBS. + - Switch DPKG_FUNC_C99_SNPRINTF from AC_LANG_SOURCE to AC_LANG_PROGRAM. + - Check whether fsync(3) works on directories. + - Remove obsolete AC_HEADER_STDC. + - Detect appropriate sed program at configure time. + - Rename DPKG_DEB_PROG_TAR to DPKG_PROG_TAR. + - Parametrize the backups directory with a configure option. + - Add a check for symlinks in the git repository. + - Rename shell scripts to .sh. + - Switch from hardcoded /run to parametrized runstatedir. + - Use new Dpkg::Control keep_duplicate option in gen-changelog. + - Use title-case for field in gen-changelog. + - Execute run-script via CONFIG_SHELL. + Reported by Larkin Nickle . + - Quote variables containing pathnames in m4 macros. + - Add support for commit message fix up machinery in gen-changelog. + * Packaging: + - Use absolute pathnames in .install debhelper fragments. + - Remove unused dh_installcron call for arch-indep targets. + - Add support for a native systemd timer. Closes: #985444 + - Create auotpkgtest installation directory. + - Bump Standards-Version to 4.6.0 (no changes needed). + * Test suite: + - Pass --ignore-builtin-builddeps to dpkg-buildpackage. + - Use can_run() instead of find_command(). + - Add descriptions to makefile test runners. + - Add unit tests for architecture bijective mapping property. + - Suppress cppcheck constParameter check. + - Suppress bogus cppcheck for nullPointerRedundantCheck. + - Mark external sourced shell files for checking. + - Ignore new shellcheck checks. + - Remove shipped dpkg database. + - Add re-inclusion of symlink case to t-filtering. See #871420. + - Generate symlink during test build time. + - Remove superfluous long filename. + - Refactor parse_ctrl() from parse_dsc(). + - Update codespell stopwords. + + [ Helge Kreutzmann ] + * deb-md5sums.pod: Fix typo. + + [ Add programs translations ] + * Occitan (Quentin PAGÈS). + + [ Update dselect translations ] + * German (Sven Joachim). + + [ Update man pages translations ] + * German (Helge Kreutzmann). + + [ Update programs translations ] + * German (Sven Joachim). + * Polish (Marcin Owsiany, Łukasz Dulny). + + [ Update scripts translations ] + * German (Helge Kreutzmann). + +------------------------------------------------------------------- +Thu Apr 29 08:28:48 UTC 2021 - John Paul Adrian Glaubitz + +- Refresh patches for new version + * update-alternatives-suse.patch +- Set minimum version for po4a to 0.59 in BuildRequires +- Update file list in %files section +- Version update to 1.20.9 (boo#1181867) + [ Guillem Jover ] + * Test suite: + - Pass --ignore-builtin-builddeps to dpkg-buildpackage. +- from version 1.20.8 + [ Guillem Jover ] + * start-stop-daemon: Open the --output file in append mode. + * dpkg: Fix --auto-deconfigure for essential and protected during + installation. Reported by Julian Andres Klode . + See #983014. + * dpkg-realpath: Fix resolution for absolute symlinks on «/». + Closes: #983855 + * dpkg-realpath: Fix symlink loop tracker. + * Perl modules: + - Test::Dpkg: Fix test data path fetching on CPAN. + - Dpkg::Exit: Preserve exit code in END block. + * Build system: + - Group Test::Dpkg changelog entries into “Perl modules” section. + * Packaging: + - Run autopkgtest test suites in verbose mode. + * Test suite: + - Set PERL in the perl test suite. + - Use gunzip instead of zcat and assume it might not be present. + - Mock dpkg and gcc for architecture detection code. + - Initialize DEB_BUILD_ARCH and DEB_HOST_ARCH to avoid computing them. + - Update suppressions for cppcheck 2.4. + [ Update man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #981884 + * German (Helge Kreutzmann). + * Portuguese (Américo Monteiro). Closes: #980018 + [ Update programs translations ] + * Dutch (Frans Spiesschaert). Closes: #981882 + [ Update scripts translations ] + * German (Helge Kreutzmann). Closes: #983865 +- from version 1.20.7 + [ Guillem Jover ] + * libdpkg: Do not consider the database locked with a missing lock file. + Reported by David Kalnischkies . + * Documentation: + - man: Clarify and expand information on dpkg-realpath(1) man page. + Closes: #979564 + * Packaging: + - Update copyright notices in debian/copyright. + - Bump Standards-Version to 4.5.1 (no changes required). + * Test suite: + - On as-root mode do not use sudo if already running as root. + - Print WARN instead of FAIL for maintscript fd leaks. + [ Update man pages translations ] + * German (Helge Kreutzmann). + [ Update programs translations ] + * German (Sven Joachim). +- from version 1.20.6 + [ Guillem Jover ] + * libdpkg: Fix undefined behavior in varbuf functions. + Reported by KOLANICH . + * libdpkg: Fix memory leaks in tar_extractor(). + * libdpkg: Fix memory leak in trigger deferred processing. + Reported by KOLANICH . + * libdpkg: Fix memory leak in filesystem treewalk node free function. + * libdpkg: Fix memory leak in filesystem treewalk iterator. + * libdpkg: Fix single-instance memory leak with fsys dir. + * libdpkg: Fix short-lived memory leaks. + * libdpkg: Reset error context errmsg after free(). + * dpkg: Fix memory leak for cidir. + Reported by KOLANICH . + * dpkg: Fix short-lived memory leak in --force-help output. + Based on a patch by KOLANICH . + * dpkg-deb: Fix single-instance memory leak on missing conffiles control + file. + * dpkg-divert: Fix short-lived memory leaks. + * dpkg-realpath: Add new -z, --zero option. + Requested by Johannes Schauer . + * dpkg-deb: Make decompression error message more descriptive. + Closes: #968442 + * dpkg-architecture: Add a --print-format option. + Prompted by #968963. + * dpkg-buildpackage: Warn on known R³ values in uppercase. + Reported by Niels Thykier . + * dpkg-buildpackage: Error out on R³ "yes" value. + Requested by Niels Thykier . + * dpkg-buildpackage: Clarify R³ keyword diagnostic messages. + * dpkg-deb, dpkg-split: Fix time handling to support 64-bit time. + * libdpkg: Check that the ar archive time is within bounds. + * libdpkg: Ignore not-installed packages for source related virtual fields. + Closes: #972580 + * libdpkg: Make source version parsing more robust on missing data. + See #972580. + * libdpkg: Do not forget not-installed packages that are set on hold. + Reported by David Kalnischkies . + * update-alternatives: Fix memory leaks for alternative database context on + load errors. + * update-alternatives: Fix short-lived memory leaks for alternative structs. + * update-alternatives: Fix memory leaks with new_choice. + * update-alternatives: Fix short-lived memory leaks for log_file and admdir. + * dpkg-buildflags: Add support for DFLAGS. Closes: #975896 + * dpkg-parsechanaglog: Document --file in --help output. + * libdpkg: Fix allocation size wrap around when growing a varbuf. + * dpkg-query: Do not print database loading progress. Closes: #977240 + * Rename taint tag to merged-usr-via-aliased-dirs. + * dpkg-buildflags: Enable reproducible=fixfilepath by default. + Thanks to Vagrant Cascadian . + See https://lists.debian.org/debian-devel/2020/10/msg00222.html. + Closes: #974087 + * start-stop-daemon: Move umask setup before any file has been created. + * start-stop-daemon: Add a new --output option to redirect stderr and stdout. + * dpkg-maintscript-helper: Do not pass DPKG_ROOT prefixed pathmames to + dpkg-realpath. + * dpkg: When removing old files check the pathname with diversion and + instdir. + * dpkg-realpath: Make 'link includes root prefix' error more verbose. + * libdpkg: Make sure we do not walk on rootless trees. + * dpkg: Fix incorrect logic around printing dependency warnings. + Thanks to Jessica Clarke . + Reported by Helmut Grohne . + * Support remove-on-upgrade conffile flag via DEBIAN/conffiles. + Based on a patch by Niels Thykier . Closes: #822462 + * dpkg-fsys-usrunmess: New program. + * Perl modules: + - Dpkg::Index: Add new item_opts option. + - Dpkg::Exit: Fix exit handler on program termination. Closes: #966083 + - Dpkg::Changelog::Entry::Debian: Fix format string. + Prompted by #967911. + - Dpkg::Changelog::Parse: Add new verbose option. + Prompted by #967911. + - Dpkg::Changelog::Parse: Document 'label' option. + - Dpkg::Source::Package::V1: Print a message when verifying tarball + signatures. + - Dpkg::Path: Fix pathname traversal check for symlinks. Closes: #971203 + - Dpkg::Source::Package: Honor no_check for directory traversal checks. + See #971203. + - Dpkg::Source::Package: Call syserr() instead of syserror(). + Reported by Drew Parsons . + See #849752. Closes: #976249 + - Dpkg::Path: Check first whether the files are the same by comparing + string-wise. Closes: #849752 + - Dpkg::OpenPGP: Refactor gpg armor code into its own function. + * Documentation: + - man: Fix typo in --print-unset option reference. + Reported by Ferenc Wágner . Closes: #966110 + - man: Clarify that dpkg-architecture uses some of its own variables. + Closes: #966111 + - man: Fix casing and namespacing in VARIABLES definitions. + - man: Fix typo in dpkg-source(1). + Thanks to Paul Wise . + - man: Add a reference to deb-symbols(5) in deb-src-symbols(5) DESCRIPTION. + Prompted by #970083. + - man: Specify that symbol, version and id are separated by a single + whitespace. Closes: #970083 + - man: Clarify day-of-month format in deb-changelog(5). + Reported by Axel Beckert . + See #971977. + - man: Update update-alternatives maintainer script usage information. + Prompted by Niels Thykier . + - man: Switch to use L<> markup for URLs instead of B<>. + - doc, man: Clarify that R³ values are case sensitive. + Prompted by Niels Thykier . + - man: Add references to deb822(5) to file formats based on it. + Prompted by Niels Thykier . + - man: Clarify config-files state in dpkg(1). + Prompted by Stuart Prescott . + - man: Fix typos. + - man: Hyphenate multiple words in deb-override(5) format description. + - man: Uppercase acronyms and logic operators. + - man: Empty or whitespace-only lines in deb-conffiles(5) are not accepted. + * Code internals: + - libcompat, dpkg: Stop using deprecated security_context_t data type. + - update-alternatives: Refactor alternative database context freeing into a + new function. + - libdpkg: Do not define the clamp macro when compiling C++ code. + Reported by Helmut Grohne . + - libdpkg: Replace FSF address by pointing to the gnu.org URL. + - libdpkg: Initialize pkgbin's newhash to NULL. + Prompted by Steinar H. Gunderson . + - libdpkg: Use memset() instead of open-coding struct blanking. + Prompted by Steinar H. Gunderson . + - Do not call fsys_hash_init() before command actions. + Prompted by Steinar H. Gunderson . + - libdpkg: Fix m_pipe() function definition prototype to match declaration. + - libdpkg: Refactor new str_rtrim_spaces(). + Based on a patch by Niels Thykier . + - dpkg: Call fsys_hash_find_node() outside tar_fsys_namenode_queue_push(). + - Use a conffilename variable to track the actual conffile name in the + buffer. + Thanks to Niels Thykier . + * Build system: + - Add new gen-changelog tool. + - Pre-process the curses header before parsing it. Closes: #970545 + - Fix variable substitution in man pages. + Reported by Niels Thykier . Closes: #978983 + - Add a README.cpan to be installed as README in the CPAN distribution. + - Do not try to use on GNU/Linux. + - Fix «make distcheck» for man pages. + - Update GitLab CI configuration to use built-in functional test suite. + - Make it possible to override PKGDATADIR on built scripts too. + - Disable umask to 0 for Docker executor in GitLab CI. + - Disable functional test suite debug mode on GitLab CI. + - Sort po4a entries in po4a.cfg. + * Packaging: + - Do not fail the bug-script if readlink fails. Closes: #968397 + - Improve cron file robustness on missing or empty backup files. + Closes: #969472 + - Use AUTOPKGTEST_TMP instead of writing into the source tree. + - Hook the functional test suite into autopkgtest. + - Remove trailing comma from lintian profile file. + - Do not hardcode libdpkg-perl dependency on perl:any. + Thanks to Sven Joachim . + * Test suite: + - Fix short lived memory leaks in unit tests. + - Print the ehandle unit test error output on verbose mode. + - Improve dpkg-divert test to output stdout and stderr. + - Use intermediate variable for directory traversal item iteration. + - Refactor root handling in Dpkg::Path unit tests. + - Refactor test verbose check into an inline function. + - Make it possible to include test.h from benchmarks. + - Disable hash reports in benchmark tests unless verbose. + - Add support for basic test try/catch/finally keywords. + - Merge the dpkg-tests.git repository into tests/. + - Update merged functional test suite assumptions. + - Remove redundant test cases from the functional test suite. + - Remove source package building support from functional test suite. + - When using DPKG_BUILDTREE add scripts/ to DPKG_PATH. + [ Add man pages translations ] + * Portuguese (Américo Monteiro). Closes: #964751 + [ Update dselect translations ] + * Dutch (Frans Spiesschaert). Closes: #968294 + * French (Didier Vidal). Closes: #964749 + [ Update man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #968743 + * German (Helge Kreutzmann). + [ Update programs translations ] + * Dutch (Frans Spiesschaert). Closes: #968744 + * German (Sven Joachim). + [ Update scripts translations ] + * German (Helge Kreutzmann). +- from version 1.20.5 + [ Guillem Jover ] + * Revert change to prefix the specs file spec string self_spec with + + instead of *. The prefix is supposed to go in the text itself + instead of the spec name, which already had it. This change only + apparently fixed the issue at hand because gcc started parsing it as + the «[SUFFIX]:» case, completely disabling the PIE handling. + Thanks to Thorsten Glaser . + * Perl modules: + - Dpkg::Source::Package::V1: Explicitly initialize constructor options to + their implicit values, otherwise other code end up assuming different + defaults. This is required here too as this class does not call the + initialization from its parent. + * Build system: + - Detect the GNU program variants for make, patch and tar in the CPAN + distribution to replace in the Dpkg module. + - Set DEB_BUILD_ARCH to a dummy “amd64” in the CPAN distribution tests + to not require a dpkg(1) in the system. + * Test suite: + - Only print the Dpkg::Path::check_directory_traversal() error on failure. + [ Updated scripts translations ] + * German (Helge Kreutzmann). +- from version 1.20.4 + [ Guillem Jover ] + * Improve PIE flags support: + - Prefix the specs file spec string self_spec with + instead of *. + This way we do not override any previous setting, otherwise when + passing the -specs options twice (f.ex. to compile and link), only the + last one will take effect, which can break the build. Closes: #870383 + * Perl modules: + - Dpkg::Source::Package: Explicitly initialize constructor options to + their implicit values, otherwise other code end up assuming different + defaults. Closes: #964017 + - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in + verify_signature(), to make sure we do not write to the user home + directory, except for the trustkeys.db file if present. + - Dpkg::Path: Refactor new check_directory_traversal() function out of + Dpkg::Source::Package->extract(). + - Dpkg::Path: Do not do partial matches for directory traversal checks, + expect a trailing slash after the base directory name. + - Dpkg::Path: Catch uncanonicanizable pathnames with a proper error. + Closes: #964111 + - Dpkg::Path: Do not consider missing symlink targets a directory + traversal attempt. Closes: #964234 + - Dpkg::Path: Allow /dev/null for directory traversals. + Reported by Holger Levsen . + * Build system: + - Add Module::Signature as configure recommends for CPAN. + * Test suite: + - Use File::Path::make_path() instead of chained mkdir() in Dpkg_Path.t. + - Add unit tests for Dpkg::Path::check_directory_traversal(). + [ Updated programs translations ] + * German (Sven Joachim). +- from version 1.20.3 + [ Guillem Jover ] + * Perl modules: + - Dpkg::OpenPGP: Pass --no-options to gpg in verify_signature(). + Reported by Bertrand Marc . Closes: #963839 + - Dpkg::Build::Info: Clarify by giving context to the + get_build_env_whitelist() deprecation warning. Closes: #963844 + Reported by Sven Joachim . + - Dpkg::Source::Package: Fix check_original_tarball_signature() to make + import_key() honor require_valid_signature, which should default to + false. Reported by Mattia Rizzolo . + - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in + import_key(), to make sure we do not write to the user home directory, + which might be read-only or non-existent. Closes: #963944 + Reported by Mattia Rizzolo . + * Code internals: + - libdpkg: Print a notice if we cannot write to the log file. + * Build system: + - Improve error diagnosis for configure version fetching script. + Prompted by Norbert Preining . + [ Updated programs translations ] + * German (Sven Joachim). +- from version 1.20.2 + * dpkg: Do not include the architecture with --robot --version. + * update-alternatives: Create alternatives directory (/etc/alternatives) + if it is missing, to help with installation bootstrapping. + Reported by Johannes Schauer . + * update-alternatives: Create the log directory if it is missing. + * Perl modules: + - Dpkg::Source::Package: Turn the missing expected tarball signature + error into a warning for now, as it is causing unintended fallout, + and does not play nice (yet) with tarballs repackaged by uscan(1). + Closes: #963821 + * Code internals: + - update-alternatives: Move log_msg() after make_path() so that we can use + the latter. + - update-alternatives: Add new xstrndup() and xdirname() functions. + * Build system: + - Set SHELL in the test environment. + - Do not fail if po4a is not found, and search for it just once. + - Fix name and section generation for translated man pages. This caused + pod2man to get an empty --name argument and not output anything, + resulting in generating empty man pages. Closes: #963794 + * Packaging: + - Sort debian/dpkg-dev.manpages. + - Install deb-src-symbols(5) in dpkg-dev package. +- from version 1.20.1 + [ Guillem Jover ] + * Fix dpkg logging regression introduced in 1.20.0: + - libdpkg: Use varbuf member .used instead of .size in log_message(), + to avoid printing garbage. + - libdpkg: Open the log file as write-only instead of read-only. + Thanks to Roderich Schupp . Closes: #953684 + * Unify and cleanup Makefile fragment files comments, including information + about version of introduction. + * Add new buildopts.mk Makefile fragment to support parsing DEB_BUILD_OPTIONS + options with arguments, such as “parallel” as DEB_BUILD_OPTION_PARALLEL. + * dpkg-genchanges: Handle empty Date fields from parsed debian/changelog. + Based on a patch by Baptiste BEAUPLAT . Closes: #956321 + * dpkg-source: Check that debian/tests/control has the required fields. + Prompted by Felix Lechner . + * dpkg-deb, dpkg: Do not accept relative pathnames in DEBIAN/conffiles. + Reported by Niels Thykier . + * dpkg-split: Fix off-by-one check in ar header padding, that was making + parsing error out on valid archives. Regression introduced in dpkg 1.18.8. + * libdpkg: Fix error message for ending version character in dependency + parser: + - Move the version unterminated case before the catchall. + - Print the actual wrong character and print what is expected. + * libdpkg: Do not use econtext->errmsg on out of context abort, as it might + be uninitialized. + * update-alternatives: Set the umask to 022 on program start. + Reported by Paul Wise . + * dpkg-parsechangelog: Fix --show-field for multiline fields. We were not + stripping trailing whitespace, and were not prefixing empty lines with + a ‘.’, like when printing with the field names. + Reported by Paul Wise . + * dpkg: Add a new --robot option to be used with --version. + * dpkg, dpkg-query: Document missing options in --help output. + * Unify ellipsis formatting in programs --help output. + * Add Protected field support. + * dpkg-realpath: New program, to be used by dpkg-maintscript-helper, and + any maintainer script that needs a realpath that can handle pathnames + relative to the dpkg root directory. + * dpkg-realpath: Add support for DPKG_ROOT. + Thanks to Helmut Grohne . + * dpkg-realpath: Add support for --root and --instdir options. + * dpkg-maintscript-helper: Add support for DPKG_ROOT: + - Add DPKG_ROOT support for conffiles. + Thanks to David Kalnischkies . + - Add DPKG_ROOT support for symlink to and from directory switches. + Based on a patch by Bastien ROUCARIÈS . + Closes: #832176 + * update-alternatives: Add DPKG_ROOT support, and new --root and --instdir + options. Closes: #871808 + * Portability: + - libdpkg: When using uselocale(), include for locale_t if + the header is available. Needed on BSDs. + Reported by Sirio Balmelli . + * Perl modules: + - Dpkg: Add a LICENSE section to the POD. + - Dpkg::Source::Package: Add new get_upstream_signing_key() method. + - Dpkg::Source::Package: Check missing expected tarball signatures. + - Dpkg::Source::Package::V1: Check version format matching source format. + - Dpkg::Vendor::Debian: Add debian-nonupload.gpg keyring. + Thanks to Taowa Munene-Tardif . Closes: #956055 + - Dpkg::Vendor::Debian: Detect merged-usr-via-symlinks also with absolute + pathnames. Reported by Adam Borowski . + - Dpkg::Build::Info: Avoid whitelist in function name. + - Dpkg::Shlibs::SymbolFile: Avoid blacklist and whitelist terms. + * Documentation: + - man: Fix misused two-fonts macros. + Thanks to Bjarni Ingi Gislason . Closes: #955028 + - man: Trim trailing whitespace from output. + Thanks to Bjarni Ingi Gislason . Closes: #955030 + - man: Mention that dpkg(1) does not provide all back-end interfaces. + Prompted by Elana Hashman . + - man: Clarify and fix file formats SYNOPSIS. + - man: Clarify that deb-control(5) is a subset of deb-src-control(5). + Closes: #958229 + - man: Unify warning and note admonitions formatting. + - man: Remove useless commented out macros. + - man: Fix unbalanced quotes in macro arguments. + - man: Specify the indentation level for all following .IP macros, not + just the first one. + - man: Use .TP macros instead of hand-crafted formatting. + - man: Fix font markup for some variable and literal strings. + - dpkg-maintscript-helper: Add -?, --help and --version to --help output. + - man: Fix apt and aptitude references. + Reported by Helge Kreutzmann . + - man: Mark commands (eval) in bold and quote library names (libgcc). + Reported by Helge Kreutzmann . + - man: Use UTF-8 quotes instead of ancient groff register variables. + - man: Use literal double quotes instead of groff escape sequences. + - man: Clarify that we resolve bug reports not bug report numbers. + Reported by Helge Kreutzmann . + - man: Clarify POSIX shell eval command usage in dpkg-architecture(1). + - man: Use item lists instead of verbatim or hand-crafted formatting. + - man: Do not use verbatim formatting for text that is not an example. + - man: Markup examples explicitly with .EX/.EE. + - man: Fix indentation for a note admonition in dpkg-scansources(1). + - man: Document that a 3.0 (quilt) patch cannot create or modify symlinks. + Thanks to Johannes Schauer . + - man: Reword text to reduce length in verbatim code block. + - man: Add semicolons before verbatim code blocks. + - man: Update dselect methods provided. Several got removed in 1.20.0. + - man: The Installed-Size field does not get its value from du(1) since + 1.18.0. + - man: Fix dpkg-gencontrol -P description to not refer to dpkg-source. + Reported by Jakub Wilk . + - man: Place description of override value column on its own paragraph. + - man: Surround markup within verbatim blocks with .nf/.fi. + - man: Balance font markup. + - man: Do not nest font markup. + - man: Use .ig/.. macros to disable text instead of commenting it out. + - man: Do not mark end of sentence period with bold. + - man: Add a missing comma after man page reference in SEE ALSO section. + - man: Convert man pages from roff to POD. + - man: Clarify the dpkg --no-act admonition. + - man: Avoid whitelist term in dpkg-source man page. + * Code internals: + - Use $() in shell or qx() in perl instead of ``. + - dpkg-split: Switch part number variables from unsigned int to int. + - scripts: Refactor shell error handling into a shell library + - Reformat shell code to follow the coding style. + - update-alternatives: Parametrize option names in output strings. + - update-alternatives: Move logging function close to output functions. + - update-alternatives: Move argument parsing functions close to main(). + - update-alternatives: Add general purpose non-failing functions for + administrative directory access. + - update-alternatives: Add filesystem abstraction functions. + * Build system: + - Handle .git being a plain file when getting the dpkg tree version. + - Add debian/changelog as a Changes file to the CPAN distribution. + - Set DPKG_SERIES to 1.20.x when running the functional test suite. + - When using po4a require at least po4a 0.59. Change the po4a --porefs + argument from no longer supported “noline,wrap” to “file”, as wrapping + is the default since po4a 0.58. We require po4a 0.59 as 0.58 had a + regression in its --srcdir support. + - Switch to set the po4a addendum in the po4a_paths section instead of + repeating it for each man page. + - Use po4a conditional addendum support, and remove empty addenda. + - Use po4a mode=eof support in addenda. + - Do not use make prerequisites on suffix rule definitions. + Closes: #961850 + - Add man page number suffixes to the automake SUFFIXES variable. + - Update false positive suppressions for cppcheck 2.1. + - Install specifications and API contracts in docdir. + - Add support for switching man pages from roff to POD format. + - Fix shell files substitution for version variable. + * Packaging: + - Switch to debhelper compatibility level 13. + - Remove debian/tmp prefix from manpages debhelper fragment files. + - Handle missing localized man pages gracefully. + - Install AUTHORS, THANKS, usertags, README.api and + README.feature-removal-schedule only in dpkg.deb. + - Rename debian/usertags to debian/README.bug-usertags. + - Install specifications to /usr/share/doc/dpkg/ in the dpkg-dev package. + - Detect merged-usr-via-symlinks also with absolute pathnames in + bug-script. Reported by Adam Borowski . + * Test suite: + - Rename deb-content test cases to make them more descriptive. + - Skip autogenerated files from codespell. + [ Updated programs translations ] + * German (Sven Joachim). + * Simplified Chinese (Boyuan Yang). Closes: #958437 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * German (Helge Kreutzmann). +- from version 1.20.0 + [ Guillem Jover ] + * libdpkg: Do not generate a backup file for the available database. + Closes: #343578 + * perl: Switch Getopt::Long from bundling to bundling_values. This means + the few scripts using Getopt::Long will stop accepting options in the + form «-ab» for «-a -b», which is not future-proof, as it does not allow + these options to get new arguments without making them ambiguous. + * dpkg-buildpackage: Remove transient backwards R³ compatibility code. + * buildtools.mk: Add support for nostrip in DEB_BUILD_OPTIONS when setting + the STRIP variable. + * dpkg-genbuildinfo: Do not include irrelevant packages in the Binary field. + * dpkg: Do not clear selections for unknown packages. Closes: #927752 + * dpkg-shlibdeps: Add support for new Build-Depends-Packages, to be able + to specify multiple packages. Closes: #926669 + Based on a patch by Frank Schaefer . + * perl: Remove support for versioned GnuPG 2 program and packages. + * libdpkg: Clarify lock contender error message. Print the PID of the lock + contender, and add a warning explaining that removing the lock file is + never the correct solution. + * dpkg-genchanges, dpkg-mergechangelogs: Remove support for ~vola + versioning, as volatile.debian.org was decommissioned some time ago. + * dpkg-genchanges, dpkg-mergechangelogs: Match ~deb also as a backport + marker in versions. Closes: #934980 + * libdpkg, dpkg: Use new versiondescribe_c() for non-localizable call sites, + such as when writing to a log, which should not be localized. + Reported by Julien Cristau . + * dpkg-query: Try to use the package synopsis from the available file if + not installed. Closes: #43573 + * dpkg-gencontrol: Take into account hardlinks when computing the + Installed-Size substvar. Closes: #923475 + Patch co-authored with Sven Joachim . + * dpkg: Fix and clarify behavior for packages marked to be on “hold”. These + need to be processed for configuration and triggers. Closes: #926472 + * dpkg: Use DPKG_ADMINDIR to set the admindir. Closes: #900071 + * dpkg-source: Remove backwards compatibility code for legacy build-profiles. + * perl: Give more context on field parsing errors. Closes: #637060 + * dpkg-buildpackage: Add option to sanitize environment. Closes: #843776 + * update-alternatives: Cope with a missing administrative directory. + * update-alternatives: Create the administrative directory on demand. + * dpkg-split: Cope with a missing parts/ database directory. + * dpkg-split: Create the parts/ database directory on demand. + * libdpkg: Consider msdbrw_needsuperuser equivalent to msdbrw_write, so + the same checks are performed on normal non --force-not-root operation. + * libdpkg: Add support for bootstrapping the installation of dpkg: + Closes: #914515 + - Create the logfile with correct permissions, and remove the code + setting up the logfile from the dpkg postinst. + - Allow missing status and available databases, so that they get created + on write, and remove the code setting them up from the dpkg postinst. + Closes: #647911 + - Do not change the ownership of the triggers database directory. Either + we are running as root:root which means the ownership should be correct + already, or we are not which means we cannot change it anyway. + - Create the dpkg database directory on demand. + - Create the updates/ database directory on demand. + - Create the info/ database directory on demand. + * dpkg-architecture: Fix handling of exec failing in --command. + Reported by Helmut Grohne . + * dpkg-buildpackage: Do not accept equal signs as part of the hook names. + Reported by Daniel Shahaf . Closes: #948291 + * dselect: Mark a string for translation. + * dselect: Cleanup access methods: + - Remove harddisk methods, as they were non-functional due to fdisk + interface changes, and do not make sense anymore as we can expect users + to mount any such filesystem on their own, to then use a filesystem + method instead. Prompted by Helmut Grohne . + - Remove cdrom method superseded by the multi_cd method. + - Remove nfs methods, as there is nothing special about NFS, and mounting + these should just be left to the local admin, who can mount any other + remote filesystem too. + - Remove multi_mount method, as the multi_cd method can take care of + mounting the necessary images or devices. + - Replace changelog with correct copyright in file header. + * dpkg, dselect: Stop using first-person singular in output messages. + * libdpkg: Fix memory leak in parsedb context close. + * buildtools.mk: Add QMAKE variable. Closes: #920878 + * po: Fix translation of --compare-versions. Closes: #951614 + Thanks to Boyuan Yang . + * Perl modules: + - Dpkg::Source::Package: Verify original tarball signatures at build time. + - Dpkg::BuildFlags: Add new unset() method. + Requested by Daniel Schepler . + - Dpkg::Source::Package::V2: Emit a special patch header on + single-debian-patch. Closes: #933152 + - Dpkg::Vendor::Debian: Only scan /usr/local/ directories that exist. + Closes: #932967 + - Dpkg::Vendor::Debian: Do not set -Werror=implicit-function-declaration + for C++. Closes: #939969 + - Dpkg::Deps: Check for valid virtual package version relations. Do not + allow non-equal version relations in virtual provides. Closes: #930317 + - Dpkg: Remove internal lowercase variables $version, $progname, + $admindir, $dpkglibdir and $pkgdatadir. + - Dpkg::Changelog: Remove obsolete methods dpkg() and rfc822(). + - Dpkg::Changelog::Entry::Debian: Remove obsolete methods check_header() + and check_trailer(). Hide variables $regex_header and $regex_trailer. + - Dpkg::Changelog::Parse: Remove warnings of obsolete options forceplugin + and libdir. Remove obsolete functions changelog_parse_debian() and + changelog_parse_plugin(). + - Dpkg::Compression: Hide internal lowercase variables + $default_compression, $default_compression_level and + $compression_re_file_ext. + - Dpkg::Deps::KnownFacts: Remove obsolete check_package() method. + - Dpkg::Exit: Hide internal lowercase @handlers variable. + - Dpkg::Gettext: Remove obsolete _g() function. + - Dpkg::Source::Package: Hide internal lowercase variable + @tar_ignore_default_pattern. Remove internal lowercase variable alias + $diff_ignore_default_regexp. + - Dpkg::Substvars: Remove obsolete no_warn() method. + - Dpkg::Index: Change default value for unique_tuple_key to 1. + - Dpkg::Version: Remove deprecation warning from semantic change in + bool overload. + - Dpkg::Checksums: Remove obsolete 'program' property warning. + - Dpkg::Conf: Remove obsolete methods and obsolete croak for method option. + - Dpkg::Vendor: Remove obsolete 'keyrings' hook. + - Dpkg::Exit: Unregister all signal handlers once we have executed them. + Closes: #932841 + - Dpkg::Exit: Register exit handlers also for __DIE__. + - Dpkg::Source::Package::V3::Native: Do not say v1.0 for 3.0 formats. + - Dpkg::Dist::Files: On filename parse error say file instead of package. + - Dpkg::Substvars: Add new vendor:Name and vendor:Id substvars. + - Dpkg::Source::Package: Detect directory traversals under debian + directory. Reported by Felix Lechner . + * Documentation: + - man: Fix uncommon wording constructs. + - man: Use a minus sign for a literal string. + - man: Clarify that the pager is called via «$SHELL -c». + - dpkg-shlibdeps: Document split_soname() function. + Prompted by Christopher Crim . + - Dpkg::Changelog: Document methods provided by subclasses. + Reported by Felix Lechner . + - man: Globally adjust left and disable hyphenation. + - man: Split dselect(1) --color from --colour option items. + - man: Describe the SONAME formats supported in deb-shlibs(5). + - man: Move template symbol documentation into new deb-src-symbols(5). + - Dpkg::Changelog::Parse: Remove $ sigil from option names in POD. + - Dpkg: Say class instead of object when appropriate. + - Dpkg::Changelog: Clarify that these classes inherit from some other + base class, which will contain the missing documentation. + Prompted by intrigeri . + - man: Clarify deb-changelog(5) format. Closes: #946780 + - man: Clarify debian/source/include-binaries format in dpkg-source(1). + Prompted by Felix Lechner . + - man, doc: Clarify that the postinst "triggered" argument gets the + trigger-name(s) as a space-separated list in the second argument. + Prompted by Michael Biebl . + - dselect: Update the multicd README file. + - doc, man: Mark T and I package instances to avoid misreadings. + * Code internals: + - Dpkg::Source::Package: Refactor original tarball handling. + - perl: Use File::Copy instead of spawning mv/cp commands. + - Dpkg::OpenPGP: Refactor signature verification into a new function. + - Dpkg::OpenPGP: Make it possible to verify detached signatures. + - Dpkg::OpenPGP: Add support for importing an OpenPGP key into a keyring. + - Dpkg::BuildFlags: Remove unused hash keys. + - libdpkg: Use the variable instead of a type as sizeof() argument. + - libdpkg: Use the totalwritten variable for a consistency check. + - dselect: Reduce scope of variable, to avoid it being unused in a branch. + - dpkg-deb: Fold two adjacent if conditionals into a single one. + - dpkg: Initialize flagdeppossi in check_conflict(). + - libdpkg: Add new C locale switch over support. + - libdpkg: Add new versiondescribe_c() to force a C locale. + - dselect: Make baselist::draw_column_*() col arguments const. + - libdpkg: Use p instead of name in dpkg_arch_name_is_illegal(). + - dpkg: Remove redundant condition for sourcefile in updateavailable(). + - dpkg, update-alternatives: Make variables static. + - libdpkg: Add missing symbols to the version map. + - libdpkg: Fix fiemap memory layout usage that confuses gcc 10 to emit a + warning. + - libdpkg: Only use varbuf_printf() in pkg_format_show() when necessary. + This should speed up «dpkg-query --show» formatting. + - libdpkg: Fix package format string to be a string literal. + This suppresses a gcc warning. + - dpkg: Fix short lived memory leak in --force-help handling. + - dpkg-split: Fix short lived file descriptor leak in --auto. + - start-stop-daemon: Explicitly ignore unimportant function return values. + - start-stop-daemon: Fix memory leak on multiple --chuid arguments. + - start-stop-daemon: Close the notification socket in the child. + - libdpkg: Fix memory leaks in zlib and bz2 decompression functions. + - libdpkg: Add new dir_make_path() and dir_make_path_parent() functions. + - libdpkg: Add new atomic file flag to create the base path when missing. + - libdpkg: Fix modstatdb_rw enum comments. + - libdpkg, dpkg-query: Optimize db-fsys:Files virtual variable loading. + We load either the entire db-fsys for all packages, possibly optimized + per platform (such as by using fiemap), or the specific ones for the + requested packages. This also fixes a problematic cast removing the + constness of a variable. + - Dpkg::Dist::Files: Document the two filename pattern formats. + - update-alternatives: Remove redundant condition in argument parser. + - update-alternatives: Move error context setup before calling setjmp(), + so that cppcheck stops being confused. + - test: Reformat 200_Dpkg_Shlibs.cpp for coding style conformance. + - dpkg: Make it possible for the compiler to check printf() format + string arguments on dependency printer. + - dselect: Reorder branches in packagelist::deselect_one_of so that they + are not duplicated. + - dselect: Use nullptr instead of NULL. + - dselect: Use static_cast<> instead of old-style type qualifier cast. + - dselect: Do not use unnecessary old-style casts. + - dselect: Fix variable types to avoid needing old-style casts. + - libcompat: Disarm libselinux setexecfilecon() declaration for + libcompat-test. + - libdpkg: Define new VARBUF_OBJECT macro. + - libdpkg: Add new ATOMIC_FILE_NORMAL enum value to avoid a cast in C++. + - libdpkg: Use a new DPKG_NULL macro that works in C and C++. + - libdpkg: Use a new DPKG_STATIC_CAST macro that works in C and C++. + - libdpkg: Move printing of errno into dpkg_error_set(). + - libdpkg: Use a varbuf to store the problem messages per parsedb context. + - libdpkg: Fix Doxygen comments. + * Build system: + - Bump minimal Perl version to 5.24.1. + - Add a serial versioning to the m4 files. + - Install m4 files into system aclocal directory. + - Bump minimal gettext version to 0.19.8, to get the m4 files that can + cross-build for musl-based systems. + - Enable more compiler warnings. + - Update Doxygen configuration from version 1.8.16. + * Packaging: + - Remove obsolete Breaks satisfied since oldstable. + - Replace custom rule for 'configure' with call to dh_autoreconf. + Thanks to Dan Streetman . Closes: #939516 + - dselect: Remove methods state files on purge. + Spotted by Sven Joachim . + - Switch to debhelper compatibility level 12. + - Switch from debian/compat to debhelper-commpat in Build-Depends. + - Bump Standards-Version to 4.5.0 (no changes required). + * Test suite: + - Remove perlcritic Documentation::RequirePodLinksIncludeText suppression. + - Clarify cppcheck va_list_usedBeforeStarted suppression. + - Skip build directories from codespell check. + - Update stopwords for codespell 1.16.0. + - Suppress new bogus cppcheck 1.90 false positives. + - libdpkg: Remove redundant assignment in t-ehandle unit test. + - Skip backup files from codespell check. + - Ignore python-3.8 runtime warnings in codespell. + [ Updated programs translations ] + * German (Sven Joachim). + * Portuguese (Miguel Figueiredo). Closes: #935695 + * Simplified Chinese (Mo Zhou). Closes: #942195, #945776 + [ Updated dselect translations ] + * German (Sven Joachim). + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * German (Helge Kreutzmann). Closes: #931135 +- from version 1.19.7 + [ Guillem Jover ] + * dpkg: Fix off-by-one error in dpkg --abort-error. Closes: #924886 + Thanks to Tom Goulet . + * dpkg: Set the force defaults before loading the config file, otherwise we + incorrectly override them. Regression introduced in dpkg 1.19.5. + Closes: #928671 + * dpkg: Split the trigger dependtry into two, the second of which will be + the one checking trigger cycles when deferring trigger processing due to + unsatisfiable dependencies. Closes: #928429 + * dpkg-deb: Validate ar member magic before normalizing any of its fields. + * dpkg-deb: Honor --nocheck when building packages with newlines in + filenames. Regression introduced in dpkg 1.18.1. Closes: #929727 + * Documentation: + - rootless-builds.txt: Expand what the builder means. Mention the + dpkg-deb option to use to set the owner and group to root. And reword + the prototyping section to be less confusing with what is currently + implemented. Closes: #929019 + - README: Clarify when autopoint is needed. Closes: #929601 + - Fix typos in docs and output strings. Warned by codespell. + [ Updated programs translations ] + * Catalan (Guillem Jover). + [ Updated dselect translations ] + * Catalan (Guillem Jover). + [ Updated scripts translations ] + * Catalan (Guillem Jover). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #926665 + * French (Jean-Pierre Giraud). Closes: #929664 +- from version 1.19.6 + [ Guillem Jover ] + * libdpkg: Add a new TAR_FORMAT_UNKNOWN enum value. + * libdpkg: Set tar_entry to zero on tar_entry_destroy(), to avoid double + free()s and the subsequent crashes. + * libdpkg: Handle non end-of-tape errors from tar_header_decode(). + * libdpkg: Use ERANGE instead of EINVAL for tar_atol8() out-of-range error. + * dpkg-gencontrol: Check presence of package build dir before traversing it. + * Perl modules: + - Dpkg::Source::Package::V1: Change default build option style to -sa. + Using -sA by default means the user might lose data on overwrite if + there is already a directory with the same name laying around. + Closes: #910737 + - Dpkg::Source::Package: Handle Format field being undefined. On source + format 1.0, the default is for the debian/source/format file not being + present, which means we'll start with an empty Format field name. + Regression introduced in dpkg 1.19.3. + * Packaging: + - Update usertags. + - Install a lintian profile for dpkg based on the debian profile, so that + we can suppress Debian-specific tags, such as the controversial one on + vendor-specific patch series files. + - Add Breaks on lsb-base due to start-stop-daemon exposing breakage in + the killproc function from /lib/lsb/init-functions. Closes: #923861 + * Test suite: + - Stop requiring (pseudo-)root in the functional test suite. + - Export and move TESTDATA definition close to the PATH definition. + - Quote the 'yes' command to make a comment clearer. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #924776 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #924777 + * German (Helge Kreutzmann). +- from version 1.19.5 + [ Guillem Jover ] + * start-stop-daemon: Make sure that we get a meaningful errno on + parse_unsigned(), so that the error messages always make sense. + * start-stop-daemon: Add new fatalv() and fatale() functions and use the + latter for system errors, so that we are explicit on whether we want to + use errno for error reporting or not. + * start-stop-daemon: Always refuse to parse a world-writable pidfile, + except when that is /dev/null. + * dpkg: Print the current set of enabled force options on --force-help. + * dpkg: Parse and set new DPKG_FORCE environment variable for subprocesses. + Closes: #666147 + * dpkg-statoverride: Add support for --force-* options. + * dpkg-statoverride: Switch from --force option to new --force- + options. Deprecate --force option which will be considered an alias for + --force-all for now. + * dpkg, dpkg-statoverride: Add new option --refuse-security-mac to control + SELinux. See #811037. + * dpkg: Clarify error on unknown system user/group in statoverride database. + Closes: #920880 + * dpkg-buildpackage: Clarify the warning/error on short OpenPGP key IDs. + Closes: #922039 + * dpkg-maintscript-helper: Restrict find for dir-to-symlink move to + -maxdepth 1. Thanks to Ralf Treinen . Closes: #922799 + * dpkg-genbuildinfo: Add support for a new Build-Tainted-By field in + .buildinfo files. Suggested by Alexander E. Patrakov . + * libdpkg: Clarify field names in error and warning messages. + * libdpkg: Optimize error handling. Move the error reporting outside the + involved functions so that we do not need to call gettext if there is no + error, which has a significant performance cost. + * libdpkg: Merge nicknames table into fieldinfos, to stop penalizing the + lookup of non-obsolete fieldnames. + * libdpkg: Print a more accurate warning for Revision nicknames. + * libdpkg: Increase the pkg-hash bins size to 65521, to improve hash table + performance at the cost of a bit more memory usage. + * libdpkg: Blank packages that are not-installed with unknown selection. + Closes: #922410 + * libdpkg, dpkg: Print the dpkg database directory on access errors. + Closes: #883700 + * Perl modules: + - Dpkg::Vendor::Debian: Add support for merged-usr-via-symlinks tainted + tag. Suggested by Alexander E. Patrakov . + - Dpkg::Vendor::Debian: Add support for usr-local-has-* tainted tags. + - Dpkg::Source::Package: Add a missing use Dpkg::Source::Format. + Diagnosed by Ian Jackson . + Closes: #921031 + * Documentation: + - start-stop-daemon(1): Document behavior of --pidfile security checks. + Closes: #921557 + - dpkg(1): Document the unknown selection state. Closes: #922407 + * Code internals: + - dpkg: Move SELinux fallback label to the SELinux specific code path. + - dpkg: Simplify maintscript_set_exec_context(). + - dpkg: Move force options support into its own file. + - dpkg: Do not hardcode the program name in the --force-help output. + - dpkg: Switch force options from individual variables to bit fields. + - dpkg: Switch from a char to an enum to track the force options types. + - dpkg: Switch to set the default force option from the forceinfos array. + - libdpkg: New benchmark programs and infrastructure. + - libdpkg: Add new dpkg_error_move() function. + - libdpkg: Add new dpkg_has_error() function. + - libdpkg: Move status names from parse errors to arguments. + - libdpkg: Use va_arg copy instead of the original on a vasprintf() call. + - libdpkg: Include in pager.c. + Reported by Y . Closes: #922212 + - libdpkg: Use pkg_set_want() instead of a direct assignment. + * Build system: + - Check whether this dist is a release, based only on the version format. + This will avoid having to do a two staged release to get a proper perl + distribution tarball. + * Packaging: + - autopkgtest: Add file to Depends fields. + - autopkgtest: Clarify behavior on root/non-root requirement. + - Bump Standards-Version to 4.3.0 (no changes required). + - Remove now unused assert usertag description. + - Remove trailing whitespace from changelog. + - Remove Origin and Bugs fields from control file. + - Include a bug-script to report on tainted merged-usr-via-symlinks. + * Test suite: + - libdpkg: Fix unit test for file_slurp(). Closes: #920974 + Diagnosed by Frank Schaefer . + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #921942 + * German (Sven Joachim). + * Simplified Chinese (Zhou Mo). Closes: #920972 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #921943 + * French (Jean-Pierre Giraud). Closes: #920905 + * German (Helge Kreutzmann). +- from version 1.19.4 + * start-stop-daemon: Do not sanity check the pidfile when it is specified as + /dev/null, as that implies the caller wants to start the program no matter + what. Closes: #920242 + * Portability: + - start-stop-daemon: Only use SO_PASSCRED if defined. Fixes build failure + at least on GNU/Hurd. + * Packaging: + - autopkgtest: Pass --disable-nls and --disable-dselect to configure. + - autopkgtest: Change Depends to «build-essential, autoconf, pkg-config». +- from version 1.19.3 + [ Guillem Jover ] + * dpkg-source: Stop filtering @builddeps@ from Testsuite-Triggers field. + Closes: #910734 + * dpkg-genchanges: Only reference binary packages being uploaded, which + means that for a source-only upload, the Binary and Description fields + should be empty. Closes: #818618 + * dpkg-scanpackages: Do not compute unnecessary checksums when using the + --hash argument. Based on a patch by Chris Lamb . + Closes: #916456 + * dpkg-scanpackages: Emit a warning with the list of repeat packages. + Prompted by Johannes Schauer . + * start-stop-daemon: Check whether standalone --pidfile use is secure. + Prompted by Michael Orlitzky . + * start-stop-daemon: Print complete verbose lines, instead of partial lines + with no newlines and a final print with a newline. + * start-stop-daemon: Add new --notify-await and --notify-timeout options, + which implement the systemd readiness protocol for services. + Closes: #910707 + * update-alternatives: Add new --debug option. + * update-alternatives: Fix removal of obsolete slaves from the linked list. + Reported by Andreas Beckmann . Closes: #916799 + * vendor.mk: Fix dpkg_vendor_derives_from macro documentation. + Thanks to Colin Watson . Closes: #913816 + * vendor.mk: Add support for an improved dpkg_vendor_derives_from macro. + Version the macros so that both can be used, and default the unversioned + one to the version 0 macro. + * dpkg: Mark the package we are giving up on a trigger cycle as "istobe" + normal, so that the dependency checks know they cannot expect this package + to be processed anymore. Otherwise we ended up never detecting that we + were not making progress, as we expected to process this package at a later + point, when that would never happen anymore. This then was causing asserts + in the process queue loop. Closes: #901127, #910819 + * dpkg: Reset progress_bytrigproc once we have injected it into the current + package process queue iteration, so that we do not keep trying to process + it, which might end up generating artificial trigger cycles, if + dependencies are not satisfied yet. + * dpkg: Convert one trigger processing required type into the new try-queued + one, so that we stop skipping unsatisfiable dependency checks. + * dpkg: Move trigproc cycle reset inside try-deferred conditional. We should + only reset the cycle detection in case we are not bailing out from the + processing with an error, otherwise we could come back to this package and + detect an artificial trigger cycle. + * dpkg: Introduce a new dependency try level for trigger processing. This + completely defers trigger processing until after the dependency cycle + breaking level, so to avoid generating artificial trigger cycles, when we + end up trying to process triggers with yet unsatisifiable dependencies. + Closes: #810724, #854478, #911620 + * dpkg: Fix --help output, to clarify which arguments are optional. + * libdpkg: Add proper tar error handling. This makes the tar extractor + track and report back parse errors, so that we can give more descriptive + messages. + * libdpkg: Detect unsupported tar entry types to give better error messages. + * libdpkg: Add new db-fsys:Files and db-fsys:Last-Modified virtual fields. + * Perl modules: + - Dpkg::Changelog::Debian: Preserve modelines at EOF. Closes: #916056 + Thanks to Chris Lamb for initial test cases. + - Dpkg::File: Make file_slurp() also accept pathnames in addition to + filehandles. + - Dpkg::Vendor::Ubuntu: Fix buildflags override after default setting move. + Based on a patch by Iain Lane and + Adam Conrad . Closes: #915881 + - Dpkg::Shlibs::Objdump: Remove unused Dpkg::IPC import. + - Dpkg::Shlibs::Objdump: Only select objdump program when going to use it. + - Dpkg::Source::Package: Do not reinitialize fields member in constructor. + - Dpkg::Source::Patch: Do not recommend --include-removal when not + supported. Closes: #913012 + - Dpkg::Source::Package::V3::Bzr: Fix format name in output message. + - Dpkg::Source::Package: Add a new format option to the new constructor. + Prompted by James McCoy . + - Dpkg::Source::Package: Improve debian/source/format parsing and + validation. + - Dpkg::Source::Format: New public module. + Prompted by Mattia Rizzolo . + * Documentation: + - dpkg(1): Clarify --remove action. Closes: #914478 + - dpkg-query(1): Clarify --list option behavior when no arguments are + specified. Closes: #917098 + - deb-control(5): Clarify by adding a reference to deb-src-control(5) and + removing an invalid comment in the example. + Prompted by Helmut Grohne . + - dpkg(1): Clarify databases used by --yet-to-unpack and --predep-package. + Prompted by Johannes Schauer . + - Clarify character classes for various formats in man pages, by + explicitly listing the character ranges within parenthesis. + Prompted by Ian Jackson . + - dpkg-query(1): Document the version introducing the -f option. + - dpkg-architecture(1): Add reference to the TERMS section in the + VARIABLES section. Prompted by Axel Beckert . + - Fix POD for Dpkg::Interface::Storable derived method implementations. + - Dpkg::Deps::Simple(3): Fix POD signature for new constructor. + * Code internals: + - dpkg-maintscript-helper: Use an explicit escape instead of a literal + backslash. + - Quote shell variables. Reported by Johannes Schauer . + - Switch perl code to use the new Dpkg::Source::Format module. + - dpkg-source: Move source format selection earlier in the build. + - dpkg-source: Use new format argument for Dpkg::Source::Package->new(). + - dpkg-shlibdeps: Remove unused variable. + - dpkg-scanpackages: Unroll a single iteration loop. + - start-stop-daemon: Compare foundany against 0 instead of treating it + like a boolean. + - start-stop-daemon: Switch code to use new info() and debug() functions. + - update-alternatives: Use enums for actions instead of strings. + - update-alternatives: Switch verbose selection into an enum. + - dpkg: Negate tortoise_not_in_hare() function name and return value. + - dpkg: Initialize trigcyclenode's next member once. + - dpkg: Use common pattern of assigning as an iterator. + - dpkg: Factor trigproc_new_cyclenode() out from check_trigger_cycle(). + - dpkg: Switch dependtry from an int to an enum. + - dpkg: Move dependtry description from deferred_configure() to its + declaration. + - dpkg: Split trigger processing types into required, try-queued and + try-deferred. + - dpkg-query: Rename variable to avoid shadowing a local function. + - When allocating use the variable instead of the type in sizeof(). + - dselect: Rename variable r to pkgbin. + - libdpkg, dpkg: Rename r variables to fnn. + - libdpkg: Rename ret variable to next. + - libdpkg: Cleanup fsys module symbol names. + - libdpkg: Rename pkg_db symbols to pkg_hash. + - libdpkg: Add new warning printer setter function. + Prompted by Julian Andres Klode . + - libdpkg: Add new DPKG_ERROR_OBJECT macro. + * Build system: + - get-version: Use a format string with printf. + - run-script: Use $() instead of deprecated ``. + - run-script: Remove unused PERL_PROFILE variable, PERL5OPT can be used + instead, and does not require leaving an unquoted variable around. + - run-script: Add «set -e». + - Build.PL: Set environment variables only for CPAN tests. + - Build.PL: Set locale for CPAN tests to C. Fixes CPAN#127314. + - configure: Split AM_INIT_AUTOMAKE arguments into different lines. + * Packaging: + - Bump Standards-Version to 4.2.1 (no changes needed). + - Switch to debhelper compatibility level 11. + - Create the log file in postinst only if it does not exist. + Prompted by Johannes Schauer . + - Add superficial autopkgtest functional tests. + * Test suite: + - Add new shellcheck author test. + - Add descriptions for the shellcheck exclude codes. + - Update cppcheck suppressions. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #912023 + * German (Sven Joachim). + * Italian (Milo Casagrande). Closes: #915610 + * Portuguese (Miguel Figueiredo). Closes: #917813 + * Simplified Chinese (Zhou Mo). Closes: #919040 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #912024 + * German (Helge Kreutzmann). +- from version 1.19.2 + [ Guillem Jover ] + * dpkg: Fix --force-not-root for chown() and chmod() based syscalls, and + give a more meaningful error message on chroot(). Closes: #614126 + * dpkg-divert, dpkg-statoverride: Add new --instdir and --root options, + and make the commands honor the DPKG_ROOT environment variable. + Closes: #487108 + * libdpkg: Call the pager with «$SHELL -c» to respect POSIX. Closes: #910009 + * libdpkg: Do not spawn a pager if we are going to call «cat». + * libdpkg: Honor DPKG_PAGER when spawning a pager. + Suggested by Craig Sanders . + * libdpkg: Set LESS to “-FRSXMQ” if not already set, when spawning a pager. + * libdpkg: Ignore SIGPIPE when setting up a pager, and then ignore EPIPE + errors when writing to stdout, otherwise if we quit the pager early, the + program will exit with an error code. + * libdpkg: Set stdout to be fully buffered when using a pager. + * dpkg, dpkg-query: Add new --no-pager option. For dpkg this is also a + configuration option. Closes: #909754 + * Perl modules: + - Dpkg::OpenPGP: Ignore Version field in enarmored output. + Fixes CPAN#127217. + - Dpkg::OpenPGP: Do not read the gpg user configuration file. + - Dpkg::Source::Functions: Reimplement is_binary() w/o using diff(1). + - Dpkg::Source::Package::V2: Split the BinaryFiles module into its own + file, and give it a more generic name (Dpkg::Source::BinaryFiles). + - Dpkg::Source::Package::V2: Move binary file detection to BinaryFiles + module. + * Documentation: + - dpkg-buildpackage(1): Clarify --build=source explanation. + - dsc(5): Clarify what “flattened” means in Testsuite-Triggers. + Prompted by Mattia Rizzolo . + - dsc(5): Add a reference to where the source formats are described. + Prompted by Manuel A. Fernandez Montecelo . + - dpkg-source(1): Improve documentation on vendor-specific series files. + - deb-control(5): Document Build-Ids field. + Prompted by Stuart Prescott . + - dpkg(1): Clarify which fields are affected by dependency options. + Prompted by James Clarke . + - dpkg-query(1): Document the PAGER environment variable usage. + - Dpkg(1): Add POD documentation about the module hierarchy and API. + * Code internals: + - dpkg-split: Use nfstrnsave() instead of nfmalloc() + memcpy(). + - libdpkg: Add new fsys-dir module. + - libdpkg: Pass the file contents to the pager instead of the filename. + - libdpkg: Add a pager kill switch, so that it can be forcefully disabled. + * Build system: + - Distribute a LICENSE file on CPAN. + - Do not make the Build.PL script executable. + - Generalize PACKAGE_CPAN_SIGN by setting PACKAGE_DIST_IS_RELEASE instead. + - Add a release_status key to the CPAN metadata. + - Fix typo in CPAN recommends key. + - Improve test and author CPAN dependencies. + * Packaging: + - Break libapt-pkg5.0 instead of apt. Closes: #909959 + Analysis by Sven Joachim . + * Test suite: + - Skip version checks involving «dpkg --compare-versions» if not available. + This is relevant on CPAN or on non-dpkg-based systems. + [ Updated programs translations ] + * Polish (Łukasz Dulny). + [ Updated man pages translations ] + * German (Helge Kreutzmann). +- from version 1.19.1 + [ Guillem Jover ] + * Fix logic in dpkg-buildpackage to decide whether to run build targets, + which broke tons of packages that are violating Debian policy MUSTs. + Thanks to James Clarke . Closes: #878899 + * Do not try to recompute hashes for the .dsc file when signing binary-only + builds in dpkg-buildpackage. Reported by Ximin Luo . + * Pass the correct source stanza to the dpkg-buildpackage code parsing the + Rules-Requires-Root field. This meant the field was being ignored. + * Run dpkg-source directly from the current working directory in + dpkg-buildpackage, instead of changing directory back and forth. + * Setup and check rootcommand in dpkg-buildpackage only if it is going to + be needed. Reported by Niels Thykier . + * Add color support to dpkg-maintscript-helper (a shell script). + * Fix warning by including for makedev() in libdpkg. + * Fix directory traversal with dpkg-deb --raw-extract, by guaranteeing + that the DEBIAN pathname does not exist. Closes: #879982 + Reported by Jakub Wilk . + * Add new AS, STRIP, OBJCOPY, OBJDUMP, NM, AR and RANLIB buildtools + variables to buildtools.mk. Prompted by Helmut Grohne . + * Restore rejecting negated architectures in Architecture field in + dpkg-gencontrol and dpkg-genchanges. Regression introduced in dpkg 1.18.5. + * Fix dpkg-gensymbols to print "error" instead of "warning" when these + are fatal. Closes: #881488 + * Rename DPKG_GAIN_ROOT_CMD to DEB_GAIN_ROOT_CMD in the R³ support, as + the variable is expected to be set by any builder, not just dpkg. And + introduce ephemeral backwards compatibility even though there are no + known users. + * Do not set DEB_GAIN_ROOT_CMD in dpkg-buildpackage when the R³ value is + , following the specification. + * Specify that DEB_GAIN_ROOT_CMD in R³ should preserve the environment. + Proposed by Josh Triplett . + * Specify new DEB_RULES_REQUIRES_ROOT variable for R³ support. + * Add new --rules-requires-root option to dpkg-buildpackage. + * Declare R³ specification as "recommendation, stable" with version 1.0. + * Export architecture variables by default from architecture.mk, as + documented in dpkg-architecture(1). Closes: #888964 + Thanks to Jack Bates + * Increment the line number on dpkg --set-selections on unknown packages. + Reported by Heinz Repp . Closes: #888983 + * Switch a DEBIAN/conffile parsing assert() in dpkg due to empty lines + into an ohshit(), because this is really a run-time error. + * Fix assert() in dselect to expect the method lock file descriptor to be + initialized, instead of non-zero. + * Switch a fatal() call in start-stop-daemon into the new BUG() macro, + because it is really an internal error. + * Switch all assert() calls (except in update-alternatives) into internerr() + or BUG() calls, to get way better reporting with variable contents and + descriptions, and to make them always present independent of NDEBUG. + * Add a new --no-rename option to dpkg-divert. This is the current default + behavior, but it will make it possible to do a default switch in 1.20.x. + * Warn when using dpkg-divert --add or --remove w/o --rename or --no-rename. + * Warn when using dpkg-divert --rename on a file from an Essential package. + * Use a single “struct filenamenode” definition for the entire code base. + Closes: #746766 + * Add support for frontend locking. This makes it possible for frontends + using this new protocol, to safely lock the dpkg database w/o risk of + race conditions with other dpkg instances or frontends supporting the + same protocol. Thanks to Julian Andres Klode . + Closes: #850417, #851984 + * Do not emit perl warnings in dpkg-source --help on source formats w/o + options. + * Make dpkg-buildpackage validate OpenPGP signing key IDs length. Error out + for short key IDs and warn for long key IDs. + * On the dpkg conffile prompt, print the set of environment variables setup + for the conffile shell, for easier discoverability. + * Fix dpkg-buildpackage option --rules-file parsing. It was trying to parse + it as --rules-target, which due to the ordering was a no-op. + * Only check for fallback build targets presence on binary builds in + dpkg-buildpackage. + * Only check required build dependencies for known targets specified with + dpkg-buildpackage --rules-target option. + Reported by Johannes Schauer . + * Track package status dirtiness in dpkg to only log and report in status-fd + when it has changed, removing duplication in output. Closes: #365921 + * Use Synopsis instead of Summary for the short Description, to unify the + nomenclature and to make it more descriptive. Add a new binary:Synopsis + virtual field to dpkg-query show format. + * Add new dpkg-buildpackage --no-post-clean option, to be able to explicitly + select the current default behavior. + * Dump database package records in alphabetical order. This will give + reproducible status and available database files, and make it possible + to output other deb822 formatted data in a deterministic way. + * Require both standard input and output to be connected to a terminal to + use a pager. + * Run dpkg-query --list output through a pager if we are on a terminal, + instead of truncating it, to avoid data loss. Closes: #898603 + * Fix use after free in dpkg maintainer script handling. Regression + introduced in dpkg 1.19.0. + * Flush output for dpkg-query --status, --print-avail and --listfiles at + the end, instead of after each stanza. + * Add support for dumping all dpkg-query --status and --print-avail records + from the database when no arguments are specified. Closes: #616342 + * Add new dpkg-gensymbols -l option to avoid having to abuse LD_LIBRARY_PATH + for cross-build paths. + * Check that DPKG_MAINTSCRIPT_PACKAGE is defined in dpkg-maintscript-helper. + Closes: #907772 + * Switch dpkg-gencontrol and dpkg-genchanges to track automatically + generated artifacts by using the Auto-Built-Package field from the binary + package instead of hardcoding package name patterns (such as «-dbgsym$»). + * Add new --reverse option to dpkg-parsechangelog, to list the changelog + entries in reverse order. + * Architecture support: + - Add support for riscv64 CPU. Closes: #822914 + Thanks to Manuel A. Fernandez Montecelo + - Document the purpose and columns in the tupletable file. + * Portability: + - Add libcompat md5 module to the libcompat-test library, so that we + always make sure it builds, even when we use an external implementation. + - Convert libcompat md5 module to use C99 int types, instead of mapping + them from the BSD types at configure time. + - Use MD5_CTX instead of struct MD5Context, as the prevalent more portable + type on system's headers. + - Check for ldconfig command in dpkg only on platforms that do have it. + - Fix file descriptor leak in start-stop-daemon on AIX. + - libcompat: Add new strchrnul() implementation. + * Perl modules: + - Dpkg::Source::Package::V1: Check that $tarname is defined before use. + Thanks to Christoph Biedl . + Closes: #879124 + - Dpkg::Vendor::Debian: Use proper %use_feature key. This was causing perl + errors on paths not accepted for fixdebugpath. + Reported by Mattia Rizzolo , on IRC. Closes: #881051 + - Dpkg::Changelog: Print versions for incorrect changelog range warnings. + Thanks to Paul Wise . + - Dpkg::Shlibs::SymbolFile: Check that $state->{seen} exists instead of + $state being just defined. Fixes regression in dpkg-gensymbols symbols + output. Thanks to Dmitry Shachnev . Closes: #880166 + - Dpkg::Arch: Add new positive options argument to arch validators. + - Dpkg::Vendor::Debian: Mark hurd-i386 as having gcc builtin PIE. + Requested by Samuel Thibault . + - Dpkg::Source::Package::V2: Print one building line per existing tarball. + - Dpkg::Source::Package: Print building lines for upstream tarball + signatures. Closes: #888787 + - Dpkg::Deps: Turn virtualpkg tracking from an arrayyref into a hashref. + - Dpkg::Vendor::Debian: Mark riscv64 as having gcc builtin PIE. + - Dpkg::Shlibs::Objdump: Fix ELF program detection, for PIE binaries and + executable libraries. + - Dpkg::Version: Fix bool overload behavior back to be an is_valid() + alias. Emit a specific perl warning until 1.20.x so that users can check + whether the semantic change has any impact on the code, which can then + be quiesced. Closes: #895004 + - Dpkg::Changelog::Parse: When detecting the changelog format, read the + last 4KiB of the file instead of using «tail -n40», which should be + both faster and more portable, as the default tail(1) is not POSIX + compliant on all systems (c.f. Solaris). + - Dpkg::Build::Types: Add new set_build_type_from_targets() function. + - Dpkg::Shlibs::SymbolFile: Always assign a proper Dpkg::Version to the + deprecated variable, otherwise the scalar value 0 can get confused + on scalar context to denote it is *not* deprecated instead of being + version 0. + - Dpkg::Shlibs: Disable bool overload Dpkg::Version warnings. + - Dpkg::Vendor::Debian: Inline _parse_feature_area() into + _add_build_flags(), for a small speed up and line count reduction. + - Dpkg::BuildFlags: Move default flags setting into the Dpkg::Vendor + modules. + - Dpkg::Gettext: Fix fallback textdomain() to honor its expected interface. + - Dpkg::Deps: Split subpackages into their own separate modules. + - Dpkg::Source: Do not change patch permissions if not necessary. + Closes: #898010 + - Dpkg::Substvars: Reword used/unused warnings to clarify their meaning. + Closes: #904258 + - Dpkg::Shlibs: Warn when using LD_LIBRARY_PATH with a private library + directory which is a descendent of the current working directory. + - Dpkg::Source::Package::V3::Quilt: Print series file used when applying + patches. + - Dpkg::OpenPGP: Return the destination path on successful ASCII armor + conversion. + - Dpkg::Control::Fields: Do not use & sigil for function calls. + - Dpkg::Shlibs: Ignore nonexistent directories present in LD_LIBRARY_PATH. + - Dpkg::Deps::KnownFacts: Satisfy :native with arch:all packages too. + These are treated as native packages everywhere else in the multi-arch + design, this was the only exception, which has become a source of + packaging problems as of late. This was apparently an oversight in + the original implementation. Closes: #854438 + - Dpkg::Vendor::Debian: Add fixfilepath support to reproducible feature. + - Dpkg::Dist::Files: Add support for file attributes. + * Documentation: + - Update gettext minimal version in README. + - Add a missing dot on the dpkg-buildflags(1) «lfs» feature paragraph. + Spotted by Helge Kreutzmann . + - Document DPKG_COLORS environment variable for all programs using it. + - Document DPKG_NLS environment variable for all programs using it. + - Document the Testsuite and Testsuite-Triggers fields in + deb-src-control(5). Prompted by Mattia Rizzolo . + - Update git URLs for move away from alioth.debian.org. + - Fix set_build_type_from_options() description in Dpkg::Build::Types. + - Clarify PIE build flag feature semantics. Closes: #900088 + - Clarify dpkg-buildpackage pre and post-clean options and their default + state. + - Add --build option equivalents for dpkg-buildpackage short build type + options in --help output. + - Fold dpkg-buildpackage --[no-]check-builddeps in --help into both -D + and -d option descriptions. + - Mark profiles as a replaceable item in dpkg-buildpackage --help output. + - Update test suite requirements in README. + - Document textdomain() and ngettext() replacement functions in + Dpkg::Gettext POD. + - Clarify arch-qualified dependency simplification in Dpkg::Deps POD. + - Improve Dpkg::Deps modules and methods documentation. + - Fix typo in deb-changes(5). Closes: #902616 + - Clarify awaiting state for interest and activate directives. + Closes: #904060 + - Fix man page markup. Closes: #900033, #900035, #900040 + Thanks to Bjarni Ingi Gislason . + - Fix Doxygen comment for libdpkg dpkg_arch_find() function. + - Document the dangers of using start-stop-daemon(8) only with --pidfile + as matching option with the pid file owned by a non-privileged user. + * Code internals: + - Do not use stringy eval to define different sub implementations, + just assign an anonymous sub to the typeglob. + - Use memccpy() instead of strncpy() to quiesce a gcc-8 warning. + - Change pkgbin_name_needs_arch() to never arch-qualify packages that + have an empty or no architecture, which was already handled as part + of varbuf_add_archqual(). + - libdpkg: Factor out cached arch-qualified package name generation into + new pkgbin_name_archqual() function. + - libdpkg: Add new pkg_name() and pkgbin_name() const variants. + - libdpkg, dselect: Use new pkg_name_const() and pkgbin_name_const(). + - libdpkg: Rename struct pkginfo files member to archives. + - dpkg: Call ensure_package_clientdata() defensively. + - dpkg: For read-only state functions, check that clientdata is allocated + before using it. + - libdpkg: Move files list information from dpkg clientdata to pkginfo. + - dpkg: Move ensure_package_clientdata() into its own file. + - libdpkg: Move db-fsys code from src to lib/dpkg. + - libdpkg: Rename pkg-db module to pkg-hash. + - libdpkg: Simplify pkg_files_blank() by using a pointer to pointer to + track the previous entry. + - libdpkg: Factor out package files handling into its own module. + - libdpkg: Switch to a new tiny struct to track file on-disk identity. + This should reduce the run-time memory used. + - libdpkg: Reset nfiles in files_db_reset(). + - libdpkg: Split push_cleanup() into push_cleanup_fallback(). + - Switch from strchr() + strlen() to strchrnul(). + - libdpkg: Change dpkg_error to track errno values. + - libdpkg: Add new varbuf_new() and varbuf_free() functions. + - libdpkg: Add new file_slurp() function. + - libdpkg: Switch db-fsys to use the new file_slurp() function. + - libdpkg: Add new pkg_infodb_reset_dir(). + - libdpkg: Add new m_dup() function. + - libdpkg: Factor out package stanza printing into its own function. + - libdpkg: Split pager specific code into its own module. + - libdpkg: Add pager spawning and reaping support. + - Use new pager spawning support instead of open-coding it, or piping it + via a shell invocation, which required metacharacter escaping. + - dpkg-query: Split enqperpackage() into each different action. + * Build system: + - Set distribution tarball format to ustar, instead of default v7 format. + - Mark PO4A and POD2MAN as precious variables. + - Automatically replace -Wno- with -W when testing compiler flags, + instead of passing the positive form manually. + - Enable clang -Wdocumentation warning if available. + - Enable gcc-7 -Wregister warning if available. + - Add CPAN distribution machinery for the perl modules. Closes: #821177 + - Add an autogen script to help people bootstrap the project. + - Distribute the man.stamp from VPATH. + - Preserve timestamps when distributing man pages. + - Add a GitLab CI configuration file. + - Disable C optimization levels when configuring for code coverage. + * Packaging: + - Install update-alternatives policykit-1 file. + - Add Breaks to libdpkg-perl against pkg-kde-tools (<< 0.15.28~), as + that package is using private modules with no API guarantees, that + obviously broke due to recent changes in 1.19.0. Closes: #878919 + - Add Breaks on debhelper << 10.10.1~ to dpkg-dev, so that debhelper users + wanting to use R³ support do not need a versioned dependency on dpkg-dev. + - Add Breaks dgit << 3.13~ to libdpkg-perl, as older dgit versions assumed + that Dpkg::Compression::Process was available, via implicit import + from Dpkg::Source::Package. + Reported by Ian Jackson . + - Bump Standards-Version to 4.1.1 (no changes needed). + - Add bzip2 and xz-utils to Build-Depends, required by the functional test + suite, but shadowed by dpkg-dev from the build system pulling those in. + - Add versioned libncurses-dev as the first Build-Depends alternative. + Thanks to Sven Joachim . + - Do not pass VERBOSE to test suite, as we are not using any automake + test driver, so it does not get honored. + - Rename maintainer-build DEB_BUILD_OPTIONS to new standardized terse. + - Enable verbose test suite only in non-terse builds. + - Add a Suggests on sensible-utils to libdpkg-perl. + - Switch libdpkg-perl again to depend on perl:any, now that debootstrap + in stable (stretch) supports arch-qualified dependencies. + - Update libdpkg-perl public module list in package description. + - Add Breaks on apt (<< 1.7~b) for --status-fd duplicate removals. + * Test suite: + - Skip Dpkg::OpenPGP test if gpg is not present. + - Check POD in all perl scripts. + - Consider *.PL also to be perl files. + - Infer automatically the unit test data directory. + - Infer automatically the unit test temp directory. + - Add new po author test case (use i18nspector if available). + - Add new test cases to clarify arch-qualified dependency simplification. + - Add several TODO tests cases for dependency simplification. + - Add new cppcheck author test. + - Add support for new test_get_srcdir() test_get_builddir(). + - Add new unit tests for namevalue, fsys-hash and pkg-hash libdpkg modules. + - Improve coverage of perl unit tests. + - Delete fixup lines from i18nspector output instead of emptying them. + - Add new codespell author test. + - Add new test that the public libdpkg headers can be compiled with C++. + [ Josh Triplett ] + * Perl: Replace all calls to Cwd::cwd with Cwd::getcwd; the former calls + /bin/pwd, while the latter uses the getcwd() syscall directly. + [ Updated programs translations ] + * Dutch (Frans Spiesschaert). Closes: #881401 + * German (Sven Joachim). + * Italian (Milo Casagrande). Closes: #883085 + * Polish (Łukasz Dulny). + * Simplified Chinese (Zhou Mo, Boyuan Yang). Closes: #900547, #890806 + * Spanish (Javier Fernández-Sanguino). + * Traditional Chinese (Buo-ren Lin). Closes: #905887 + * Turkish (Mert Dirik). Closes: #886252 + [ Updated scripts translations ] + * German (Helge Kreutzmann). + [ Updated man pages translations ] + * Dutch (Frans Spiesschaert). Closes: #881403 + * German (Helge Kreutzmann). + * Simplified Chinese (Zhou Mo). + +------------------------------------------------------------------- +Thu Jan 14 09:33:00 UTC 2021 - Ludwig Nussel + +- don't remove slave links that turned into master. Happens on usrmerge + (boo#1180939, update-alternatives-slavetomaster.patch) + +------------------------------------------------------------------- +Tue Apr 2 20:04:25 UTC 2019 - Andreas Schwab + +- Remove useless uses of rpm.expand +- Fix use of file:close + +------------------------------------------------------------------- +Wed Mar 13 09:15:51 UTC 2019 - Stephan Kulow + +- my attempt to rewrite %post in lua (bsc#1129036) + +------------------------------------------------------------------- +Mon Jan 14 15:49:09 CET 2019 - kukuk@suse.de + +- Use %license instead of %doc [bsc#1082318] + +------------------------------------------------------------------- +Thu Jun 28 11:01:07 UTC 2018 - tchvatal@suse.com + +- Update to 1.19.0.5: + * no changes in update-alternatives code, only dpkg + +------------------------------------------------------------------- +Tue Jan 16 10:54:19 UTC 2018 - tchvatal@suse.com + +- Update to 1.19.0.4: + * No changes in update-alternatives just match step with dpkg +- Drop patch 0001-In-case-of-equal-priority-rather-update.patch + * Causes issues on too eagerly regenerating stuff bsc#1075971 + * Reason for this patch should no longer be needed as all python + packages are singlespec + * Also drop the post override + +------------------------------------------------------------------- +Wed Nov 22 11:06:33 UTC 2017 - dimstar@opensuse.org + +- Migrate u-a data from /var/lib/rpm instead of relying on dbpath: + no u-a version ever installed files explicitly into dbpath, but + always hard specified /var/lib/rpm. The fact that RPM moved its + database is irrelevant to update-alternatives. In case RPM moved + it's database, our files are still accessible via the + /var/lib/rpm symlink being put in place. +- Drop the arbitrary depenency on a specific rpm version: the idea + was to ensure to have an rpm with the new dbpath location in + place. For one, the dependency does not work as intended, and + 2nd, as the migration now happens explicitly from the old u-a + admindir without relying on dbpath, is no longer needed. + +------------------------------------------------------------------- +Mon Nov 20 14:50:53 UTC 2017 - mpluskal@suse.com + +- Move update alternatives database to new location +- Update rpm requirements to avoid unnecessary builds + +------------------------------------------------------------------- +Tue Nov 7 19:57:49 UTC 2017 - mpluskal@suse.com + +- Use dbpath macro for locationg rpm state directory +- Require exactly same version of rpm we had when building to make + sure dbpath matches + +------------------------------------------------------------------- +Wed Aug 9 10:43:10 UTC 2017 - tchvatal@suse.com + +- Silence the update-alternatives regen output wrt bsc#1050848 + it causes more confusion than benefits + +------------------------------------------------------------------- +Mon Mar 27 12:38:32 UTC 2017 - tchvatal@suse.com + +- Update to 1.18.23: + * Various small fixes and memleaks removed +- Make sure to generate manpage +- Refresh patch update-alternatives-suse.patch + +------------------------------------------------------------------- +Wed Sep 7 12:41:35 UTC 2016 - tchvatal@suse.com + +- Version update to 1.18.10: + * Various few fixes, see changelog file in the package + * Refresh patch update-alternatives-suse.patch + * Remove patch dpkg-sparc.diff + +------------------------------------------------------------------- +Wed Sep 7 12:31:05 UTC 2016 - tchvatal@suse.com + +- Use ls . instead of * to avoid error when nothing is in alternatives + directory + +------------------------------------------------------------------- +Tue May 31 11:47:57 UTC 2016 - tchvatal@suse.com + +- Require touch in post phase bnc#982336 + +------------------------------------------------------------------- +Fri May 13 12:03:28 UTC 2016 - tchvatal@suse.com + +- Provide alternatives binary and alternatives = %{version} symbol + +------------------------------------------------------------------- +Wed Apr 6 18:20:13 UTC 2016 - tchvatal@suse.com + +- Fix bnc#969171 by updating even with equal priority + * 0001-In-case-of-equal-priority-rather-update.patch +- Try to autorefresh all the alternatives in post in case some of + them were broken + +------------------------------------------------------------------- +Wed Apr 6 12:05:23 UTC 2016 - tchvatal@suse.com + +- The logfile for update-alternatives is /var/log/alternatives.log + so stop using update-alternatives.log file which is empty + +------------------------------------------------------------------- +Fri Mar 25 09:47:24 UTC 2016 - tchvatal@suse.com + +- Update to the 1.18.4: + * Rebase patch update-alternatives-suse.patch + * Touch the gost file in post + +------------------------------------------------------------------- +Fri Jun 5 07:44:29 UTC 2015 - tchvatal@suse.com + +- Adjust to the new manpage location + +------------------------------------------------------------------- +Thu Jun 4 11:15:32 UTC 2015 - tchvatal@suse.com + +- Verion bump to 1.18.1: + * Bump to latest upstream release + * Plenty of fixes with too long changelog, see changelog file in + documentation + * Also fixes bnc#926749 CVE-2015-0840 + * Refresh patch: + + update-alternatives-suse.patch + +------------------------------------------------------------------- +Wed Apr 1 12:57:51 UTC 2015 - tchvatal@suse.com + +- Cleanup with spec-cleaner + +------------------------------------------------------------------- +Wed Apr 1 12:55:43 UTC 2015 - tchvatal@suse.com + +- Update to 1.11.24: + * Translation updates + * Various small fixes + +------------------------------------------------------------------- +Tue Feb 17 13:38:47 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.17.23 + + Use a matching group instead of ${^MATCH} in s/// in dselect build script. + + Skip tar extractor tests if tar is not GNU tar >= 1.27. + + Reset the trigger cycle tracking on unsatisfied dependencies during + trigger processing. Closes: bdo#771730 + + Fix out-of-bounds buffer read accesses when parsing field and trigger + names or checking package ownership of conffiles and directories. + + Add versioned Breaks on packages creating trigger cycles. Namely auctex, + apt-cudf, ccache, cups, distcc, fusionforge-plugin-mediawiki, gap-core, + gxine, hoogle, icecc, libjs-protoaculous, mcollective, pypy, wordpress + and xfonts-traditional. + + Update translations +- Remove unapplied patches; SLE11 support is disabled in project home + + dpkg-pod2man-no-utf8.patch + + dpkg-old-File-Path.patch + + dpkg-old-Test-More.patch +- Remove obsolete patches + * dpkg-ppc64le.diff + * dpkg-archive_tar_format_gnu.patch + * dpkg-archtable-suse.patch +- Rename updated patch + pdate-alternatives-1.16.8-suse.patch > pdate-alternatives-suse.patch +- Clean up a bit specfile + +------------------------------------------------------------------- +Mon May 12 13:57:59 UTC 2014 - tchvatal@suse.com + +- Use SUSE not SuSE. + +------------------------------------------------------------------- +Mon Dec 2 21:27:10 UTC 2013 - dvaleev@suse.com + +- add dpkg-ppc64le.diff (adds ppc64le architecture) + +------------------------------------------------------------------- +Wed Jul 3 09:57:49 UTC 2013 - jengelh@inai.de + +- Add dpkg-sparc.diff to unbreak compilation on sparcv9 build + +------------------------------------------------------------------- +Mon Mar 25 20:35:24 UTC 2013 - frank.lichtenheld@sophos.com + +- update to 1.16.10 +* Fix update-alternatives test suite to behave correctly on non-Debian + binary paths. Known to be affecting at least Gentoo and Mac OS X. +* Do not leak subcall command arguments in update-alternatives. +* Fix segfault on update-alternatives when passing --slave without any + action at all. lp#1037431 + +------------------------------------------------------------------- +Thu Sep 27 21:58:39 UTC 2012 - frank.lichtenheld@sophos.com + +- update to 1.16.8 + +------------------------------------------------------------------- +Fri Jul 6 23:15:06 UTC 2012 - frank.lichtenheld@sophos.com + +- update to 1.16.7 +* Print master and slave alternarive link names in update-alternatives + --query and always print alternative link in --config. Closes: #679010 +* Check parsed integers for invalid or no digit errors in + update-alternatives. Check all parsed integers for out of range + errors. On "update-alternatives --install" only warn for now on + out of range priorities and clamp the values + +------------------------------------------------------------------- +Wed Jun 6 08:22:03 UTC 2012 - coolo@suse.com + +- fix the reworked patch + +------------------------------------------------------------------- +Mon May 21 03:34:58 UTC 2012 - i@marguerite.su + +- update to 1.16.3 +- reworked patch + +------------------------------------------------------------------- +Sun Jan 29 21:29:58 UTC 2012 - frank.lichtenheld@sophos.com + +- update to 1.15.8.12 +* no changes, just keep in sync with deb + +------------------------------------------------------------------- +Sat Nov 26 00:24:49 UTC 2011 - frank.lichtenheld@sophos.com + +- update to 1.15.8.11 +- remove unused tarballs and patches + +------------------------------------------------------------------- +Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de + +- Remove redundant tags/sections from specfile + (cf. packaging guidelines) +- Use %_smp_mflags for parallel build + +------------------------------------------------------------------- +Thu Mar 17 15:30:58 UTC 2011 - mvyskocil@suse.cz + +- update to 1.15.8.10 - bug fix release +- build it in the same source tree as package deb + +------------------------------------------------------------------- +Mon Mar 14 13:13:50 UTC 2011 - mvyskocil@suse.cz + +- update to 1.15.8.5 + * update-alternatives is now implemented in C +- fix bnc#647151 - update-alternatives: false claim in the description + * removed jpackage only part, as it's now don't have any sense + +------------------------------------------------------------------- +Thu Feb 17 15:18:25 UTC 2011 - mvyskocil@suse.cz + +- fix bnc#669716 - update-alternatives corrupt + the pack/unpack removal code broke the java update-alternatives file + +------------------------------------------------------------------- +Mon Jul 21 16:22:46 CEST 2008 - mvyskocil@suse.cz + +- fix of enhancenment request[bnc#261246] - update-alternatives should support --set + - update to the 1.14.19 + +------------------------------------------------------------------- +Tue Nov 6 18:53:00 CET 2007 - mvyskocil@suse.cz + +- fix the manual link state after --install and --remove commands [#334783] + +------------------------------------------------------------------- +Wed Jan 25 21:48:53 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Sep 29 00:10:28 CEST 2005 - dmueller@suse.de + + - add norootforbuild + +------------------------------------------------------------------- +Wed Sep 1 21:10:06 CEST 2004 - skh@suse.de + +- Initial package version 1.8.3 + + diff --git a/update-alternatives.spec b/update-alternatives.spec new file mode 100644 index 0000000..ee21823 --- /dev/null +++ b/update-alternatives.spec @@ -0,0 +1,103 @@ +# +# spec file for package update-alternatives +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: update-alternatives +Version: 1.22.11 +Release: 0 +Summary: Maintain symbolic links determining default commands +License: GPL-2.0-or-later +Group: System/Management +URL: https://tracker.debian.org/pkg/dpkg/ +Source0: https://ftp.debian.org/debian/pool/main/d/dpkg/dpkg_%{version}.tar.xz +Source3: sensible-editor +Patch0: update-alternatives-suse.patch +Patch1: update-alternatives-slavetomaster.patch +Patch2: openssl.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: openssl-devel +BuildRequires: perl >= 5.28.1 +BuildRequires: pkgconfig +Provides: alternatives = %{version} + +%description +update-alternatives creates, removes, maintains and displays +information about the symbolic links comprising the alternatives +system. It is possible for several programs fulfilling the same or +similar functions to be installed on a single system at the same time. +For example, many systems have several text editors installed at once. +This gives choice to the users of a system, allowing each to use a +different editor, if desired, but makes it difficult for a program to +make a good choice of editor to invoke if the user has not specified a +particular preference. + +%prep +%autosetup -p1 -n dpkg-%{version} + +%build +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +autoreconf -fvi +%configure \ + --disable-silent-rules \ + --with-admindir=%{_localstatedir}/lib + +make -C lib/compat %{?_smp_mflags} +make -C utils/ %{?_smp_mflags} +make -C man/ %{?_smp_mflags} + +%install +install -d -m 0755 %{buildroot}/%{_sbindir}/ +install -d -m 0755 %{buildroot}/%{_mandir}/man1/ +install -d -m 0755 %{buildroot}/%{_sysconfdir}/alternatives +install -d -m 0755 %{buildroot}%{_localstatedir}/lib/alternatives +install -d -m 0755 %{buildroot}/%{_localstatedir}/log + +install -pm 0755 utils/%{name} %{buildroot}/%{_sbindir} +ln -s %{name} %{buildroot}/%{_sbindir}/alternatives +install -pm 0644 man/%{name}.1 %{buildroot}/%{_mandir}/man1/ + +%post -p +-- Migrate to new location +if posix.access('var/lib/rpm/alternatives', 'x') then + print("migrating update alternatives database to new location") + -- We proceed even if no alternatives directory exists, such situation + -- occurs in buildroot environment + new_location='%{_localstatedir}/lib/alternatives/' + for i,old_file in pairs(posix.dir("var/lib/rpm/alternatives/")) do + print(old_file.."\n") + new_file = string.gsub(old_file, "(.*/)(.*)", new_location .. "%2") + print(new_file.."\n") + os.rename(old_file, new_file) + end + posix.rmdir('var/lib/rpm/alternatives') +end +-- touch file +io.open('%{_localstatedir}/log/alternatives.log', "w"):close() + +%files +%license COPYING +%dir %{_sysconfdir}/alternatives +%dir %{_localstatedir}/lib/alternatives +%{_sbindir}/alternatives +%{_sbindir}/update-alternatives +%{_mandir}/man1/update-alternatives.1%{ext_man} +%ghost %{_localstatedir}/log/alternatives.log + +%changelog