[yocto] preserving file owners in do_package

Davide Soldan davide.soldan at kynetics.it
Tue Oct 15 03:50:53 PDT 2013


In data martedì 15 ottobre 2013 11:38:21, Paul Eggleton ha scritto:
> Hi Davide,
> 
> On Tuesday 15 October 2013 12:02:20 Davide Soldan wrote:
> > in my recipe I want to change owner and permission of a file, so I wrote:
> > 
> > do_install() {
> >         ls -la ${D}/opt/user
> >         chown -R user ${D}/opt/user
> >         chgrp -R user ${D}/opt/user
> >         ls -la ${D}/opt/user
> >         chmod 754 ${D}/opt/user/user.sh
> >         ls -la ${D}/opt/user
> > }
> > 
> > the output of ls commands is:
> > 
> > drwxr-xr-x 8 root root   4096 Oct 15 11:13 .
> > drwxr-xr-x 3 root root   4096 Oct 15 11:13 ..
> > -rw-r--r-- 1 *root root*  55753 Aug  2 08:48 user.sh
> > 
> > drwxr-xr-x 8 user user   4096 Oct 15 11:13 .
> > drwxr-xr-x 3 root     root       4096 Oct 15 11:13 ..
> > -rw-r--r-- 1 *user user*  55753 Aug  2 08:48 user.sh
> > 
> > drwxr-xr-x 8 user user   4096 Oct 15 11:13 .
> > drwxr-xr-x 3 root     root       4096 Oct 15 11:13 ..
> > *-rwxr-xr--* 1 user user  55753 Aug  2 08:48 user.sh
> > 
> > So the change of owner and permission works fine in do_install phase.
> > Opening the final rootfs tarball, however, the file user.sh has still 754
> > permission but root as owner...so do_package doesn't preserve owner change
> > done in do_install? Or maybe I'm doing something wrong in changing file
> > owner? Any ideas? Thanks to all!
> 
> Does your recipe create the specified user via useradd.bbclass?
> 
> Cheers,
> Paul
> 
> 
Hi Paul,
I've got a useradd recipe (myuseradd.bbclass) that create that specific user. Also in my recipe I've got the
DEPENDS = "myuseradd"
to be sure that the specific user is created before my recipe is processed.
Within myuseradd recipe I've got some chown command that works fine, but outside that recipe I've got the problem stated in the previous mail...

Davide



More information about the yocto mailing list