[Debian GNUstep maintainers] GNUstep and FHS

Eric Heintzmann eric at gnustep.fr.st
Tue Jul 26 20:23:10 UTC 2005


Hi,

Actually, there are in Debian (sarge, etch, sid) more than 50 packages
that are parts of the GNUstep Environment. But there is a big issue with
all of them: none are FHS compliant.

The development of GNUstep started a long time before the birth of the
File Hierarchy Standard, and since they implemented the OpenStep API,
the upstream developers chose to create their own
NeXTSTEP/OpenStep/MacOSX-like filesystem layout
(http://www.gnustep.org/resources/documentation/User/GNUstep/filesystem_toc.html).
Now, they don't want to change their filesystem layout according to the
Linux FHS, because GNUstep is multi-platforms, Linux and Unix is only a
target
(http://www.gnustep.org/resources/documentation/User/GNUstep/machines_toc.html).
They prefer to keep the same filesystem layout on all platforms
(including Windows and Darwin/MacOSX) .
Notice that Window Maker uses the same filesystem in Debian, even it is
not a GNUstep application.

Under Debian:

    The System Domain is set to /usr/lib/GNUstep/System/
    Packages install all their stuff here, (including object files,
libraries, and internal binaries, shell scripts, headers, all   commands).

    The Local Domain is set to /usr/local/lib/GNUstep/Local/ (with a
symlink in /usr/lib/GNUstep)
    Packages install nothing here. Used by admin to build GNUstep
applications locally.

    The Network Domain is set to /usr/local/lib/GNUstep/Network/ (with a
symlink in /usr/lib/GNUstep)
    Packages install nothing here. Used for shared stuff.

    The Users Domain is set to ~/GNUstep/
    Packages install nothing here. Used for store users configuration files.

The problem is simple:
First, gnustep-make which is used to build all others GNUstep package,
install all the stuff according to the GNUstep filesystem layout, and
cannot be set to install stuff elsewhere.
Second, all GNUstep libraries, frameworks and applications expect for
find stuff at a predetermined place. Moving files will just break GNUstep.

I co-maintain the GNUstep Core packages for more than 2 years, and I
spend a lot of time to find a solution to these problems by moving files
accordingly to FHS, and by symlinking some directories.
After several tests, I have to admit that I am not able to make GNUstep
FHS compliant without breaking it.
And I don't think that is possible, except if upstream developers change
their mind.

I've found a place to install GNUstep which seems to be FHS compliant:
/opt/GNUstep.
But using /opt for official Debian package is not allowed. (IMHO, it
should be written explicitly into the policy document).

Since there is no other maintainer to try to make these packages FHS
compliant, should GNUstep be removed from Debian ?

    Eric



More information about the pkg-GNUstep-maintainers mailing list