From: Peter Michael Green Date: Sun, 15 Jan 2023 18:46:04 +0000 (+0000) Subject: Manual merge of version 1.21.9+rpi1 and 1.21.17 to produce 1.21.17+rpi1 X-Git-Tag: archive/raspbian/1.21.17+rpi1~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ed4aa2349607e9f72f8a7f19f669b86c7dd4cf82;p=dpkg.git Manual merge of version 1.21.9+rpi1 and 1.21.17 to produce 1.21.17+rpi1 --- ed4aa2349607e9f72f8a7f19f669b86c7dd4cf82 diff --cc debian/changelog index 557a852b,0074cec4..1df18122 --- a/debian/changelog +++ b/debian/changelog @@@ -1,10 -1,524 +1,532 @@@ - dpkg (1.21.9+rpi1) bookworm-staging; urgency=medium ++dpkg (1.21.17+rpi1) bookworm-staging; urgency=medium + + [changes brought forward from 1.20.5+rpi1 by Peter Michael Green at Sun, 02 Aug 2020 12:08:02 +0000] + * Hack up Vendor.pm so it doesn't fail + (see https://lists.debian.org/debian-dpkg/2020/08/msg00004.html ) + - -- Raspbian forward porter Mon, 04 Jul 2022 03:06:27 +0000 ++ -- Peter Michael Green Sun, 15 Jan 2023 18:39:18 +0000 ++ + dpkg (1.21.17) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-genbuildinfo: Do not fail if the cross-compiler cannot compile. + Closes: #1027966 + * Code internals: + - dpkg-buildinfo: Fix indentation. + * Packaging: + - Stop shipping the «git log» changelog in exchange for no trimming. + Closes: #1027716 + + -- Guillem Jover Thu, 05 Jan 2023 12:34:05 +0100 + + dpkg (1.21.16) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-deb: Fix buffer overflow on long directory names with old deb formats. + Reported by Georgy Yakovlev . + * Perl modules: + - Dpkg::Compression: Pass --no-adjust to xz to force compression threaded + mode. + - Dpkg::Compression: Make xz not emit warnings nor exit non-zero on + warnings. + - Dpkg::OpenPGP::Backend::SOP: Add sqop as an alternative SOP + implementation. + - Dpkg::Source::Package::V3::Git: Move error() argument out of g_() call. + * Code internals: + - libdpkg: Make xz not emit warnings nor exit non-zero on warnings. + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + - Update German scripts translation. + + -- Guillem Jover Wed, 04 Jan 2023 23:57:40 +0100 + + dpkg (1.21.15) unstable; urgency=medium + + [ Guillem Jover ] + * Perl modules: + - Dpkg::BuildFlags: Add new get_feature() method. + - Dpkg::Vendor::Debian: Use get_feature() instead of use_feature() for PIE. + Reported by Helmut Grohne . + - Dpkg: Temporarily silence deprecation warnings. + * Test suite: + - Improve TAP descriptions to clarify we are testing patch(1). + + [ Sven Joachim ] + * Localization: + - Update German programs translation. + + -- Guillem Jover Mon, 02 Jan 2023 12:44:53 +0100 + + dpkg (1.21.14) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-source: Add new --threads-max option to control threaded compressors. + * dpkg-buildflags: Add support for features handled as builtin defaults. + * Perl modules: + - Dpkg::Compression::Process: Unify and simplify cmdline handling. + - Dpkg::Compression: Change $COMP hashref into a %COMP hash. + - Dpkg::Compression: Add new compression_get_file_extension() and switch to + it. + - Dpkg::Compression: Move the POD for each function immediately before it. + - Dpkg::Compression: Clarify the compression_get/set_default_level() are + global. + - Dpkg::Compression: Use %COMP directly in functions when it is safe. + - Dpkg::Compression: Add new compression_get/set_level() and switch to it. + - Dpkg::Compression: Add new compression_get/set_cmdline_de/compress(). + - Dpkg::Compression: Deprecate compression_get_property(). + - Dpkg::Compression: Add multi-threaded xz support. + - Dpkg::Vendor::Devuan: Add new vendor module. + Requested by Ivan J. . + - Dpkg::BuildFlags: Make it possible to not load the vendor defaults on + new(). + - Dpkg::BuildFlags: Add a new use_feature() method. + - Dpkg::BuildFlags: Add a new set/get_option_value() private methods. + - Dpkg::BuildFlags: Add missing feature area to is_maintainer_modified() + POD. + - Dpkg::BuildFlags: Add support for builtin build flags. + - Dpkg::Vendor::Debian: Track option values state as a build flag options. + - Dpkg::Vendor::Debian: Generalize feature areas defaults. + - Dpkg::Vendor::Ubuntu: Use a string comparison instead of debarch_eq(). + - Dpkg::Vendor::Ubuntu: Use new build flag option override support to set + -O3. + - Dpkg::Vendor::Ubuntu: Handle LTO by default using new feature overrides. + - Dpkg::BuildEnv: Rename from Dpkg::Build::Env. + - Dpkg::BuildTypes: Rename from Dpkg::Build::Types. + - Dpkg::BuildInfo: New module to deprecate the Dpkg::Build::Info module. + * Documentation: + - man: Document dpkg-source -q option. + - doc: Update TODO. + - man: Document start-stop-daemon options that might be no-ops on some + systems. + - man: Turn spaces followed by tabs into spaces in start-stop-daemon(8). + - man: Use stanza instead of paragraph, block or record for deb822 parts. + * Code internals: + - libdpkg: Use correct return type in meminfo functions definitions. + - libdpkg: Split DPKG_ATTR_ declarations. + - lib: Refactor format attributes into a common *_ATTR_FMT. + - lib: Use __name__ format for attributes. + - lib: Use __has_attribute() to check for attribute availability. + - libdpkg: Mark tar on-disk members with attribute nonstring. + - scripts: Use stanza instead of entry or block. + - libdpkg: Rename functions with names containing record to stanza. + - dselect: Rename functions with names containing block to stanza. + - perl: Add missing space around equal-based operators. + - scripts: Fix indentation. + - perl: Fix list and hash literals indentation. + - scripts: Cuddle else and elsif. + - perl: Remove excess blank lines. + - dselect, src, utils: Remove excess blank lines. + - dpkg-scansources: Turn spaces followed by tabs into spaces. + * Packaging: + - Clarify new xz multi-threaded support is for decompression. + - Bump Standards-Version to 4.6.2. + * Test suite: + - Add unit tests for most of Dpkg::Compression. + * Localization: + - Update Dutch translations. + Thanks to Frans Spiesschaert . + Closes: #1027312, #1027313 + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + - Update German scripts translation. + + -- Guillem Jover Sun, 01 Jan 2023 23:48:16 +0100 + + dpkg (1.21.13) unstable; urgency=medium + + [ Guillem Jover ] + * Perl modules: + - Test::Dpkg: Refactor OpenPGP requisite into test_needs_openpgp_backend(). + - Dpkg::Backend::GnuPG: Ensure future signing interop with gpg --openpgp. + * Documentation: + - man: Move parallel-safe note from dpkg-buildpackage -j option to + --jobs-force. + * Code internals: + - start-stop-daemon: Cast struct sockaddr_un to struct sockaddr on bind() + call. + - lib: Stop using register keyword. + - libcompat: Remove unused arguments from ngettext() fallback macro. + - libcompat: Switch manual copying to memcpy() in obstack module. + - libcompat: Switch obstack to use size_t. + - libcompat: Use an union to track chunkfun and freefun. + - dpkg-architecture: Fix indentation. + - libdpkg: Fix pdb_lax_stanza_parser and pdb_allow_empty aliased values. + - libcompat: Add noreturn and sentinel C attributes. + - utils: Switch to use libcompat attributes. + - libdpkg: Add new multi-threaded xz decompression support. Closes: #956452 + - libdpkg: Pass -T+1 instead of -T1 to xz when compressing. + - libdpkg: On threads-max > 0 pass --no-adjust to xz to force threaded + mode. + - Use hyphenated multi-threaded in text. + * Build system: + - Consider lib and utils prefixes as internal in gen-changelog. + - Fix m4 files coding style. + - Include for printf() usage in __progname check. + * Packaging: + - Require liblzma >= 5.4.0 for multi-threaded decompressor support. + - Clarify versioned dependency rationale comments. + - Add pkgconf as main Build-Depends alternative to pkg-config. + * Test suite: + - Skip deb-format tests if required compressors are not present. + - Use a custom dpkg database directory for dpkg-buildpackage tests. + - Switch Dpkg::Source::Package test to use test_needs_openpgp_backend(). + - Skip deb-format tests if gzip is not present. + - Skip dpkg-source tests if xz is not present. + - Use the PERL detected at configure time in autotests. + - Use perl instead of yes+dd to generate a data-file for deb-split. + * Localization: + - Update Simplified Chinese programs translation. + Thanks to Boyuan Yang . Closes: #1025625 + + -- Guillem Jover Mon, 19 Dec 2022 02:07:45 +0100 + + dpkg (1.21.12) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-architecture: Properly compute required information to gather. + Reported by Sören Tempel . + * Code internals: + - dpkg-architecture: Rename information tracking constants and variables. + * Packaging: + - Set paths for configure in autopkgtests to match installed ones. + - Add libmd-dev to libdpkg-dev Depends. + Reported by Alexandre Detiste . + + -- Guillem Jover Tue, 06 Dec 2022 04:27:57 +0100 + + dpkg (1.21.11) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-genbuildinfo: Do not fail if there is no cross-compiler. + Closes: #1025273 + * Documentation: + - doc: Update Doxyfile after code reorganization. + - doc: Update Doxygen configuration from version 1.9.4. + - man: Remove B<> or replace with S< >. + * Code internals: + - libdpkg: Document str_end parameter for str_strip_quotes(). + * Packaging: + - Add libmd-dev to the test-root and test-not-root autopkgtests. + - Add source lintian-overrides. + - Remove obsolete libncursesw5-dev alternative from Build-Depends. + - Update copyright years. + * Localization: + - Unfuzzy translations after markup fixes. + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + + -- Guillem Jover Sat, 03 Dec 2022 00:18:29 +0100 + + dpkg (1.21.10) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg: Avoid setgid(2) call if not needed. + Thanks to Christian Göttsche . Closes: #1014332 + * dpkg-architecture: Do not compute values that are not required. + * dpkg-buildpackage: Fix swapped long options for -m/-e. + * dpkg-buildpackage: Add --source-by and --changed-by aliases for -m/-e. + * dpkg-deb: Add support for DPKG_DEB_COMPRESSOR_TYPE/LEVEL. Closes: #550475 + * dpkg-genbuildinfo: Refactor build-tainted-by gathering into a function. + * dpkg-genbuildinfo: Add new can-execute-cross-built-programs tainted flag. + Thanks to Johannes Schauer Marin Rodrigues . + Closes: #1011191 + * dpkg: Make -E also take into account the architecture. + Thanks to Ian Jackson . Closes: #1014476 + * dpkg-source: Fix confusing regex match for option arguments. + * dpkg-buildpackage: Fix --jobs and --jobs-try parsing with no «=». + * dpkg-buildpackage: Rename --jobs/--jobs-try argument in --help output. + * dpkg-buildpackage: Add new --jobs-force option. + * dpkg-buildpackage: Change -j, --jobs semantics to non-force mode. + Closes: #905835 + * dpkg, dpkg-statoverride: Install SELinux log callback to filter messages. + Thanks to Christian Göttsche . + * dselect: Clarify non-free section as optional not free software component. + Closes: #30972 + * dselect: Require the Dpkg modules for the ftp access method. + * dpkg-buildpackage: Remove blank line around signfile output lines. + * dpkg-buildpackage: Add new --sign-keyid and alias --sign-key to it. + * dpkg-buildpackage: Add --sign-keyfile and DEB_SIGN_KEYFILE support. + * dpkg-buildpackage: Add --sign-backend to specify the OpenPGP backend. + * dpkg-source: Translate source format specific --help option descriptions. + * dpkg-shlibdeps: Cache soname check against shlibs files. Closes: #1022766 + * libdpkg, dpkg: Switch triggers database to use reproducible package names. + Closes: #990712 + * update-alternatives: Switch point at which we increment alternative + refcount. + * dpkg: Fix setting admindir when root is set. + * dpkg-split: Add support for --root and --admindir. + * Architecture support: + - Move i386 and ia64 in an alphabetical-ish order in the cputable. + - Add support for loong64 CPU. + Based on a patch by 张丹丹 . Closes: #1023486 + * Perl modules: + - Dpkg::Source::Package::V1: Remove redundant exit handler for erasedir(). + - Dpkg::Source::Package::V2: Update and clarify patch header metadata + template. + - Dpkg::Deps: Merge dependency string into a single line when parsing. + Closes: #1019565 + - Dselect::Ftp: Switch to current mirror list for ftp method output. + - Dpkg::Source::Package: Use File::Spec instead of ad-hoc concatenation. + - Dpkg::Source::Package: Verify signatures before printing source files + addition. + - Dpkg::Source::Package: Print verifying signature for all source formats. + - Dpkg::Vendor: Rename @tries variable to @names. + - Dpkg::Vendor: Fix get_vendor_file() to return on first match. + Reported by Niels Thykier (on IRC). + - Dpkg::Vendor: Avoid duplicate file loading attempts. + - Dpkg::Vendor: Prefer loading lowercase vendor file first as documented. + Reported by Niels Thykier (on IRC). + - Dpkg::Vendor: Prefer loading capitalized vendor modules. + - Dpkg::Vendor: Use a normalized key to access the cached objects. + Reported by Niels Thykier (on IRC). + - Dpkg::Vendor: Fix vendor file loading for vendors with special + characters. + - Dpkg::Vendor: Fix module loading for vendors with special characters. + Reported by Niels Thykier (on IRC). + - Dpkg::Vendor: Deprecate loading vendor files with no special character + mapping. + - Dpkg::Vendor: Deprecate loading vendor module names starting lower-cased. + Reported by Niels Thykier (on IRC). + - Test::Dpkg: Refactor test files search into _test_get_files function(). + - Dselect::Ftp: Declare %CONFIG with «our» instead of «my». + - Dselect::Ftp: Conditionally load perl modules shipped in the perl + package. + - Test::Dpkg: Make test_get_temp_path() remove the path before creating it. + - Dpkg::File: Add new file_dump() function. + - Dpkg::File: Add new file_touch() function. + - Dpkg::OpenPGP: Remove unused $exec_opts argument from _exec_openpgp(). + - Dpkg::OpenPGP: Pass opts as a hash ref on the first argument. + - Dpkg::OpenPGP: Refactor _gpg_import_keys() out of import_key(). + - Dpkg::OpenPGP: Refactor GnuPG common options into functions. + - Dpkg::OpenPGP: Require gpgv and do not fallback to gpg to verify + signatures. + - Dpkg::OpenPGP: Refactor _gpg_verify() out from verify_signature(). + - Dpkg::OpenPGP: Split verify_signature() into verify() and + inline_verify(). + - Dpkg::OpenPGP: Rename keyrings option to certs. + - Dpkg::OpenPGP: Rename and namespace GnuPG specific symbols. + - Dpkg::OpenPGP: Refactor is_armored() out from openpgp_sig_to_asc(). + - Dpkg::OpenPGP: Refactor armoring code into an armor() function. + - Dpkg::Source::Package: Add armor_original_tarball_signature() member. + - Dpkg::OpenPGP: Merge ASCII armored key import into signature + verification. + - Dpkg::OpenPGP: Add native helpers for ASCII Armor. + Thanks to Daniel Kahn Gillmor . + See https://salsa.debian.org/debian/devscripts/-/merge_requests/286. + - Dpkg::OpenPGP: Switch armor() to use native OpenPGP armor functions. + - Dpkg::OpenPGP: Add new dearmor() function. + - Dpkg::OpenPGP: Use dearmor() instead of _gpg_import_keys() in + _gpg_verify(). + - Dpkg::OpenPGP: Move status check from _gpg_exec() to _gpg_verify(). + - Dpkg::OpenPGP: Make it a class. + - Dpkg::OpenPGP::KeyHandle: Refactor new key handle from dpkg-buildpackage. + - Dpkg::OpenPGP: Pass an array instead of an arrayref to _gpg_exec(). + - Dpkg::OpenPGP::ErrorCodes: Add new module. + - Dpkg::OpenPGP: Switch functions to return Dpkg::OpenPGP::ErrorCodes. + - Dpkg::OpenPGP: Change inline_verify to take an output file. + Requested by Daniel Kahn Gillmor . + - Dpkg::OpenPGP: Make armor idempotent. + - Dpkg::Source::Package: Call armor() unconditionally for signature + conversion. + - Dpkg::OpenPGP: Remove now unnecessary is_armored() method. + Prompted by Daniel Kahn Gillmor . + - Dpkg::OpenPGP: Call dearmor() unconditionally for GnuPG certificate + imports. + - Dpkg::OpenPGP: Reintroduce gpg fallback for signature verification. + - Dpkg::OpenPGP: Automatically detect both cmd and cmdv. + - Dpkg::OpenPGP: Refactor trusted keyrings from Dpkg::Source::Package. + - Dpkg::OpenPGP: Refactor signing code from dpkg-buildpackage. + - Dpkg::OpenPGP::KeyHandle: Add new needs_keystore() method. + - Dpkg::OpenPGP::Backend: Refactor GnuPG functions from Dpkg::OpenPGP. + - Dpkg::OpenPGP::Backend: Add new has_verify_cmd() method. + - Dpkg::OpenPGP: Add multi-backend loading support. + - Dpkg::OpenPGP: Add Sequoia backend support. + - Dpkg::OpenPGP: Handle backend requiring a keystore daemon for signing. + - Dpkg::Gettext: Fix typo in POD. + - Dpkg::Changelog: Rename __sanity_check_range method to _sanitize_range. + - Dpkg: Rename _sanity_check and _sanity_check_opts to _check_opts. + - Dpkg::Source::Package: Rename _sanity_check to _check_workdir. + - Dpkg::Shlibs::Objdump: Rename ELF constants to match more closely the + spec. + - Dpkg::Gettext: Add new gettext compatibility stub. + - Dpkg::Shlibs: Handle unknown executable file formats. + Reported by Helmut Grohne (on IRC). + - Dpkg::OpenPGP: Add Stateless OpenPGP (SOP) backend support. + * Make fragments: + - Switch Fortran compiler variables to use gfortran. + Spotted by Enrico Zini . Closes: #1024421 + * Documentation: + - doc: Spell SELinux correctly. + - man: Clarify how --build-by and --release-by get passed to + dpkg-genchanges. + - doc: Use https:// URLs instead of http:// when possible (round four). + - doc: Switch releases download link from ftp.debian.org to deb.debian.org. + - doc: Update git repo URL and mention it being the primary one. + - doc: Fix typos. + - man: Fix typo in markup. + - man: Add description of bug closure Perl regex in deb-changelog(5). + Based on a patch by Daniel Shahaf . + See #953911. + - man: Clarify when package names get arch-qualified in dpkg-query output. + Reported by Jakub Wilk (on IRC). + - doc: Do not use UTF-8 quotes in POD. + - doc: Remove __END__ marker for ending POD documentation. + - doc: Fix typos in coding-style.txt. + - doc: Do not use «e.g.» outside parenthesis. + - doc: Use US English spelling. + - man: Switch debian-installer modules.txt reference to a git URL. + - man: Clarify that dpkg-buildpackage --build components imply a single + type. Closes: #927265 + - man: Clarify «hold» behavior with explicit actions in --force-hold + text. + See #985749. + - man: Add references to deb-src-symbols(5) from deb-symbols(5). + - doc: Fix «i.e.» usage. + - man: Clarify dpkg-maintscript-helper switched symlinks/dirs need be + shipped. Closes: #974053 + - man: Clarify Build-Profiles syntax in deb-src-control(5). + Thanks to Christoph Berg . Closes: #1022237 + - man: Clarify dpkg-buildpackage --sign-key description. + - man: Mark «lto» as bold in list title in dpkg-buildflags(1). + - man: Clarify PIE and ASLR acronyms and grammar in dpkg-buildflags(1). + - man: Fix --depotdir default pathname in dpkg-split(1). + * Code internals: + - dpkg-genbuildinfo: Use Dpkg::Version to parse source version. + - libdpkg: Fix type name for AIX dpkg_get_progname() implementation. + - dpkg-deb: Move DPKG_DEB_THREADS_MAX parsing from libdpkg. + - dpkg-deb: Refactor parse_compress_type() from set_compress_type(). + - dpkg: Remove redundant «continue» keyword at the end of a loop. + - dpkg-fsys-usrunmess: Do not pass to print a ref to *STDERR. + - update-alternatives: Call tzset() explicitly now that we use + localtime_r(). + - dpkg-name: Use none() instead of ad-hoc comparisons. + - dpkg: Rename struct relationinfo string member to op. + - dpkg: Rewrite relationinfos array variable definition. + - dpkg: Use explicit EXIT_SUCCESS/EXIT_FAILURE instead of 0/1 in + relationinfos. + - libdpkg, dselect: Reformat enum declarations. + - libdpkg: Add new varbuf_add_dir() function. + - libdpkg, dpkg: Use varbuf_add_dir() instead of _add_str() + _add_char(). + - libdpkg: Use updatesdir when using the updates directory. + - libdpkg: Use pkg_infodb_get_dir() on opendir() instead of oldname. + - libdpkg: Associate each varbuf_state to a varbuf. + - libdpkg: Add new varbuf_rollback_len() and varbuf_rollback_start() + functions. + - libdpkg: Switch updatefn handling to use varbuf snapshots. + - libdpkg: Rewrite fnis array variable definition. + - libdpkg: Remove trailing «/» from UPDATESDIR definition. + - dpkg-genchanges: Use intermediate variables to access fields. + - dpkg-genchanges: Refactor $is_backport check into a boolean. + - dselect: Unconditionally load perl modules included in perl-base. + - dselect: Remove unused Net::FTP import from ftp method scripts. + - scripts: Switch to use file_slurp() instead of open coding it. + - scripts: Switch to use file_dump() instead of open coding it. + - scripts: Switch to use file_touch() instead of open coding it. + - dpkg-buildpackage: Rename $signkey to $signkeyid. + - dpkg-buildpackage: Move error report into singfile(). + - dselect: Use %zd instead of %jd for pointer difference in format string. + - libdpkg: Refactor system meminfo gathering into its own module. + - libdpkg: Refactor meminfo gathering into a filename generic function. + - libdpkg: Use an enum for meminfo return error codes. + - libdpkg: Fix available memory computation for xz thread scaling. + Closes: #1023870 + - dselect: Declare constructor with one argument as explicit. + - libdpkg: Fix doxygen comment to match function argument. + - libdpkg: Refactor database trigger await option parse/dump. + - libdpkg: Parse and dump the explicit trigger await option on interest + changes. + - libdpkg: Switch trk_explicit_interest_change() to use + pkg_spec_parse_pkg(). + - libdpkg: Add a new pnaw_same package name printing mode. + - libdpkg: Remove unneeded intermediate variable in dpkg_fsys_set_dir(). + - dpkg-trigger: Refactor trigger activation into a new function. + - dpkg-trigger: Turn do_check() into a cipaction function. + - dpkg-trigger: Use ACTION macros and cipaction for CLI action selection. + - dpkg-divert: Load database only from within relevant actions. + - dpkg-statoverride: Load database only from within relevant actions. + - src: Handle --help and --version as proper actions. + - libdpkg: Refactor debug_parse_mask(). + - libdpkg: Add support for a new DPKG_DEBUG environment variable. + - src: Make instdir static. + - src: Avoid using instdir directly except for initialization. + - libdpkg: Add new options-dirs module to handle directory option parsing. + - libdpkg: Automatically initialize fsys and db dirs on demand. + Reported by stackomatiker (on stackoverflow). + See https://stackoverflow.com/questions/73529576. + * Build system: + - Add the author testing dependencies to Build-Depends under a profile. + - Fully switch to libmd for MD5 implementation. + - Simplify author testing. + - Consider Dselect prefixes as perl modules too in gen-changelog. + - Move authorcheck target to tap.am. + - Sort test_data variables. + - Use long options for lcov invocations. + - Fix coverage reports after code restructuring. + - Use long options for autotools commands. + - Do not ignore Makefile under the functional test suite. + - Consider src and scripts prefixes as internal in gen-changelog. + - Consider scripts/mk prefixes as new «Make fragments» in gen-changelog. + * Packaging: + - Bump Standards-Version to 4.6.1 (no changes needed). + - Properly install specs under /usr/share/doc/dpkg/spec/. + - Do not compress spec files. + - Update bogus lintian tag format. + - Update debbugs usertags. + - Switch from gpg to gnupg for author testing Build-Depends. + - Add build dependencies for release process. + * Test suite: + - Do not use unportable -a option to cp. + - Use «perl» instead of «stat -c '%s'». + - Redirect dd stderr to /dev/null instead of using status=none argument. + - Remove stray backslash before comma. + - Add Dpkg::File unit tests. + - Improve OpenPGP unit tests and check verification and signing. + - Add unit tests for meminfo module. + - Refactor total number of expected known architectures into a variable. + - Use long options for aspell invocation. + - Use --quiet instead of -q on cppcheck invocations. + - Move active line-based cppcheck suppressions into inline comments. + - Make cppcheck unknownMacro suppression more specific. + - Tell cppcheck the C/C++ standards the code intends to comply with. + - Remove unused cppcheck suppressions. + - Use pkginstance in a new unit test. + - Switch NULL to DPKG_NULL in header file. + - Add functional tests for triggers database handling. + - Fix typo in update-alternatives test comment. + - Fix typo in DPKG_GEN_FSYS_LINK m4 macro. + - Rename m4 variables that matched environment variable names. + - Add functional tests for --root, --instdir and --admindir options. + * Localization: + - Fix typo in Japanese translation. + Thanks to Kisaragi Marine . + Closes: #1023376 + - Update Catalan translations. + - Update Dutch translations. + Thanks to Frans Spiesschaert . + Closes: #1021442, #1021443 + - Update Portuguese man pages translation. + Thanks to Américo Monteiro . Closes: #1018682 + - Update Simplified Chinese programs translation. + Thanks to Boyuan Yang . Closes: #1021281 + - Update Swedish translations. + Thanks to Peter Krefting . Closes: #1021091 + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + - Update German scripts translation. + + [ Sven Joachim ] + * Localization: + - Update German programs translation. + + -- Guillem Jover Thu, 01 Dec 2022 12:12:14 +0100 dpkg (1.21.9) unstable; urgency=medium diff --cc scripts/Dpkg/Vendor.pm index 1982fc1f,059e4422..2ad43fd0 --- a/scripts/Dpkg/Vendor.pm +++ b/scripts/Dpkg/Vendor.pm @@@ -153,47 -205,48 +205,61 @@@ But these name lookups will be removed =cut sub get_vendor_object { + #print STDERR "entering get_vendor_object\n"; my $vendor = shift || get_current_vendor() || 'Default'; + my $vendor_key = lc $vendor =~ s{$vendor_sep_regex}{}gr; state %OBJECT_CACHE; - #print STDERR "maybe leaving get_vendor_object by exit 1\n"; - return $OBJECT_CACHE{$vendor} if exists $OBJECT_CACHE{$vendor}; - #print STDERR "did not leave get_vendor_object by exit 1\n"; + return $OBJECT_CACHE{$vendor_key} if exists $OBJECT_CACHE{$vendor_key}; my ($obj, @names); - #print STDERR "14.24b.5.18a.16.1\n"; - push @names, $vendor, lc($vendor), ucfirst($vendor), ucfirst(lc($vendor)); - + my @vendor_parts = split m{$vendor_sep_regex}, $vendor; + push @names, join q{}, map { ucfirst } @vendor_parts; + push @names, join q{}, map { ucfirst lc } @vendor_parts; + + # XXX: Backwards compatibility, remove on 1.22.x. + my %name_seen = map { $_ => 1 } @names; + my @obsolete_names = uniq grep { + my $seen = exists $name_seen{$_}; + $name_seen{$_} = 1; + not $seen; + } (ucfirst $vendor, ucfirst lc $vendor, $vendor, lc $vendor); + my %obsolete_name = map { $_ => 1 } @obsolete_names; + push @names, @obsolete_names; - + #print STDERR "14.24b.5.18a.16.2\n"; - foreach my $name (@names) { + foreach my $name (uniq @names) { - eval qq{ + #print STDERR $name."\n"; + my $modulefilename = "/usr/share/perl5/Dpkg/Vendor/".$name.".pm"; + #print STDERR $modulefilename."\n"; + if (-e $modulefilename) { + #print STDERR "perl module exists\n"; + eval qq{ ++ pop \@INC if \$INC[-1] eq '.'; require Dpkg::Vendor::$name; \$obj = Dpkg::Vendor::$name->new(); - }; - unless ($@) { + }; + unless ($@) { - $OBJECT_CACHE{$vendor} = $obj; - #print STDERR "leaving get_vendor_object by exit 2\n"; + $OBJECT_CACHE{$vendor_key} = $obj; + if (exists $obsolete_name{$name}) { + warning(g_('%s module name is deprecated; ' . + 'it should be capitalized with only alphanumeric characters'), + "Dpkg::Vendor::$name"); + } return $obj; + } } } + #exit(1234); + #print STDERR "14.24b.5.18a.16.3\n"; my $info = get_vendor_info($vendor); + #print STDERR "14.24b.5.18a.16.4\n"; if (defined $info and defined $info->{'Parent'}) { + #print STDERR "recursively calling get_vendor_object for parent distribution and returning the result\n"; return get_vendor_object($info->{'Parent'}); } else { + #print STDERR "recursively calling get_vendor_object for default distribution and returning the result\n"; return get_vendor_object('Default'); } }