diff -Nru dpkg-1.21.7/debian/changelog dpkg-1.21.7+rpi1/debian/changelog --- dpkg-1.21.7/debian/changelog 2022-04-01 00:27:33.000000000 +0000 +++ dpkg-1.21.7+rpi1/debian/changelog 2022-04-08 08:55:18.000000000 +0000 @@ -1,3 +1,11 @@ +dpkg (1.21.7+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 Fri, 08 Apr 2022 08:55:18 +0000 + dpkg (1.21.7) unstable; urgency=medium - The “Social Contract §3: We will not hide problems” diff -Nru dpkg-1.21.7/scripts/Dpkg/Vendor.pm dpkg-1.21.7+rpi1/scripts/Dpkg/Vendor.pm --- dpkg-1.21.7/scripts/Dpkg/Vendor.pm 2022-03-26 17:17:59.000000000 +0000 +++ dpkg-1.21.7+rpi1/scripts/Dpkg/Vendor.pm 2022-04-08 08:55:18.000000000 +0000 @@ -153,29 +153,47 @@ =cut sub get_vendor_object { + #print STDERR "entering get_vendor_object\n"; my $vendor = shift || get_current_vendor() || 'Default'; 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"; my ($obj, @names); + + #print STDERR "14.24b.5.18a.16.1\n"; push @names, $vendor, lc($vendor), ucfirst($vendor), ucfirst(lc($vendor)); + #print STDERR "14.24b.5.18a.16.2\n"; foreach my $name (@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"; 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'); } } Only in /tmp/P9LTo8I1xf/dpkg-1.21.7/tests/t-unpack-fifo/pkg-fifo: test-fifo Only in /tmp/P9LTo8I1xf/dpkg-1.21.7/tests/t-unpack-hardlink/pkg-hardlink: test-fifo-link0 Only in /tmp/P9LTo8I1xf/dpkg-1.21.7/tests/t-unpack-hardlink/pkg-hardlink: test-fifo-link1