Source: perl Version: 5.38.2-3.2 Severity: serious Tags: patch User: debian-...@lists.debian.org Usertags: time-t X-Debbugs-Cc: Steve Langasek <vor...@debian.org>
perl is failing its own autopkgtest checks in sid because of the libperl5.38 rename to libperl5.38t64. https://ci.debian.net/packages/p/perl/unstable/amd64/45047732/ autopkgtest [15:18:55]: test control: prove debian/t/control.t autopkgtest [15:18:55]: test control: [----------------------- control.t: warning: can't parse dependency ${t64:Provides} # Failed test 'Breaks for libfilter-perl in libperl5.38t64 implies Provides' # at debian/t/control.t line 267. # Failed test 'Breaks for libfilter-perl in libperl5.38t64 implies Replaces' # at debian/t/control.t line 269. Use of uninitialized value $replaced_version in substitution (s///) at debian/t/control.t line 273. [...] The main issue is solved with just a sed -i 's/libperl5.38/&t64/' debian/t/control.t but there's also the "can't parse dependency ${t64:Provides}" warning coming from Dpkg::Deps which cannot handle unsubstituted substvars. We already fix a similar ${perlapi:Provides} case, so that can be extended to tackle this as well. Patch attached. The test passes for me with this on amd64 at least. -- Niko Tyni nt...@debian.org
>From 81649053d3b4ecf857977c797100c024a25c04de Mon Sep 17 00:00:00 2001 From: Niko Tyni <nt...@debian.org> Date: Sat, 13 Apr 2024 20:51:17 +0300 Subject: [PATCH] Fix autopkgtest test after t64 changes --- debian/t/control.t | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/debian/t/control.t b/debian/t/control.t index 977338ee5..56608ea4e 100755 --- a/debian/t/control.t +++ b/debian/t/control.t @@ -77,7 +77,7 @@ my %known_epochs = ( # Replaces+Provides my %triplet_check_skip = ( "perl-base" => [ "libfile-spec-perl" ], - "libperl5.38" => [ "libfilter-perl" ], + "libperl5.38t64" => [ "libfilter-perl" ], ); # list special cases where the name of the Debian package does not @@ -162,8 +162,8 @@ for my $perl_package_info ($control->get_packages) { for my $deptype ($breaksname, "Replaces", "Provides") { next if !exists $perl_package_info->{$deptype}; - # Dpkg::Deps cannot parse unsubstituted substvars so remove this - $perl_package_info->{$deptype} =~ s/\$\{perlapi:Provides}//; + # Dpkg::Deps cannot parse unsubstituted substvars so remove those + $perl_package_info->{$deptype} =~ s/\$\{\w+:Provides}//; my $parsed = deps_parse($perl_package_info->{$deptype}); next if !defined $parsed; -- 2.39.2