Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: update-alternatives | Distribution: SUSE Linux Framework One |
Version: 1.22.0 | Vendor: SUSE LLC <https://www.suse.com/> |
Release: slfo.1.1.8 | Build date: Fri Aug 23 16:41:17 2024 |
Group: System/Management | Build host: ibs-power9-11 |
Size: 157669 | Source RPM: update-alternatives-1.22.0-slfo.1.1.8.src.rpm |
Packager: https://www.suse.com/ | |
Url: https://tracker.debian.org/pkg/dpkg/ | |
Summary: Maintain symbolic links determining default commands |
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.
GPL-2.0-or-later
* Mon Sep 18 2023 martin.schreiner@suse.com - 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 2023 adam.majer@suse.de - 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 04 2023 fcrozat@suse.com - Add _multibuild to define additional spec files as additional flavors. Eliminates the need for source package links in OBS. * Fri May 27 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 03 2022 dcermak@suse.com - 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 <ar.h> 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 <danielsh@apache.org>. 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 <josch@debian.org>. * 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 <niels@thykier.net>. * dpkg-buildpackage: Add new --buildinfo-file option. * dpkg: Rework --assert-<feature> logic to be more robust. Prompted by Helmut Grohne <helmut@subdivi.de>. Prompted by David Kalnischkies <donkult@debian.org>. * dpkg: Improve --assert-<feature> 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 <ijackson@chiark.greenend.org.uk>. 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 <svenjoac@gmx.de>. * dselect: use `grep -E` instead of `egrep`. Thanks to Ville Skyttä <ville.skytta@iki.fi>. 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 <Alexey.Brodkin@synopsys.com>. * 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 <jello@debian.org>. - 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 <josch@debian.org>. - 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 <william.wilson@canonical.com>. Closes: #1000557 - Dpkg::Source::Package::V2: Add hint about version matching source tree. Based on a patch by Samuel Henrique <samueloph@debian.org>. 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 <remirampin@gmail.com>. 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 <noon@mykolab.com>. - 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 <pabs@debian.org>. - man: Document in dpkg-architecture(1) target being useful for emulators too. Prompted by Helmut Grohne <helmut@subdivi.de>. - man: Document in dpkg-query(1) full --search and --listfiles output format. Prompted by Johannes Schauer Marin Rodrigues <josch@debian.org>. * 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-<feature> 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 <me@larbob.org>. - 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 2021 adrian.glaubitz@suse.com - 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 <jak@debian.org>. 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 <donkult@debian.org>. * 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 <kolan_n@mail.ru>. * libdpkg: Fix memory leaks in tar_extractor(). * libdpkg: Fix memory leak in trigger deferred processing. Reported by KOLANICH <kolan_n@mail.ru>. * 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 <kolan_n@mail.ru>. * dpkg: Fix short-lived memory leak in --force-help output. Based on a patch by KOLANICH <kolan_n@mail.ru>. * 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 <josch@debian.org>. * 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 <niels@thykier.net>. * dpkg-buildpackage: Error out on R³ "yes" value. Requested by Niels Thykier <niels@thykier.net>. * 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 <donkult@debian.org>. * 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 <vagrant@reproducible-builds.org>. 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 <jrtc27@debian.org>. Reported by Helmut Grohne <helmut@subdivi.de>. * Support remove-on-upgrade conffile flag via DEBIAN/conffiles. Based on a patch by Niels Thykier <niels@thykier.net>. 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 <dparsons@debian.org>. 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 <wferi@debian.org>. 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 <pabs@debian.org>. - 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 <abe@debian.org>. See #971977. - man: Update update-alternatives maintainer script usage information. Prompted by Niels Thykier <niels@thykier.net>. - man: Switch to use L<> markup for URLs instead of B<>. - doc, man: Clarify that R³ values are case sensitive. Prompted by Niels Thykier <niels@thykier.net>. - man: Add references to deb822(5) to file formats based on it. Prompted by Niels Thykier <niels@thykier.net>. - man: Clarify config-files state in dpkg(1). Prompted by Stuart Prescott <stuart@debian.org>. - 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 <helmut@subdivi.de>. - libdpkg: Replace FSF address by pointing to the gnu.org URL. - libdpkg: Initialize pkgbin's newhash to NULL. Prompted by Steinar H. Gunderson <sesse@debian.org>. - libdpkg: Use memset() instead of open-coding struct blanking. Prompted by Steinar H. Gunderson <sesse@debian.org>. - Do not call fsys_hash_init() before command actions. Prompted by Steinar H. Gunderson <sesse@debian.org>. - libdpkg: Fix m_pipe() function definition prototype to match declaration. - libdpkg: Refactor new str_rtrim_spaces(). Based on a patch by Niels Thykier <niels@thykier.net>. - 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 <niels@thykier.net>. * 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 <niels@thykier.net>. Closes: #978983 - Add a README.cpan to be installed as README in the CPAN distribution. - Do not try to use <sys/sysctl.h> 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 <svenjoac@gmx.de>. * 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 <tg@mirbsd.de>. * 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 <holger@layer-acht.org>. * 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 <bmarc@debian.org>. Closes: #963839 - Dpkg::Build::Info: Clarify by giving context to the get_build_env_whitelist() deprecation warning. Closes: #963844 Reported by Sven Joachim <svenjoac@gmx.de>. - 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 <mattia@debian.org>. - 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 <mattia@debian.org>. * 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 <norbert@preining.info>. [ 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 <josch@debian.org>. * 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 <roderich.schupp@gmail.com>. 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 <lyknode@cilg.org>. Closes: #956321 * dpkg-source: Check that debian/tests/control has the required fields. Prompted by Felix Lechner <felix.lechner@lease-up.com>. * dpkg-deb, dpkg: Do not accept relative pathnames in DEBIAN/conffiles. Reported by Niels Thykier <niels@thykier.net>. * 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 <pabs@debian.org>. * 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 <pabs@debian.org>. * 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 <helmut@subdivi.de>. * 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 <david@kalnischkies.de>. - Add DPKG_ROOT support for symlink to and from directory switches. Based on a patch by Bastien ROUCARIÈS <roucaries.bastien@gmail.com>. Closes: #832176 * update-alternatives: Add DPKG_ROOT support, and new --root and --instdir options. Closes: #871808 * Portability: - libdpkg: When using uselocale(), include <xlocale.h> for locale_t if the header is available. Needed on BSDs. Reported by Sirio Balmelli <sirio@b-ad.ch>. * 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 <taowa@debian.org>. Closes: #956055 - Dpkg::Vendor::Debian: Detect merged-usr-via-symlinks also with absolute pathnames. Reported by Adam Borowski <kilobyte@angband.pl>. - 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 <bjarniig@rhi.hi.is>. Closes: #955028 - man: Trim trailing whitespace from output. Thanks to Bjarni Ingi Gislason <bjarniig@rhi.hi.is>. Closes: #955030 - man: Mention that dpkg(1) does not provide all back-end interfaces. Prompted by Elana Hashman <ehashman@debian.org>. - 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 <debian@helgefjell.de>. - man: Mark commands (eval) in bold and quote library names (libgcc). Reported by Helge Kreutzmann <debian@helgefjell.de>. - 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 <debian@helgefjell.de>. - 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 <josch@debian.org>. - 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 <jwilk@jwilk.net>. - 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 <kilobyte@angband.pl>. * 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 <kelledin@gmail.com>. * 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 <jcristau@debian.org>. * 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 <svenjoac@gmx.de>. * 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 <helmut@subdivi.de>. * dpkg-buildpackage: Do not accept equal signs as part of the hook names. Reported by Daniel Shahaf <danielsh@apache.org>. 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 <helmut@subdivi.de>. - 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 <byang@debian.org>. * Perl modules: - Dpkg::Source::Package: Verify original tarball signatures at build time. - Dpkg::BuildFlags: Add new unset() method. Requested by Daniel Schepler <dschepler@gmail.com>. - 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 <felix.lechner@lease-up.com>. * 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 <christopher.crim@quoininc.com>. - Dpkg::Changelog: Document methods provided by subclasses. Reported by Felix Lechner <felix.lechner@lease-up.com>. - 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 <intrigeri@debian.org>. - man: Clarify deb-changelog(5) format. Closes: #946780 - man: Clarify debian/source/include-binaries format in dpkg-source(1). Prompted by Felix Lechner <felix.lechner@lease-up.com>. - 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 <biebl@debian.org>. - 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 <ddstreet@canonical.com>. Closes: #939516 - dselect: Remove methods state files on purge. Spotted by Sven Joachim <svenjoac@gmx.de>. - 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 <tomg@sentex.ca>. * 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-<thing> 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 <treinen@free.fr>. Closes: #922799 * dpkg-genbuildinfo: Add support for a new Build-Tainted-By field in .buildinfo files. Suggested by Alexander E. Patrakov <patrakov@gmail.com>. * 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 <patrakov@gmail.com>. - 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 <ijackson@chiark.greenend.org.uk>. 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 <string.h> in pager.c. Reported by Y <sevener@cock.li>. 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 <kelledin@gmail.com>. [ 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 <lamby@debian.org>. Closes: #916456 * dpkg-scanpackages: Emit a warning with the list of repeat packages. Prompted by Johannes Schauer <josch@debian.org>. * start-stop-daemon: Check whether standalone --pidfile use is secure. Prompted by Michael Orlitzky <michael@orlitzky.com>. * 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 <anbe@debian.org>. Closes: #916799 * vendor.mk: Fix dpkg_vendor_derives_from macro documentation. Thanks to Colin Watson <cjwatson@debian.org>. 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 <lamby@debian.org> 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 <laney@ubuntu.com> and Adam Conrad <adconrad@ubuntu.com>. 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 <jamesan@debian.org>. - Dpkg::Source::Package: Improve debian/source/format parsing and validation. - Dpkg::Source::Format: New public module. Prompted by Mattia Rizzolo <mattia@debian.org>. * 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 <helmut@subdivi.de>. - dpkg(1): Clarify databases used by --yet-to-unpack and --predep-package. Prompted by Johannes Schauer <josch@debian.org>. - Clarify character classes for various formats in man pages, by explicitly listing the character ranges within parenthesis. Prompted by Ian Jackson <ijackson@chiark.greenend.org.uk>. - 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 <abe@debian.org>. - 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 <josch@debian.org>. - 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 <jak@debian.org>. - 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 <josch@debian.org>. - 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 <cas@taz.net.au>. * 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 <mattia@debian.org>. - dsc(5): Add a reference to where the source formats are described. Prompted by Manuel A. Fernandez Montecelo <mafm@debian.org>. - dpkg-source(1): Improve documentation on vendor-specific series files. - deb-control(5): Document Build-Ids field. Prompted by Stuart Prescott <stuart@debian.org>. - dpkg(1): Clarify which fields are affected by dependency options. Prompted by James Clarke <jrtc27@debian.org>. - 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 <svenjoac@gmx.de>. * 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 <jrtc27@debian.org>. Closes: #878899 * Do not try to recompute hashes for the .dsc file when signing binary-only builds in dpkg-buildpackage. Reported by Ximin Luo <infinity0@debian.org>. * 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 <niels@thykier.net>. * Add color support to dpkg-maintscript-helper (a shell script). * Fix warning by including <sys/sysmacros.h> 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 <jwilk@jwilk.net>. * Add new AS, STRIP, OBJCOPY, OBJDUMP, NM, AR and RANLIB buildtools variables to buildtools.mk. Prompted by Helmut Grohne <helmut@subdivi.de>. * 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 <implementations-keywords>, following the specification. * Specify that DEB_GAIN_ROOT_CMD in R³ should preserve the environment. Proposed by Josh Triplett <josh@joshtriplett.org>. * 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 <wdz7eo@nottheoilrig.com> * Increment the line number on dpkg --set-selections on unknown packages. Reported by Heinz Repp <heinz.repp@arcor.de>. 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 <jak@debian.org>. 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 <josch@debian.org>. * 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 <mafm@debian.org> - 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 <md5.h> 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 <debian.axhn@manchmal.in-ulm.de>. 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 <mattia@debian.org>, on IRC. Closes: #881051 - Dpkg::Changelog: Print versions for incorrect changelog range warnings. Thanks to Paul Wise <pabs@debian.org>. - 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 <mitya57@debian.org>. 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 <sthibault@debian.org>. - 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 <debian@helgefjell.de>. - 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 <mattia@debian.org>. - 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 <bjarniig@rhi.hi.is>. - 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 <ijackson@chiark.greenend.org.uk>. - 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 <svenjoac@gmx.de>. - 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 2021 lnussel@suse.de - don't remove slave links that turned into master. Happens on usrmerge (boo#1180939, update-alternatives-slavetomaster.patch) * Tue Apr 02 2019 schwab@suse.de - Remove useless uses of rpm.expand - Fix use of file:close * Wed Mar 13 2019 coolo@suse.com - my attempt to rewrite %post in lua (bsc#1129036) * Mon Jan 14 2019 kukuk@suse.de - Use %license instead of %doc [bsc#1082318] * Thu Jun 28 2018 tchvatal@suse.com - Update to 1.19.0.5: * no changes in update-alternatives code, only dpkg * Tue Jan 16 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 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 2017 mpluskal@suse.com - Move update alternatives database to new location - Update rpm requirements to avoid unnecessary builds * Tue Nov 07 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 09 2017 tchvatal@suse.com - Silence the update-alternatives regen output wrt bsc#1050848 it causes more confusion than benefits * Mon Mar 27 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 07 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 07 2016 tchvatal@suse.com - Use ls . instead of * to avoid error when nothing is in alternatives directory * Tue May 31 2016 tchvatal@suse.com - Require touch in post phase bnc#982336 * Fri May 13 2016 tchvatal@suse.com - Provide alternatives binary and alternatives = %{version} symbol * Wed Apr 06 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 06 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 2016 tchvatal@suse.com - Update to the 1.18.4: * Rebase patch update-alternatives-suse.patch * Touch the gost file in post * Fri Jun 05 2015 tchvatal@suse.com - Adjust to the new manpage location * Thu Jun 04 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 01 2015 tchvatal@suse.com - Cleanup with spec-cleaner * Wed Apr 01 2015 tchvatal@suse.com - Update to 1.11.24: * Translation updates * Various small fixes * Tue Feb 17 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 2014 tchvatal@suse.com - Use SUSE not SuSE. * Mon Dec 02 2013 dvaleev@suse.com - add dpkg-ppc64le.diff (adds ppc64le architecture) * Wed Jul 03 2013 jengelh@inai.de - Add dpkg-sparc.diff to unbreak compilation on sparcv9 build * Mon Mar 25 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 2012 frank.lichtenheld@sophos.com - update to 1.16.8 * Fri Jul 06 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 06 2012 coolo@suse.com - fix the reworked patch * Mon May 21 2012 i@marguerite.su - update to 1.16.3 - reworked patch * Sun Jan 29 2012 frank.lichtenheld@sophos.com - update to 1.15.8.12 * no changes, just keep in sync with deb * Sat Nov 26 2011 frank.lichtenheld@sophos.com - update to 1.15.8.11 - remove unused tarballs and patches * Sun Sep 18 2011 jengelh@medozas.de - Remove redundant tags/sections from specfile (cf. packaging guidelines) - Use %_smp_mflags for parallel build * Thu Mar 17 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 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 2011 mvyskocil@suse.cz - fix bnc#669716 - update-alternatives corrupt the pack/unpack removal code broke the java update-alternatives file * Mon Jul 21 2008 mvyskocil@suse.cz - fix of enhancenment request[bnc#261246] - update-alternatives should support --set - update to the 1.14.19 * Tue Nov 06 2007 mvyskocil@suse.cz - fix the manual link state after --install and --remove commands [#334783] * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Sep 28 2005 dmueller@suse.de - add norootforbuild * Wed Sep 01 2004 skh@suse.de - Initial package version 1.8.3
/etc/alternatives /usr/sbin/alternatives /usr/sbin/update-alternatives /usr/share/licenses/update-alternatives /usr/share/licenses/update-alternatives/COPYING /usr/share/man/man1/update-alternatives.1.gz /var/lib/alternatives /var/log/alternatives.log
Generated by rpm2html 1.8.1
Fabrice Bellet, Mon Dec 2 23:22:36 2024