[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