Package: libhtml-tagset-perl
Version: 3.20-3
Tags: patch
User: [email protected]
Usertags: cross-satisfiability
Control: affects -1 + src:cod-tools src:feersum src:gfxboot src:gnuift 
src:libapache2-mod-perl2 src:libdevel-cover-perl src:libebook-tools-perl 
src:libhtml-parser-perl src:libhtml-strip-perl src:libmarpa-r2-perl 
src:mimedefang src:netsurf src:os-autoinst src:spamassassin

The affected packages fail to satisfy their cross build dependencies,
because their (transitive) dependency on libhtml-tagset-perl is
unsatisfiable. In general, Architecture: all packages can never satisfy
cross Build-Depends unless marked Multi-Arch: foreign or annotated
:native. In this case, I'm arguing that Multi-Arch: foreign is
reasonable.

libhtml-tagset-perl is a pure perl module. It runs on any perl
interpreter (embedded or standalone). It is not flagged by the multiarch
hinter due to its perl dependency. In principle, it would make sense to
annotate that dependency with :any, but doing so is practically
irrelevant at present and difficult to do. The dependency is added by
dh_perl (I guess) and adding the annotation would mean changing dh_perl.
It is practically irrelevant, because changing the architecture of
perl-base is very difficult as it is essential. Still the interfaces
that libhtml-tagset-perl provides can be described as
architecture-independent if some perl is assumed.

Please consider applying the attached patch.

I think that in general, many pure perl modules that entirely lack
dependencies beyond perl can be thus annotated. Those that do have
dependencies are more difficult and should be evaluated on a
case-by-base basis taking into account whether doing so actually
provides any practical benefit. Here, I've documented the practical
benefit.

Helmut
diff --minimal -Nru libhtml-tagset-perl-3.20/debian/changelog 
libhtml-tagset-perl-3.20/debian/changelog
--- libhtml-tagset-perl-3.20/debian/changelog   2016-11-27 16:07:32.000000000 
+0100
+++ libhtml-tagset-perl-3.20/debian/changelog   2019-11-17 11:18:10.000000000 
+0100
@@ -1,3 +1,10 @@
+libhtml-tagset-perl (3.20-3.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Mark libhtml-tagset-perl Multi-Arch: foreign. (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Sun, 17 Nov 2019 11:18:10 +0100
+
 libhtml-tagset-perl (3.20-3) unstable; urgency=medium
 
   * Team upload
diff --minimal -Nru libhtml-tagset-perl-3.20/debian/control 
libhtml-tagset-perl-3.20/debian/control
--- libhtml-tagset-perl-3.20/debian/control     2016-11-27 16:07:15.000000000 
+0100
+++ libhtml-tagset-perl-3.20/debian/control     2019-11-17 11:18:09.000000000 
+0100
@@ -15,6 +15,7 @@
 
 Package: libhtml-tagset-perl
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends},
          ${perl:Depends}
 Description: Data tables pertaining to HTML

Reply via email to