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 > > I solved with a postinstall script (that run at boot):
pkg_postinst_${PN}() { #!/bin/sh -e if [ x"$D" = "x" ]; then chown -R user /opt/user chgrp -R user /opt/user else exit 1 fi } Cheers Davide _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto