Control: tags -1 + patch On 2024-03-05 11:47 +0100, Sven Joachim wrote:
> Package: perl-base > Version: 5.38.2-3.1 > Severity: serious > X-Debbugs-Cc: Sven Joachim <svenj...@gmx.de>, Steve Langasek > <vor...@debian.org> > > On i386, perl-base provides perlapi-5.38.2t64 rather than > perlapi-5.38.2. This makes tons of packages uninstallable or > unbuildable and is not what has been agreed upon in #1060246. There are already 229 packages in state BD-Uninstallable on i386, on amd64 there are only 19. Personally I have held back packages from src:e2fsprogs, src:util-linux and src:expat due to multiarch version skew. This is only going to become worse. > The reason is a bad check in debian/rules, line 31: > > ,---- > | # If nonempty, this will determine $Config{debian_abi} and Provides: entries > | # (otherwise, the Provides: entries will be generated by debian/mkprovides) > | perlabi = > | ifeq (,$(filter $(DEB_HOST_GNU_TYPE),i386 hurd-i386)) > | ifeq ($(DEB_HOST_ARCH_BITS),32) > | perlabi = 5.38.2t64 > | endif > | endif > `---- > > Unfortunately DEB_HOST_GNU_TYPE does not match i386 or hurd-i386 on > these architectures: > > ,---- > | $ dpkg-architecture -ai386 -qDEB_HOST_GNU_TYPE 2>/dev/null > | i686-linux-gnu > | $ dpkg-architecture -ahurd-i386 -qDEB_HOST_GNU_TYPE 2>/dev/null > | i686-gnu > `---- > > You may want to filter on DEB_HOST_ARCH instead (make sure it is > defined). I have decided to fix the check for DEB_HOST_GNU_TYPE instead. All of this is going away anyway when perl moves on to version 5.40. > A quick fix would be appreciated, because reverse dependencies are > likely going to pick up the wrong perlapi Provides. There are currently six packages depending on perlapi-5.38.2t64:i386, but that number is likely going to grow. The second patch adds a hardcoded dependency not break these reverse dependencies, but it might be preferable to just request binNMUs for them as long as there are not too many. Cheers, Sven
From 016030f4f7d4d3317016c3f9af3981030dfef913 Mon Sep 17 00:00:00 2001 From: Sven Joachim <svenj...@gmx.de> Date: Wed, 6 Mar 2024 09:53:06 +0100 Subject: [PATCH] Fix perlapi Provides for i386 and hurd-i386 --- debian/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/rules b/debian/rules index a5a3565..43f923e 100755 --- a/debian/rules +++ b/debian/rules @@ -28,7 +28,7 @@ DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS) # If nonempty, this will determine $Config{debian_abi} and Provides: entries # (otherwise, the Provides: entries will be generated by debian/mkprovides) perlabi = -ifeq (,$(filter $(DEB_HOST_GNU_TYPE),i386 hurd-i386)) +ifeq (,$(filter $(DEB_HOST_GNU_TYPE),i686-linux-gnu i686-gnu)) ifeq ($(DEB_HOST_ARCH_BITS),32) perlabi = 5.38.2t64 endif -- 2.43.0
From 8509b7145c29e936e4b76b83f31fbc1d397d69dc Mon Sep 17 00:00:00 2001 From: Sven Joachim <svenj...@gmx.de> Date: Wed, 6 Mar 2024 10:02:43 +0100 Subject: [PATCH] Temporarily provide perlapi-5.38.2t64 on i386 and hurd-i386 There are already a few packages which have picked up the new dependency, provide perlapi-5.38.2t64 not to break them. --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index acc8e5a..222ae6c 100644 --- a/debian/control +++ b/debian/control @@ -81,6 +81,7 @@ Provides: ${perlapi:Provides}, libfile-temp-perl (= 0.2311), libfile-path-perl (= 2.18), libio-socket-ip-perl (= 0.41), + perlapi-5.38.2t64 [i386 hurd-i386], Suggests: perl, sensible-utils Description: minimal Perl system Perl is a scripting language used in many system scripts and utilities. -- 2.43.0