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

Reply via email to