Laszlo (Laca) Peter writes:
> On Fri, 2006-05-05 at 14:09 -0400, James Carlson wrote:
> >         - if it conflicts with objects we deliver or likely will
> >           deliver (or, per ARC review, just has an objectionably
> >           "generic-looking" name), then rename it as part of the
> >           packaging, and provide a link using the original name under
> >           /{usr,etc,var}/gnu.
> 
> I almost agree with this, but I still don't think we should invent
> new g-prefixed or otherwise renamed executables and certainly no
> shared libs or headers.  Other files/directories (data, config, etc)
> would be okay to rename, if necessary, but it would have to be done as
> part of the build and not as part of the packaging, otherwise they
> won't be found.

I don't think it's as bad as that.

Renamed executables serves at least one purpose: it makes it possible
for users to choose to use GNU tools for particular purposes without
'entering' the GNU environment by changing $PATH and without typing
the whole path.  "gmake" is easy and is fairly well-known.

Note that I'm not suggesting widespread g-prefixing.  We should only
rename when there's a conflict or the expectation of a conflict.

The ambiguity I think we need to remove is the "what is the base
installation directory?" question.  The answer should be /usr, not
some amalgam of /usr and /usr/gnu.  Having a confused build rule means
that we'll end up with a confused system.

And as for libraries, having symlinks under /usr/gnu/lib actually
causes no problems, at least on Solaris.  Users who are in the GNU
environment will set their -L flag to point to /usr/gnu/lib, but the
system will resolve the real path name for the library.

For example, if the user does this:

        % cc -L/usr/gnu/lib -lbar -o foo foo.c

and libbar.so in /usr/gnu/lib is actually a symlink to
/usr/bin/libgbar.so, the resulting binary will be linked to the
"libgbar" name, not "libbar."

The rest of it is more rarely a problem and easier to deal with on a
case-by-case basis.  I agree that if some open source package by
default would deliver a file system object called "/usr/share/data,"
we'd probably have to do some minor surgery on that package before
integrating it.  And of course that surgery would have to be part of
the build process.  But I think that'd actually be to the benefit of
this hypothetical package: if the too-generic name causes trouble on
Solaris, it likely causes grief elsewhere as well, so fixes there
should not be objectionable.

-- 
James Carlson, KISS Network                    <[EMAIL PROTECTED]>
Sun Microsystems / 1 Network Drive         71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
tools-discuss mailing list
tools-discuss@opensolaris.org

Reply via email to