[Debian GNUstep maintainers] Trixie goal: Multi-Arch
Yavor Doganov
yavor at gnu.org
Wed Jan 1 15:35:19 GMT 2025
Happy GNU year!
I tried to test my fix for chess.app's #1091252 using sbuild's --arch
option and couldn't do it because GNUstep is not MultiArch-capable.
I'm very much aware of that, and this is mostly because for a long
time I couldn't understand well the MultiArch specification and more
importantly, I couldn't find any clear benefit in this "technology".
But with dpkg's support for foreign architectures, the addition of
cross-toolchain packages and the ability to cross-build using pretty
much all of the available tools, I admit that my ignorance was a
mistake.
It is a good thing to be able to reproduce an arch-specific bug like
the one above or #1087735 without having the hardware so I propose to
multiarchify GNUstep for trixie. While trixie's freeze is probably
close enough (no official announcement yet) I think this is doable and
even if we don't manage to complete it in time, it's not blocking
anything.
My quick tests show the following:
* gnustep-make will need a Debian-specific patch to add
/usr/include/$(DEB_HOST_MULTIARCH)/GNUstep to the compiler's
header search path.
* Because <GNUstepBase/GSConfig.h> is an arch-specific header,
gnustep-base must install its headers at
/usr/include/$(DEB_HOST_MULTIARCH)/GNUstep. Packages not using
gnustep-make will probably FTBFS because of this so I plan to
rebuild all reverse-dependencies before the actual upload happens.
* I don't know what to do with packages like gnustep-sqlclient and
steptalk which include dynamically loadable modules (bundles) in a
non-multiarch location (/usr/lib/GNUstep). I guess tests will
show what to do here.
* Likewise, I don't know what to do with all the frameworks which
have the actual library in /usr/lib/GNUstep and only .so(*)
symlinks in /usr/lib. Again, testing is necessary.
* Some library packages may need a pass through NEW if we have to
introduce a -common package, moving stuff in /usr/share there.
Please let me know if you have any objections.
More information about the pkg-GNUstep-maintainers
mailing list