> James C. McPherson wrote:
> > frank wang wrote:
> >> Sun will keep two universes, 1 is "Linux" alike,
> >> the other "Solaris" alike. User can just pick what 
> >> they like or are familiar with. But it
> >> can't replace the efforts to scale the train
> >> coverage on everyting about
> >> Solaris/UNIX.will" ??? I doubt it.
> 
> Frank, I think you are mis-reading /
> mis-understanding the psarc /usr/gnu case.
> 
> Simply put:
> 
> if we don't have a conflict in functionality, dump
> the gnu version in  /usr/bin

apologies to jcmp, who just managed to catch me when I've
been contemplating these issues for the last several months
and I feel the need to speak out.

This is *not* directed at him. 

------------------

This is so braindead, it makes me want to scream.  Solaris is
how old now? I've been porting code to Solaris for 14 years
now (since Solaris 2.3 on Sparc).  In all that time, I've had to
learn how to work around building the code correctly on 
Solaris, so I'm not lugging around LD_LIBRARY_PATH, or use
the GNU tools in their own directory without a "g" prefix
prepended to my path so the configure scripts have a better
chance of working out of the box (excepting linker behavior
which has rarely, if ever not needed fixing if someone hasn't
been actively maintaining the code in a Solaris environment,
or dealing with specific gcc'isms).

What, do we really think that magically we're going to put all
these commands in /usr/bin and all of a sudden, a shedload
more Open Source software will *just* compile on Solaris.

This just goes to show that folks making the decision aren't
involved actively in porting any Open Source software to
Solaris, because otherwise they would understand that in
many cases, it's not just the tools, but the naming of the
tools, not to mention specific Solaris behaviors as it relates
to includes and libraries and those differences to other
*nix-like systems.

> if we do have a conflict, create /usr/bin/g[blah] as
> a symlink to /usr/gnu/bin/[blah]

So this isn't any different that having said tool in /usr/sfw/bin.
And it also assumes that users are way too stupid to be able
to use a PATH variable effectively.  Course, it would help if
there was a locate command on Solaris, and some effective
HTML documentation detailling out all the tools that exist
on the Solaris install (since every argument I've heard about
doing this relies on the issue that users can't find the tools)

It still requires Open Source software to either be conscious of
GNU'ish tools having a g-prefix, or the user being smart enough
to tell the configure script to use said tool (and the tool even
being able to deal with a g-prefixed command)  This is not going
to make the user experience any better, and is more likely to
further confuse users and non-Solaris ready Open Source
packages.

> Now, as to what Ian is proposing - we'll have to wait
> and see.  I've heard that he had a really really hectic time at
> JavaOne so it could be a little while.

I have to wonder what Sun/Ian are really trying to acomplish. It feels
an awful lot like a publicity ploy.  Personally, I *like* the flavor of
Solaris.  I've been using it a long time.  Diluting Solaris to be more
Linux like, is different from giving Solaris a more Linux like profile.
Can you understand the difference?

Is the expectation that they throw all the gnu software into solaris and it
becomes a magic panacea that makes building open source software
easier?

All this is going to do is further confuse the issue on Solaris
WRT buildling open source software.

IMO, a more sane infrastructure would be to do the following:

1) keep GNU software in /usr/gnu with g prefixes, with the exception of
the exiting GNU software already in /usr/bin (bash, less, etc)

2) create a set of symlinks in /usr/gbin translating the g-prefixed tools
in /usr/gnu/bin to normal non-g-prefixed tools, such that putting 
/usr/gbin in front of /usr/bin makes Solaris look more like a native
Gnu-*nix system.

If you want a Solaris only, native system, you have a PATH that has
/usr/bin without /usr/gnu/bin.   More and more, there is very little 
open source code that would actually fall into that category.

If you want a Solaris with Gnu behaviors, you have
/usr/bin followed by /usr/gnu/bin (much like /usr/bin:/usr/sfw/bin today).
Again, unless Open Source code is aware of g-prefixed commands
or can be instructed via enviornment variables (like env SED=gsed 
./configure....)
configure typcially doesn't always get everything it can.

If you want a Solaris Gnu-ish system, then you would have
/usr/gbin followed by /usr/bin.  Today, only folks who have made
a concerted effort to do something like this will have this functionality.
The benefit of this is that the typical problems on Solaris systems with
borkened tools like sed, awk, make, grep and so on, are going to
be typically bypassed.  

However, all this will really serve is to make some open source software build
a little easier out of the box, but will continue to let folks just assume that
the software builds correctly.  Again, I must reiterate that most open source
software does not build properly on Solaris because it fails to pass the proper
linker flags through the system to be built.  Things like LD_OPTIONS, again,
*require* the user to know alot about the open source package and which
libraries it requires, or we end up having folks who lug around an LD_OPTIONS
always, and then we end up having to answer the other half of the users who
don't user an LD_OPTIONS variable.

I'm surprised that Sun hasn't started some sort of open source archive dedicated
to really porting open source packages to Solaris, instead of having a bunch of
hacks driven by makefiles and distributed by the CCD or SFW.  Every single 
archive
so far, with maybe the exception of pkgsrc, hasn't had any *real* usable 
visibility
into the configuration of the packages, especially WRT to changes, patches, 
configure time parameters and the like)

The place where I think Sun/Ian wants to be is to have Open Source software
be able to work by a user be able to say "./configure --prefix=/opt/mydir" 
without having to

1) set an LD_OPTIONS or LD_LIBRARY_PATH, or other compile type environment
    variable beyond CC and CXX.  (configure should be able to find includes and
    libraries/library paths on Solaris automagically)

2) have to set options where to find libiconv, X11, opengl, sound, etc, ie
    any package that the open source package has as a dependency.

3) have to fiddle with PATH's to get commands that have specific behaviors
   (like needing GNU {grep,diff,make,patch,awk,bash} )

4) figure out which compiler (gcc-3.4.x, gcc-4.x, studio compilers)
   and set of compiler options need to be set

5) have a huge amount of Solaris knowledge on how to make said
    packge compile without spending hours or days doing it.

And just lugging around a badly thought out idea of bringing in GNU'ish
code arbitrarily into Solaris without understanding what this is going to
do to the current state of development of Open Source code on Solaris
is just indicative of how the powers-that-be "understand" the Open
Source issue.  If anyone wants to think that Solaris is really on the
cutting edge, all you have to do is look in /etc/skel for the "start scripts"
and see a path variable is probably hasn't changed in 15 years....
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to