[v4,4/8] wic_fakeroot: Handle standalone pseudo invocations

Message ID 20200916145021.5856-5-Vijaikumar_Kanagarajan@mentor.com
State Superseded, archived
Headers show
Series WIC update | expand

Commit Message

Vijai Kumar K Sept. 16, 2020, 6:50 a.m. UTC
When using --exclude-path option wic copies the rootfs to a new location
and invokes pseudo as a standalone command to rebuild the database in the
new rootfs.

This is not applicable when using wic_fakeroot. Return 0 for such
standalone invocations in wic_fakeroot.

It also looks for files.db inside the pseudo directory and throws an
exception if it is not found. Handle that too.

Signed-off-by: Vijai Kumar K <Vijaikumar_Kanagarajan@mentor.com>
---
 meta/classes/wic-img.bbclass | 1 +
 scripts/wic_fakeroot         | 5 +++++
 2 files changed, 6 insertions(+)

Patch

diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass
index a2c9627..b1a7259 100644
--- a/meta/classes/wic-img.bbclass
+++ b/meta/classes/wic-img.bbclass
@@ -144,6 +144,7 @@  EOSUDO
     export BUILDDIR=${BUILDDIR}
     export MTOOLS_SKIP_CHECK=1
     mkdir -p ${IMAGE_ROOTFS}/../pseudo
+    touch ${IMAGE_ROOTFS}/../pseudo/files.db
 
     # create the temp dir in the buildchroot to ensure uniqueness
     WICTMP=$(cd ${BUILDCHROOT_DIR}; mktemp -d -p tmp)
diff --git a/scripts/wic_fakeroot b/scripts/wic_fakeroot
index 88a03fa..304f9e8 100755
--- a/scripts/wic_fakeroot
+++ b/scripts/wic_fakeroot
@@ -25,6 +25,11 @@  cmd = args[0]
 #    rootfs/root ...
 assert os.geteuid() == 0, "wic_fakeroot must be run as root!"
 
+# Check if we are calling the pseudo command itself. Return 0
+# for standalone pseudo operations.
+if cmd.startswith('-'):
+    sys.exit(0)
+
 # e2fsck <= 1.43.5 returns 1 on non-errors (stretch and before affected)
 # treat 1 as safe ... the filesystem was successfully repaired and is OK
 if cmd.startswith('fsck.'):