Roland Mainz <[EMAIL PROTECTED]> wrote:

> > If you look at the error messages from ksh, you see the same message
> > from within a "runat" session and from within an unlinked dir.
>
> That's incorrect. "runat" starts the shell without having an abolute
> $PWD, the ksh93 patch simply added file names which were not resolveable
> within the shell which caused much trouble.

If this is true, then there is no additional problem in case you are inside 
an attribute directory.

> > > - All calls to |open()| needs to be intercepted (which is non-trivial as
> > > much of this code sits in libast and other libraries)
> > 
> > Why?
>
> Because there is no central location in the shell which calls |open()|
> (which needs to be replaced by |openat()| for XATTR files), The calls
> are distributed all over libshell, libcmd and libast, making it very
> hard to keep it under control.

You do not need to change open() into openat(), you just need to add
a routine that puts you into the attribute directory.


> > > - All directory operations need to be adjusted, this includes pattern
> > > matching, filename completion (vi, emacs, gmacs), file name caching etc.
> > 
> > Why?
>
> Because the code expects that each filesystem object has a proper parent
> object which can be resolved with normal filesystem operatons. Please
> read the code.

I do not see any relation to XATTRs here.


> > > - All functions and builts which operate relative to $PWD need to be
> > > made aware that there is the special case PWD=. and that there are
> > > directories which live outside the normal namespace
> > 
> > This also applies to a ksh that runs inside a removed dir.
>
> See above.

So you admit that it is no problem?


> > > - Many of the builtin commands such as "mv", "cp" needs to be modified
> > > to support XATTRs in their operations, others need to be made aware
> > > about the PWD=. case
> > 
> > Never try to implement non-trivial commands inside a shell.
>
> This is no solution.

??? I see no reason why "cp" should be inside a shell.
If you like the functionality, use a different name, but never use the
official name unless you make sure that the internal implementation in the
shell behaves exactly as the official external program.


> Jörg... please... you're not in "auto-defend"-mode to protect the XATTR
> implementation in Solaris, right ?
> As I said I have nothing against XATTR files and I even proposed a
> possible solution for the trouble. Please lets discuss that instead of
> trying to hack each single application to fit the parallel XATTR file
> object universe.

I believe that you are confused about some aspects of the XATTR implementation
as you try to look for problems where no problems are.

Please just take into account that:

-       XATTRs are in a different name space

-       XATTRs may be accessed the same way as other files in case you did 
        call a "special chdir" command or function.

-       The Sun XATTR implementation is the best I am aware of and is the only
        implementation that is able to be the "umbrella" for all other XATTR 
        systems on other platforms.

-       Only a few applications need to be changed in order to work with XATTRs



> > Why does ksh miss a "tar" builtin?
>
> Umpf... his could be done, however the builtins should be limited to
> often used utilities to boost performance. /usr/bin/tar is IMO far away
> from that category.

Then please tell me why ksh includes "mv" as a builtin?

I use "star" 10-100 times more often than "mv" and I still use "star"
a bit more ioften than "cp". So am I correct that you vote to remove
"cp" and "mv" from the list of builtins of ksh?




> > > - All consumers of libshell need to be adjusted, this includes biosh,
> > > dtksh, ksh93, tksh and others.
> > 
> > I don't understand this.
>
> It means: You have to apply the same mess with catching |open()|,
> directory operations etc. to the libshell consumers as they implement
> lots of builtin commands, too. Please try to understand how
> ksh93+libshell works, e.g. it could be described as "... a hightly
> flexible framework to implement shell support for applications...".

This answer looks like a prove that you seem to have a major missconception
with understanding how an XATTR integration in a shell should be done.

Or do you like to tell us that ksh has bad concepts in it's implementation?

> > > % cd ... # moves into the XATTR subdirectory
> > > Maybe the system call should be seperated for directories and files and
> > > allow the usage of prefix or postfix strings to identify XATTR files.
> > 
> > This proposal - using ... - (from Microsoft in 2001) has been rejected by 
> > the
> > POSIX commitee because it is not compatible with POSIX.
>
> Yes, and the XATTR API seems to be incompatible to the POSIX shell.
> Wonderfull... ;-(

You stil have to prove this.....

If some of your statements are true, then it may be that the ksh93 
_implementation_ is broken. But this does not apply to "the POSIX shell".
"The POSIX shell" is just a definition that (from my knowledge) is not 
incompatible to Sun's XATTR implementation.

Jörg

-- 
 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
       [EMAIL PROTECTED]                (uni)  
       [EMAIL PROTECTED]     (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
opensolaris-discuss mailing list
opensolaris-discuss@opensolaris.org

Reply via email to