From: Peter Michael Green Date: Thu, 6 Mar 2025 16:01:09 +0000 (+0000) Subject: Manual merge of version 1.22.11+rpi1 and 1.22.15 to produce 1.22.15+rpi1 X-Git-Tag: archive/raspbian/1.22.15+rpi1^0 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=648309a8d863b327e2f9898fcf2add941342fc57;p=dpkg.git Manual merge of version 1.22.11+rpi1 and 1.22.15 to produce 1.22.15+rpi1 --- 648309a8d863b327e2f9898fcf2add941342fc57 diff --cc debian/changelog index f72c9881,f71f11c2..2089e08d --- a/debian/changelog +++ b/debian/changelog @@@ -1,13 -1,276 +1,287 @@@ - dpkg (1.22.11+rpi1) trixie-staging; urgency=medium ++dpkg (1.22.15+rpi1) trixie-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 ) + + [changes introduce in 1.21.17+rpi1 by Peter Michael Green] + * disable testsuite. + - -- Raspbian forward porter Sun, 18 Aug 2024 06:12:36 +0000 ++ -- Peter Michael Green Thu, 06 Mar 2025 16:00:24 +0000 ++ + dpkg (1.22.15) unstable; urgency=medium + + [ Guillem Jover ] + * Perl modules: + - Dpkg::BuildDriver::DebianRules: Remove unused Dpkg::BuildAPI import. + - Dpkg::OpenPGP::Backend::GnuPG: Sign file with fixed up newline. + - Dpkg::Substvars: Add new set_as_optional() and set_as_required() methods. + * Documentation: + - man: Change verb tense for Makefile fragment files descriptions. + - man: Document that buildapi.mk sets a variable. + - man: Add reference to buildtools and vendor make fragments to related + tools. + - man: Split architecture examples into their own paragraphs. + - man: Clarify architecture terms and the architecture forms. + - man: Clarify that build and target are not usual variables to use. + - doc: Remove duplicate words across newlines. + Thanks to Michael Biebl . Closes: #1093548 + * Build system: + - Add array bounds warning. + - Add new dialect checks for strict flex array behavior and warnings. + - Add compiler hardening support. + + [ Sven Joachim ] + * Localization: + - Update German programs translation. + + -- Guillem Jover Mon, 03 Feb 2025 12:01:24 +0100 + + dpkg (1.22.14) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-deb: Switch from info() to hint() for hint message. + * Perl modules: + - Dpkg::BuildDriver::DebianRules: Fix R³ namespace check to only refuse + unknown dpkg keywords. Closes: #1092653 + * Make fragments: + - Use flavor to avoid re-caching empty variables. See #1092051. + * Shell library: + - Abstract color clearing with a new variable. + - Lowercase and namespace private variables with _dpkg_. + - Fix debug output format to print debug in lowercase after progname. + - Document library interface basics and the version when introduced. + - Add support for notice(), info() and hint() functions. + * Code internals: + - libdpkg: Add support for hint printing. + * Test suite: + - Remove redundant include deprecated in C++17. + * Localization: + - Update Brazilian Portuguese dselect translations. + Thanks to Paulo Henrique de Lima Santana (phls) . + Closes: #1092593 + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + - Update German scripts translation. + + [ Sven Joachim ] + * Localization: + - Update German programs translation. + + -- Guillem Jover Thu, 16 Jan 2025 03:56:38 +0100 + + dpkg (1.22.13) unstable; urgency=medium + + [ Guillem Jover ] + * dpkg-deb: Add support for filesystem metadata checks. + * Perl modules: + - Dpkg::OpenPGP::Backend::Sequoia: Handle all KeyHandle types in + inline_sign(). See #1091915. + - Dpkg::OpenPGP::Backend::Sequoia: Check whether we can use the key. + Closes: #1091915 + - Dpkg::OpenPGP::Backend: Add missing imports. Closes: #1091990 + - Dpkg::BuildDriver::DebianRules: Change default R³ value to «no». + * Documentation: + - man: Document the version since the Section and Priority fields have + defaults. + - man: Clarify Priority values by mentioning known important and unknown + ones. + - man: Clarify Section and Priority values usage tied to distribution + policies. + - man: Refer to --sign-keyid instead of --sign-key in DEB_SIGN_KEYID + description. + * Code internals: + - libdpkg: Add test cases for varbuf C++ operators. + - libdpkg: Do not call varbuf_init() from operator=(). + - dselect: Make sure the search varbuf always has allocated space. + See #1091898. + - dselect: Update the search varbuf to account for the used size. + Closes: #1091898 + - dselect: Fix logic inversion in repeat search keybinding. + - dselect: Fix formatting for return in keybindings::find(). + - scripts: When printing a field value quote it with double quotes. + - dpkg-gencontrol: Add missing field name to warning message. See #1091941. + - dpkg-genchanges: Set Section and Priority defaults even with no fields. + Closes: #1091941 + + -- Guillem Jover Fri, 03 Jan 2025 11:47:15 +0100 + + dpkg (1.22.12) unstable; urgency=medium + + [ Guillem Jover ] + * libdpkg: Check for pager presence and fallback to less, more and cat. + Closes: #856216 + * dpkg-shlibdeps: Add symbolic name alternative to --warnings bits. + * Update URLs. + * dpkg-deb: Add --no-check option and keep --nocheck as an alias. + * dpkg: Unify package and version printing format to «package (version)». + * dpkg-buildtree: Add new command is-rootless. + Suggested by Niels Thykier . + * scripts: Switch messages to be hints. + * dpkg-buildpackage: Reword hint on unsatisfied dependencies. Closes: #817955 + * dpkg-checkbuilddeps: Improve unmet dependency error messages. + * dpkg-buildpackage: Switch unmet dependency abort message from warning to + error. + * scripts: Change and inject default value for Section and Priority fields. + * Perl modules: + - Dpkg::Deps::Multiple: Document that the constructor takes @deps not + %opts. + - Dpkg::Changelog::Parse: Use %opts instead of %opt in function POD. + - Dpkg::Control: Deprecate the backwards compatibility type aliases. + - Dpkg::OpenPGP::Backend::GnuPG: Ignore + ValuesAndExpressions::ProhibitMagicNumbers. + - Dpkg::Vendor: Simplify module loading logic. + - Dpkg::OpenPGP::Backend::SOP: Add rsop as an alternative SOP + implementation. + - Dpkg::OpenPGP::Backend::SOP: Add gosop as an alternative SOP + implementation. + - Dpkg::OpenPGP::Backend::Sequoia: Adapt to new CLI 0.40.0 API. + - Dpkg::OpenPGP::Backend::Sequoia: Add keystore support. + - Dpkg::Shlibs: Improve code comments. + - Dpkg::Archive::Ar: Copy only the number of bytes we have read. + - Dpkg::Vendor: Remove backwards compatibility module and origin name + mangling. + - Dpkg::BuildInfo: Add GNUMAKEFLAGS as an allowed environment variable. + Thanks to Santiago Vila . Closes: #1090337 + - Dpkg::BuildDriver::DebianRules: Handle missing root_cmd option. + - Dpkg::ErrorHandling: Add support for hint printing. + - Dpkg::OpenPGP::Backend::GnuPG: Handle and warn on concatenated ASCII + Armor blocks. + - Revert "Dpkg::OpenPGP::Backend::GnuPG: Fallback to use «gpg dearmor» if + present". + - Dpkg::OpenPGP::Backend::GnuPG: Move armor/dearmor implementation to base + class. + - Dpkg::OpenPGP::Backend::SOP: Use the parent class armor/dearmor + implementations. + - Dpkg::Vendor::Debian: Remove merged-/usr taint logic. + - Dpkg::Control::FieldsCore: Add new field_get_default_value() function. + * Make fragments: + - Document DPKG_BUILD_API in buildapi.mk. + - Document public API and expected directory to include from. + Prompted by Helmut Grohne . + - Capitalize variable descriptions. + - Clarify format for version variables from pkg-info.mk. + See #1088244. + - Add support for new DEB_VERSION_EPOCH and DEB_VERSION_REVISION. + Closes: #1088244 + * Shell library: + - Add a default PROGNAME to dpkg-error.sh. + - Move setup_colors() contents into dpkg-error.sh script scope. + * Documentation: + - man: Update debian/control example in deb-src-control(5). + - man: Use arch-bits in deb-src-symbols(5) example dependent on bitness. + - man: Use modern architectures for manual page examples. + - doc: Fix typos in ChangeLog.old. + - man: Document purpose of origin files and how they tie to packages. + See https://github.com/grml/grml-debian-keyring/issues/7. + - man: Use «must» instead of «should» for mandatory behavior. + Requested by Niels Thykier . + See https://bugs.debian.org/1089794. + * Code internals: + - lib: Remove compatibility code for C++ earlier than C++11. + - scripts: Use %opts instead of %options for constructor and function + options. + - scripts: Document when constructors take %opts. + - scripts: Use %opts instead of %args for function and method options. + - scripts: Rename changelog options in programs to %changelog_opts. + - scripts: Unify constructor and function options documentation. + - libdpkg: Remove const from execname. + - libdpkg: Use size_t instead of unsigned int for nargs. + - start-stop-daemon: Refactor closefrom() and use it only if the system + lacks it. + - start-stop-daemon: Try to use close_range() if present to implement + closefrom(). + - scripts: Fix module loading. + Prompted by Holger Levsen . + Prompted by Niels Thykier . + - src: Do not name option variables as no. + - dpkg-deb: Rename control area functions to check_ctrl_*(). + - dpkg-deb: Rename check_control_area() to check_build_files(). + - dpkg-deb: Fix doxygen comment to match function argument. + - perl: Remove function prototypes. + - libdpkg: Rename varbuf_rollback_start() to varbuf_rollback_end(). + - libdpkg: Rename varbuf_*printf() to varbuf_add_*fmt(). + - libdpkg: Add new varbuf_set_*fmt() functions. + - dpkg: Switch from varbuf_reset()+varbuf_add_str() to varbuf_set_str(). + - Replace varbuf_reset()+varbuf_*printf() with varbuf_set_*fmt(). + - Replace varbuf_*printf() with varbuf_add_*fmt(). + - libdpkg: Rename varbuf C++ *fmt() methods to add_*fmt(). + - dpkg: Replace sprintf() usage with a varbuf in depisok(). + - Use snprintf() instead of sprintf(). + - libdpkg: Switch varbuf::reset() to use varbuf_reset(). + - libdpkg: Rename varbuf::string() to varbuf::str(). + - libdpkg: Add new varbuf C++ methods for all functions. + - libdpkg: Add new varbuf_state C++ methods for all functions. + - libdpkg: Add new varbuf C++ constructor initialized from a C string. + - libdpkg: Add new varbuf C++ operator+= methods. + - dselect: Switch from operator() to operator+=. + - libdpkg: Remove varbuf C++ operator() methods. + - libdpkg: Add new varbuf C++ len() method. + - libdpkg: Add new varbuf_swap() function. + - libdpkg: Add new varbuf C++ copy constructors. + - libdpkg: Add new varbuf C++ move constructors. + - libdpkg: Add new varbuf_array() and C++ operator[] methods. + - dselect: Switch to use varbufs instead of sprintf in keybindings. + - dselect: Switch to use varbufs instead of sprintf for searchstring. + - dselect: Switch to use varbufs instead of sprintf for describemany(). + - dselect: Use file_slurp() instead of open-coding it. + - dselect: Switch to use varbufs instead of sprintf for method parser. + - dselect: Mark assignment inside baselist::kd_search() as a move + assignment. + - Cast char to unsigned char for ctype functions. + - Remove dpkg-error.sh boilerplate. + - scripts: Remove dpkg-fsys-usrunmess program. + - dpkg-source: Generalize Package-List field attributes handling. + - scripts: Unify handling of default Priority and Section values. + - scripts: Switch to use the default per field value for Section and + Priority. + * Build system: + - Make C++ baseline version a hard requirement. + - Generalize C/C++ check macros to select the version as an argument. + - Bump minimum required C++ standard to C++14. + - Warn on C++17, C++20, C++23 and C++26 extensions usage. + - Check for C++11 __func__ availability. + - Undefine _TIME_BITS when checking for the base off_t size. + - Do not use an obsolete x prefix for shell test checks. + - Add a new changelog section for the shell library. + * Packaging: + - Bump Standards-Version to 4.7.0 (no changes needed). + - Add a trailing comma to debian/tests/control dependency. + - Inline sequoia-chameleon-gnupg dependencies depending on context. + - Remove merged-/usr warning logic. Closes: #1061718 + * Test suite: + - Enable ValuesAndExpressions::ProhibitMagicNumbers except for octals. + - Mark variables around longjmp() as volatile. + - Add tests for varbuf C++ API. + * Localization: + - Update Brazilian Portuguese programs translation. + Thanks to Paulo Henrique de Lima Santana . + Closes: #1091450 + - Update Czech translations. + Thanks to Miroslav Kure . Closes: #1087219 + - Update Dutch translations. + Thanks to Frans Spiesschaert . + Closes: #1087459, #1087595 + - Update Portuguese man pages translation. + Thanks to Américo Monteiro . Closes: #1086160 + - Update Romanian programs translation. + Thanks to Remus-Gabriel Chelu . + Closes: #1080212 + - Update Swedish translations. + Thanks to Peter Krefting . Closes: #1083116 + + [ Helge Kreutzmann ] + * Localization: + - Update German man pages translation. + + [ Sven Joachim ] + * Localization: + - Update German dselect translation. + - Update German programs translation. + + -- Guillem Jover Wed, 01 Jan 2025 23:27:27 +0100 dpkg (1.22.11) unstable; urgency=medium diff --cc scripts/Dpkg/Vendor.pm index f1eba24f,67ddb588..462d0737 --- a/scripts/Dpkg/Vendor.pm +++ b/scripts/Dpkg/Vendor.pm @@@ -218,47 -182,22 +183,27 @@@ sub get_vendor_object 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 (uniq @names) { - #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{ - require Dpkg::Vendor::$name; - \$obj = Dpkg::Vendor::$name->new(); - }; - unless ($@) { - $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; - } - } + my $module = "Dpkg::Vendor::$name"; + eval qq{ + require $module; + }; + next if $@; + + my $obj = $module->new(); + $OBJECT_CACHE{$vendor_key} = $obj; + 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'); } }