1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

sstate: fix touching files inside pseudo

running the 'id' command inside the sstate_create_package
function shows that this funcion run inside the pseudo:

 uid=0(root) gid=0(root) groups=0(root)

The check for touch files [ ! -w ${SSTATE_PKG} ]
will always return true and the touch can fail
when the real user don't have permission or
in readonly filesystem.

As the documentation refers, the file test operator "-w"
check if the file has write permission (for the user running the test).

We can avoid this test running the touch and mask any return errors
that we have.

(From OE-Core rev: f6e7445c94443544e92fda97a017ce93393c5f84)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jose Quaresma
2021-10-20 18:25:46 +01:00
committed by Richard Purdie
parent 700202afb1
commit 676757f187
+2 -2
View File
@@ -830,7 +830,7 @@ sstate_task_postfunc[dirs] = "${WORKDIR}"
sstate_create_package () { sstate_create_package () {
# Exit early if it already exists # Exit early if it already exists
if [ -e ${SSTATE_PKG} ]; then if [ -e ${SSTATE_PKG} ]; then
[ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG} touch ${SSTATE_PKG} 2>/dev/null || true
return return
fi fi
@@ -865,7 +865,7 @@ sstate_create_package () {
else else
rm $TFILE rm $TFILE
fi fi
[ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG} touch ${SSTATE_PKG} 2>/dev/null || true
} }
python sstate_sign_package () { python sstate_sign_package () {