Bug#1016631: libgstreamer-plugins-base1.0-dev cannot be marked Multi-Arch: same

2023-02-15 Thread Simon McVittie
On Sun, 29 Jan 2023 at 18:59:11 +0100, Helmut Grohne wrote:
> There are multiple reports asking libgstreamer-plugins-base1.0-dev to be
> marked Multi-Arch: same. Unfortunately, doing so would make the package
> rc-buggy, because it would cause unpack errors from dpkg on
> /usr/share/gir-1.0/GstAudio-1.0.gir when coinstalling with s390x.

Because nobody has actually said this in as many words yet:

The reason why GstAudio-1.0.gir is not multi-arch co-installable is that
it includes constants like GST_AUDIO_FORMAT_S16 which is defined to be
an alias for either GST_AUDIO_FORMAT_S16LE or GST_AUDIO_FORMAT_S16BE,
whichever is the native endianness. It is not possible for g-ir-scanner
to produce identical GIR XML for this module on little-endian and
big-endian machines, because the correct contents are genuinely different,
and GIR XML does not have any mechanism for architecture conditionals.

The two equivalence classes here are big- and little-endian architectures
(unlike GLib-2.0.gir in #801672, which has considerably more equivalence
classes as a result of describing a lower-level library).

We don't currently have a way to declare that a file varies between LE and
BE architectures, but is co-installable across all LE architectures.

smcv



Bug#1016631: libgstreamer-plugins-base1.0-dev cannot be marked Multi-Arch: same

2023-01-29 Thread Helmut Grohne
Control: block -1 by 1029957

There are multiple reports asking libgstreamer-plugins-base1.0-dev to be
marked Multi-Arch: same. Unfortunately, doing so would make the package
rc-buggy, because it would cause unpack errors from dpkg on
/usr/share/gir-1.0/GstAudio-1.0.gir when coinstalling with s390x.

The root cause of this is that g-ir-scanner produces architecture
dependent gir files and those are installed in /usr/share. Regardless of
Multi-Arch, this is a policy and FHS violation tracked as #1029957. So
in order to make this package (and many other packages shipping gir
files) eligible for Multi-Arch: same, this FHS violation must be fixed
first.  I've created that missing bug to centrally track progress and
block any Multi-Arch requests on it. That said, this is non-trivial.
Help is welcome.

Helmut