Source: python-roman
Version: 2.0.0-2
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap
Control: affects -1 + src:angband src:apcupsd src:c-blosc src:chromaprint 
src:dawgdic src:dballe src:gamera src:geany-plugins src:gr-gsm src:hitch 
src:ibniz src:infiniband-diags src:init-system-helpers src:isoquery src:libfiu 
src:libtorrent-rasterbar src:logservice src:massif-visualizer src:mercurial 
src:olm src:pbbarcode src:pgbouncer src:pgqd src:prads src:pystemmer 
src:python-blosc src:python-evdev src:sddm src:silverjuke src:syncevolution 
src:tlsh src:varnish src:wreport src:xss-lock

The affected packages cannot satsify their cross Build-Depends, because
their (transitive) dependency on python-roman or python3-roman is
unsatisfiable. It always goes through python-docutils or
python3-docutils, which will also need to be fixed. In general,
Architecture: all packages can never satisfy cross Build-Depends unless
marked Multi-Arch: foreign. In case of python modules such as this, it
is not entirely clear whether this is correct, but a good argument can
be made: While the maintainer script does create architecture-dependent
byte code files (hinting that M-A:foreign would be wrong), it does so
for "any" python interpreter. As such, the guarantee is that it works
with whatever python interpreter happens to be installed. If the
interpreter architecture is treated as opaque, then considering
python-roman architecture-independent should be ok. Reverse dependencies
that need a python interpreter for a particular architecture can depend
on it and python-roman will work with it (except for embedded
interpreters, but I think that's just unfixably broken in Debian). Other
packages such as python-six follow the same approach with success thus
far. I have attached a patch for doing so. Please consider applying it.

The major alternative is to apply the "multiarch interpreter problem
workaround" aka turn the packages Architecture: any. I'm not sure that's
any better.

Helmut
diff --minimal -Nru python-roman-2.0.0/debian/changelog 
python-roman-2.0.0/debian/changelog
--- python-roman-2.0.0/debian/changelog 2015-10-22 10:00:26.000000000 +0200
+++ python-roman-2.0.0/debian/changelog 2018-01-16 06:14:42.000000000 +0100
@@ -1,3 +1,10 @@
+python-roman (2.0.0-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Mark python modules Multi-Arch: foreign. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Tue, 16 Jan 2018 06:14:42 +0100
+
 python-roman (2.0.0-2) unstable; urgency=medium
 
   * Team upload, with maintainer's permission.
diff --minimal -Nru python-roman-2.0.0/debian/control 
python-roman-2.0.0/debian/control
--- python-roman-2.0.0/debian/control   2015-10-22 10:00:26.000000000 +0200
+++ python-roman-2.0.0/debian/control   2018-01-16 06:13:48.000000000 +0100
@@ -17,6 +17,7 @@
 
 Package: python-roman
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}, ${python:Depends}
 Description: module for generating/analyzing Roman numerals for Python 2
  This module converts from and to Roman numerals. It can convert numbers
@@ -27,6 +28,7 @@
 
 Package: python3-roman
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}, ${python3:Depends}
 Description: module for generating/analyzing Roman numerals for Python 3
  This module converts from and to Roman numerals. It can convert numbers

Reply via email to