Thread (4 messages) 4 messages, 3 authors, 2021-10-26

Re: [OE-core] [PATCH v2] sstate: fix touching files inside pseudo

From: Steve Sakoman <sakoman@gmail.com>
Date: 2021-10-26 14:05:30

On Mon, Oct 25, 2021 at 11:06 PM Jose Quaresma [off-list ref] wrote:
I have found this bug on the dunfell branch, can it be backported to dunfell too?
I'll add it to my testing queue.

Steve
Jose

Peter Kjellerstedt [off-list ref] escreveu no dia segunda, 25/10/2021 à(s) 15:28:
quoted
quoted
-----Original Message-----
From: openembedded-core@lists.openembedded.org <openembedded-
core@lists.openembedded.org> On Behalf Of Jose Quaresma
Sent: den 20 oktober 2021 19:26
To: openembedded-core@lists.openembedded.org
Cc: Jose Quaresma <redacted>
Subject: [OE-core] [PATCH v2] 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.

Signed-off-by: Jose Quaresma <redacted>
---

v2: redirect stderr to /dev/null to avoid messages in the log

 meta/classes/sstate.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 3c179259e7..146f56ea2d 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -830,7 +830,7 @@ sstate_task_postfunc[dirs] = "${WORKDIR}"
 sstate_create_package () {
      # Exit early if it already exists
      if [ -e ${SSTATE_PKG} ]; then
-             [ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG}
+             touch ${SSTATE_PKG} 2>/dev/null || true
              return
      fi
@@ -865,7 +865,7 @@ sstate_create_package () {
      else
              rm $TFILE
      fi
-     [ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG}
+     touch ${SSTATE_PKG} 2>/dev/null || true
 }

 python sstate_sign_package () {
--
2.33.1
Can this please be backported to Hardknott and Honister now that
it has been accepted for master?

//Peter

--
Best regards,

José Quaresma

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#157377): https://lists.openembedded.org/g/openembedded-core/message/157377
Mute This Topic: https://lists.openembedded.org/mt/86470820/3617601
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [sakoman@gmail.com]
-=-=-=-=-=-=-=-=-=-=-=-
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help