Roland Mainz wrote:
> Joseph Kowalski wrote:
> [snip]
>   
>> James Carlson wrote:
>>     
>>> The stability of the getconf built-in command-line interface and the
>>> system variables documented in getconf(1) is Committed; its pathname
>>> binding to /bin is Volatile.  The getconf built-in supports additional
>>> system variables not available for /usr/bin/getconf; these variables
>>> are Project Private, and include names prefixed with "AST" and "_AST".
>>>       
>> What does "its pathname binding" actually mean
>>     
>
> (Somewhere April wrote a better (and shorter explanation) but I can't
> find it right now... ;-( )
> Path name binding means that a builtin is bound to a specific path. The
> shell will execute the command in place of the "native" command in the
> filesystem if it's found at the path lookup in ${PATH}.
> For example if you have a builtin command "grabvictim" bound to
> /opt/tentaclemonster/bin/grabvictim then the builtin "grabvictim" will
> only be executed if ${PATH} contains /opt/tentaclemonster/bin/ and no
> other version of "grabvictim" was found in a ${PATH} element before this
> point (="/opt/tentaclemonster/bin/").
> As alternative builtin commands can be added without a path binding
> which means they will be executed immediately ("print" and "sleep" are
> examples for such builtin commands).
>
>   
>> and is it /bin or /usr/bin?
>>     
>
> It is both /bin/ and /usr/bin/ - the code detects whether "/bin" is a
> softlink to "/usr/bin" and then binds commands bound to "/bin"
> automagically to "/usr/bin", too (they're the same filesystem objects
> anyway and a different behaviour would be confusing for script authors).
>   
OK.  Thanks for the explanation.
>   
>>> These components will initially be used only by the Korn Shell 93
>>> Integration Project (PSARC/2006/550).  The proposed location of the
>>> tools in /usr/ast/bin is consistent with the location used within
>>> AT&T.
>>>
>>>       
>> Ah, battling communities - my favorite.
>>     
>
> Uh-oh... ;-(
>
>   
>> We get some degree of flack from the Linux FSH crowd about creating project
>> specific directories in /usr.
>>     
>
> How else should the "namespaces" between different projects be defined ?
> The ${PATH}/${FPATH} stuff was exactly invented to avoid collisions
> between projects and give full control over the lookup order (which is
> quite usefull if you want to implement multiple different standards
> (e.g. XPG4 in /usr/xpg4/bin, XPG6 in /usr/xpg6/bin, AST in /usr/ast/bin,
> UCB in /usr/ucb etc.)). and use them in a mix&match way in the same
> operating system instance.
>
>   
>> The charming FSH spec simply says, "don't
>> do this"
>> without saying what to do.  It seems like the standard response is to
>> put such things
>> either in /opt (reasonable, but a problem for Solaris diskless/zones) or
>> under /usr/lib
>> (completely silly in all respects, IMHO, it just moves the problem to
>> another
>> directory, one that is repeatedly scanned by ld.so - go figure).
>>
>> I guess if ksh93 installed on a Linux system installs into /usr/ast,
>> with the resultant
>> wrath of the FSH zelots, we have no problem.  If it installs elsewhere,
>> we need to
>> have the discussion as to if we should be like Linux or be like legacy
>> Solaris.
>>     
>
> Usually the AST tools are installed in either /usr/ast/ or /opt/ast/
> depending on the preference of the package builder. We'd like to go for
> /usr/ast/ since ksh93 should be a more integral part of Solaris (we're
> building it as part of OS/Net, remember ? :-) ) and not some kind of
> external software which is tacked-on later (all stuff which goes into
> /opt).
>
>   
>> Aside: For those who don't know, I personally view the FSH document to
>> be one of the
>> worst specifications ever created, but there are zelots out there who
>> think it was
>> written on stone tablets.  Sigh,...
>>     
>
> ... yeah... it's funny to see how they try to deal with the problem that
> some tools have the same name... =:-)
>   
I'm OK with this response.  I wanted to be sure it had been considered.

Aside,... I always thought PATH was a great idea.  I guess the FSH 
authors (and Linux
developers in general) don't.  Certainly throwing everything into 
/usr/bin makes things
easy for the newbee, but it takes a great tool away from the (even 
slightly) experienced
user.
>   
>>> If the interface stability level of the shared libraries listed in
>>> PSARC/2006/550 (libshell, libast, libdll, and libcmd) is promoted from
>>> Project Private, the stability of the /usr/ast/bin components listed
>>> below should be promoted to at least the same level, to allow
>>> consumers of the former to build the appropriate message files.
>>>
>>>       
>> This isn't declarative.  It starts with "If".  Are the promoted, and if
>> so, to what?
>>     
>
> Uhm... to the same level as needed by the consumers of
> libshell/libcmd/libast etc. ?
>
>   
I think what I'm asking for is simply that that "If" be deleted from the 
first sentence.
They *are* promoted, right?  (Also, "is" then changed to "are".)

>> Volatile I guess, but it needs to be explicit.
>>     
>>> Interface             Description                             Stability
>>> ---------             -----------                             ---------
>>> /usr/lib/libpp.so.1   AT&T ANSI C preprocessor library        Project 
>>> Private
>>>
>>>       
>> Why is this interesting to list?  (No harm, but I fear I might be
>> missing something.)
>>     
>
> It's a new filesystem object... AFAIK the ARC case must list them, right
> ?
>   
OK.

The ARC case isn't required to list everything private, but it never 
hurts.  Since this goes
in a well known directory, it was probably a very good idea to list it.  
As I said, I was
just making sure I hadn't missed something.
>   
>>> A new package for AST (Advanced Software Technology) developer tools,
>>> SUNWastdev, will be created, which includes all of the above
>>> message-building components. These tools have a dependency on ksh93
>>> and its libraries, as listed in PSARC/2006/550, and shall not be
>>> integrated before the Korn Shell 93 Integration project.
>>>
>>>       
>> What Metacluster is this package to be added to?
>>     
>
> AFAIK April can answer that better than I... but I guess it belongs to
> the development cluster (e,g, similar to the packages which deliver into
> /usr/css/bin/).
>   
That's the answer I expected.  Thanks.

- jek3


-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20070117/19653bdf/attachment.html>

Reply via email to