Stephen Hahn <sch at eng.sun.com> writes:
> 3. Interfaces
>
> | /usr/gnu Directory hierarchy Stable
> | /bin
> | /sbin
> | /lib
> | /info
>
> | /etc/gnu Directory hierarchy Stable
> |
> | /var/gnu Directory hierarchy Stable
> |
> | /usr/share/man/man1gnu
> | Manual page section Stable
I fear this part may still be incomplete. For one, it should contain an
explicit reference to the (relevant section of) the GNU Coding Standards
http://www.gnu.org/prep/standards/standards.html#Directory-Variables
and provide an explicit mapping for those directories that differ from
their defaults with $prefix set to /usr/gnu:
* bindir and sbindir stay at their defaults of /usr/gnu/bin and
/usr/gnu/sbin respectively, so we're set here.
* Right now, libexecdir (/usr/gnu/libexec) is missing from the list above.
It is currently used in /usr/sfw/libexec, so there should be an
indication how to handle this. My suggestion is to keep it, because the
distinction between libdir and libexecdir is a useful one.
* datarootdir is missing either: I suppose /usr/gnu/share will just be
there, but was simply omitted from the list above?
* sysconfdir was already remapped from /usr/gnu/etc to /etc/gnu, which
should be stated explicitly.
* sharedstatedir is currently unspecified: it will change from the default
of /usr/gnu/com to someplace below /var/gnu, but where exactly?
/var/gnu/com?
* localstatedir was remapped from /usr/gnu/var to /var/gnu, which should be
stated.
* includedir (i.e. /usr/gnu/include) is missing completely. Is this
intentional, and will GNU headers always go into /usr/include? I don't
think so, since there are most likely conflicts with system headers.
* oldincludedir is irrelevant here since it stays at its default of
/usr/include.
* infodir is /usr/gnu/info above, although the current GCS prescribe
/usr/gnu/share/info. I think we should follow this lead, but need to be
careful to properly build older GNU packages from before the change from
$prefix/info to $prefix/share/info was made, otherwise we end up with
some info files in /usr/gnu/info and others in /usr/gnu/share/info.
* htmldir etc. stay at their defaults.
* ... as does libdir (/usr/gnu/lib).
* I'm not sure if lispdir is currently relevant (i.e. what the plans for
integrating GNU Emacs are), but it will most likely stay at its default.
* localedir remains at its default either.
* mandir is different, as has been discussed before. The current proposal
is for using /usr/share/man/man1gnu, but this is incomplete since it
doesn't state how other sections will be handled. I'm still objecting to
this, but will raise this again in another thread. Even if you'd agree
to move this back to its default of /usr/gnu/share/man, we must again be
careful to properly handle older packages that used /usr/gnu/man here.
* And finally srcdir is irrelevant since it only pertains to building the
software and is not an installation location.
I hope I haven't missed anything here.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University