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