Subject: Re: use of share vs lib
To: Robert Elz <kre@munnari.OZ.AU>
From: Jim Bernard <jbernard@ox.mines.edu>
List: tech-pkg
Date: 07/31/1998 08:31:48
On 7 31, Robert Elz wrote:
>   |   Use share for machine independent (generally plain ascii) files, and use
>   | libdata for machine dependent files.  lib should be reserved exclusively
>   | for code libraries.
> 
> This is too narrow minded.   "lib" is (always has been) for libraries,
> which does not mean only .a files (and .so etc, of course).
> 
> Those kinds of libraries are really just data for "ld" to use, and aren't
> intrinsically different from any other machine (architecture) dependant
> data file that any program might need.   libdata isn't needed, all the
> stuff that might be thought to go there works just as well in lib
> (libexec is only really useful because it makes it that little bit easier
> to find things when they need to be run by hand, otherise we could do
> without it as well)

  No, really; that's the way it _should_ be--for two reasons:

  (1) It's a defined standard, specified in hier(7).

  (2) Code libraries ("data" for ld, by your description) are indeed special.
      Making sure they are not corrupted or vandalized is important to the
      security and reliability of the system (especially shared libraries),
      so they should be segregated in their own special corner of the
      filesystem so they can be watched carefully.

Of course, it's true that lib used to be a catch-all directory, and it's
unfortunate that after the split we're left with so many who remember that
legacy and continue to live by it, but the "new" way really is better.
And we can't afford to be "flexible" (or "broad minded") on this--if we're
to have a standard organization for the filesystem, we need to follow
it scrupulously.  Otherwise it's useless.