[Python-modules-team] Bug#978145: consider splitting python3-cram

Helmut Grohne helmut at subdivi.de
Sat Dec 26 11:53:06 GMT 2020


Package: python3-cram
Severity: wishlist

python3-cram contains both a python module and a script executable. For
cross building other packages such as src:pbbam, it would be convenient
if python3-cram were marked Multi-Arch: foreign. Unfortunately, the
presence of the cram script seems like a show stopper here. As far as I
understand cram, it is capable of loading more python code in order to
test it. As such, cram requires that the architecture of the python
interpreter match the architecture of the loaded extension modules. Thus
the :any annotation on python3-cram's python3 dependency seems
questionable. It is automatically inserted by debhelper as most python
modules do not care about the interpreter architecture.

To get out of this mess, I propose the following package layout:

Package: cram
Architecture: all
Depends: python3-cram, python3

Package: python3-cram
Architecture: all
Multi-Arch: foreign

The cram executable would be moved to the cram binary package in the
process. Due to moving it out, it would become feasible to annotate
python3-cram Multi-Arch: foreign. The additional python3 dependency
without :any would ensure that cram transfers its architecture
constraint to the interpreter. Possibly changing the architecture of
cram to Architecture: any could be considered lateron to allow using it
with a foreign interpreter. That's a rare use case, but it is relevant
to cross-grading systems for instance.

What do you think?

If this looks good, I suggest a transition step. python3-cram should
start providing cram. Then reverse dependencies can be converted as
required. When cram is split of, nothing should break.

Helmut



More information about the Python-modules-team mailing list