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

Reply via email to