plash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Plash] chown and make install


From: Mark Seaborn
Subject: Re: [Plash] chown and make install
Date: Tue, 26 Sep 2006 19:31:45 +0100 (BST)

Thomas Leonard <address@hidden> wrote:

> /usr/bin/install -c hello prefix/bin/hello
> /usr/bin/install: setting permissions for `prefix/bin/hello': No such
> file or directory
> /usr/bin/install: cannot change ownership of `prefix/bin/hello':
> Function not implemented
> make: *** [install] Error 1
> plash: job 9: process #1 (pid 7205) exited with status 2
> 
> Note: It appears that it doesn't actually want to change anything at all:
> 
> $ strace -e chown32 /usr/bin/install -c hello prefix/bin/hello
> chown32("prefix/bin/hello", -1, -1)     = 0

I have checked into SVN an implementation of chown() that should allow
this to work: it returns success for the chown(filename, -1, -1) case
but an error otherwise.

I haven't put in a full implementation of chown() because I'm not sure
whether it would be desirable to delegate the ability to set the
UID/GID of files and directories in the case where pola-run/pola-shell
are invoked as root.


The other error:

> /usr/bin/install: setting permissions for `prefix/bin/hello': No such
> file or directory

is happening because the process is doing a setxattr() call, and
although setxattr() is provided by libc, it is also provided by
libattr which provides its own syscall implementation.  "install" (as
well as "ls" and other programs) is linked with libattr.  The way to
fix this is either not to link these programs with libattr (where
possible), or to fix libattr so that it either calls libc or it does
the Plash RPC calls itself.

For now, though, this error does not seem to cause "install" to fail.

Cheers
Mark




reply via email to

[Prev in Thread] Current Thread [Next in Thread]