Source: libjson-perl Version: 4.02000-1 Tags: patch User: debian-cr...@lists.debian.org Usertags: cross-satisfiability Control: affects -1 + src:cod-tools src:gbrowse src:h2o src:heimdal src:krb5-strength src:libhtml-template-pro-perl src:libtime-y2038-perl src:mysql-5.7 src:os-autoinst src:pcp src:task src:webauth
The affected packages cannot satisfy their cross Build-Depends, because their dependency on libjson-perl is not satisfiable. In general, Architecture: all packages can never satisfy cross Build-Depends unless marked Multi-Arch: foreign or annotated :native, but neither is always correct. Often times, the multiarch hinter tells when to mark Architecture: all package Multi-Arch: foreign, but it doesn't emit a hint for libjson-perl. That's the case, because libjson-perl depends on perl without :any. If you rebuild libjson-perl in unstable, you'll notice that it now depends on perl:any. This is due to a change in debhelper. It formerly only used perl:any for applications, but now also allows the :any annotation for pure perl modules. Once the perl dependency carries :any, libjson-perl will be flagged by the hinter. Expect this to happen for other pure perl modules after rebuilding them with a current debhelper. So yeah, we can and should mark libjson-perl Multi-Arch: foreign, because it isn't architecture-dependent at all. Please consider applying the attached patch. Also consider noting this as a pattern: A pure perl module that doesn't depend on any other modules should usually be marked Multi-Arch: foreign. Do note that once there is a dependency on a perl extension module, Multi-Arch: foreign becomes wrong. It's a little wicked and this is the somewhat famous multiarch interpreter problem. So let's just solve the easy case without dependencies here. Helmut
diff --minimal -Nru libjson-perl-4.02000/debian/changelog libjson-perl-4.02000/debian/changelog --- libjson-perl-4.02000/debian/changelog 2019-02-24 15:56:57.000000000 +0100 +++ libjson-perl-4.02000/debian/changelog 2020-01-26 16:45:26.000000000 +0100 @@ -1,3 +1,10 @@ +libjson-perl (4.02000-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Mark libjson-perl Multi-Arch: foreign. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sun, 26 Jan 2020 16:45:26 +0100 + libjson-perl (4.02000-1) unstable; urgency=medium * Import upstream version 4.02000. diff --minimal -Nru libjson-perl-4.02000/debian/control libjson-perl-4.02000/debian/control --- libjson-perl-4.02000/debian/control 2019-02-24 15:56:57.000000000 +0100 +++ libjson-perl-4.02000/debian/control 2020-01-26 16:45:26.000000000 +0100 @@ -19,6 +19,7 @@ Package: libjson-perl Architecture: all +Multi-Arch: foreign Depends: ${misc:Depends}, ${perl:Depends} Recommends: libjson-xs-perl (>= 2.340)