Manual merge of version 1.22.11+rpi1 and 1.22.15 to produce 1.22.15+rpi1 archive/raspbian/1.22.15+rpi1 raspbian/1.22.15+rpi1
authorPeter Michael Green <plugwash@raspbian.org>
Thu, 6 Mar 2025 16:01:09 +0000 (16:01 +0000)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 6 Mar 2025 16:01:09 +0000 (16:01 +0000)
1  2 
debian/changelog
debian/rules
scripts/Dpkg/Vendor.pm

index f72c9881e8e4df74b3562588ab3de9d0119e21cb,f71f11c2d5bfc07bc2ea5d54ad0499a5fc1981bd..2089e08d22a4e19d4d22383ccf454485f4183c27
- 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 <plugwash@raspbian.org> 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 <root@raspbian.org>  Sun, 18 Aug 2024 06:12:36 +0000
++ -- Peter Michael Green <plugwash@raspbian.org>  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 <biebl@debian.org>. 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 <guillem@debian.org>  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 <cstdbool> include deprecated in C++17.
+   * Localization:
+     - Update Brazilian Portuguese dselect translations.
+       Thanks to Paulo Henrique de Lima Santana (phls) <phls@debian.org>.
+       Closes: #1092593
+   [ Helge Kreutzmann ]
+   * Localization:
+     - Update German man pages translation.
+     - Update German scripts translation.
+   [ Sven Joachim ]
+   * Localization:
+     - Update German programs translation.
+  -- Guillem Jover <guillem@debian.org>  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 <guillem@debian.org>  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 <niels@thykier.net>.
+   * 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 <sanvila@debian.org>. 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 <helmut@subdivi.de>.
+     - 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 <niels@thykier.net>.
+       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 <holger@debian.org>.
+       Prompted by Niels Thykier <niels@thykier.net>.
+     - src: Do not name option variables as no<thing>.
+     - 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 <phls@debian.org>.
+       Closes: #1091450
+     - Update Czech translations.
+       Thanks to Miroslav Kure <kurem@upcase.inf.upol.cz>. Closes: #1087219
+     - Update Dutch translations.
+       Thanks to Frans Spiesschaert <Frans.Spiesschaert@yucom.be>.
+       Closes: #1087459, #1087595
+     - Update Portuguese man pages translation.
+       Thanks to Américo Monteiro <a_monteiro@gmx.com>. Closes: #1086160
+     - Update Romanian programs translation.
+       Thanks to Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>.
+       Closes: #1080212
+     - Update Swedish translations.
+       Thanks to Peter Krefting <peter@softwolves.pp.se>. Closes: #1083116
+   [ Helge Kreutzmann ]
+   * Localization:
+     - Update German man pages translation.
+   [ Sven Joachim ]
+   * Localization:
+     - Update German dselect translation.
+     - Update German programs translation.
+  -- Guillem Jover <guillem@debian.org>  Wed, 01 Jan 2025 23:27:27 +0100
  
  dpkg (1.22.11) unstable; urgency=medium
  
diff --cc debian/rules
Simple merge
index f1eba24f59334d1c97b38b0622f3faff9d1f28e1,67ddb58804563099c534fd1d6ce5e08eba04b804..462d0737231632f6529dde8a356d452d24337c50
@@@ -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');
      }
  }