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

Reply via email to