Bart Smaalders wrote:
> OpenSolaris supports multiple command environments, but it does
> so through placing alternate versions of commands found in /usr/bin
> ahead in the user's path. 

I want the gnu bits to be usable on Solaris as well, but I am concerned
that this proposal will have unintentional side effects down the road:

A) A problem with comparing XPG4 with the gnu stuff is that the
    XPG4 bits don't evolve very fast, the XPG4 bits are, in many
    cases, derived from the /usr/bin bits (or vice-versa), and
    there isn't an external provider of the XPG4 bits.  The GNU
    bits don't share these attributes.


B) How does this address the issue of "the bits delivered by Sun
    are stale and I'd like to refresh them?"  Because the OpenSolaris
    /usr/bin/gnu project isn't the primary developer/publisher of
    these bits, it can not claim to be the only arbiter of when
    they get (re)delivered.

    Today, the gnu bits are not in /usr/bin, so my environment with
        PATH=/usr/bin:/opt/csw/bin
    works - giving me the Solaris "posix" bits and the latest
    csw-packaged GNU bits.

    Now, this proposal adds SFW GNU bits to /usr/bin and "hides"
    the ones I was using.

    How do I get back to a bleeding-edge, up-to-date set of gnu bits
    without having to hack up the filesystem on every system I use
    (by making a directory of symlinks...) and without losing the
    Solaris "posix bits" (like PATH=/usr/csw/bin:/usr/bin would do)?

    Potential Answer:   I should stop using the CSW generated gnu
                        bits in favor of building and using the latest
                        SFW gnu packages.  This presumes that this
                        OpenSolaris/GNU project keeps those bits up
                        to date WRT the upstream FSF source, and that
                        I (as a user) could download/configure/make/install
                        more recent bits on my own schedule.

    Alternative Answer: I no longer can expect to stay current with the
                        latest gnu bits because their update frequency
                        has been co-opted by my distro provider.



C) Another problem is that of what actually ends up in /usr/bin.  This propoal
    makes it "first come, first serve" - put it into /usr/bin as long as
    you are the first one there, otherwise put it in a different place.  This
    gives us - over time - a rather random assortment of "first class"
    executables in /usr/bin, with a slew of "2nd class" alternative bits
    strewn around in many other places.  And, by their nature, these alternative
    bits stand a very high chance of conflicting with other alternatives - 
Joerg's
    example of make comes to mind)

    At some future point, we may have:
    Posix ls got there first, along with AT&T's make and Joerg's star.  This
    means that the gnu ls, csw's ls, make and star and the three or four other
    versions of make all are forced to live elsewhere.  Let this accretion
    continue for a while, and we will no longer be able to interpose any
    "alternate command environment" without a potential slew of unintended,
    unpredicted and undesired consequences.

   -John

Reply via email to