From ed0818060868a7797ff287e1dee68bef718659c7 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Fri, 26 Jan 2024 14:34:48 +0100 Subject: sysroot user management postinsts: run with /bin/sh -e to report errors when they happen This exposes the following failure in a multilib setup, when everything up to do_package_write_rpm is in sstate, but do_package_write_rpm is not (there's a similar fail for lib64-man-db, and the failures themselves will be fixed separately in the next commit): Exception: subprocess.CalledProcessError: Command '/srv/storage/alex/yocto/build-multilib/tmp/work/x86_64-pokymllib64-linux/lib64-quilt/0.67/recipe-sysroot/usr/bin/postinst-base-passwd' returned non-zero exit status 1. Subprocess output: install: cannot stat '/srv/storage/alex/yocto/build-multilib/tmp/work/x86_64-pokymllib64-linux/lib64-quilt/0.67/lib64-recipe-sysroot/usr/share/base-passwd/passwd.master': No such file or directory (From OE-Core rev: 5ffa333db28bc5d8e440c983fdf95589d332461d) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/classes/useradd.bbclass | 2 +- meta/recipes-core/base-passwd/base-passwd_3.6.3.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index cb809b5dd7..a58f8287c9 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -167,7 +167,7 @@ python useradd_sysroot_sstate () { if scriptfile: bb.utils.mkdirhier(os.path.dirname(scriptfile)) with open(scriptfile, 'w') as script: - script.write("#!/bin/sh\n") + script.write("#!/bin/sh -e\n") bb.data.emit_func("useradd_sysroot", script, d) script.write("useradd_sysroot\n") os.chmod(scriptfile, 0o755) diff --git a/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb b/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb index 9d7703b1c0..bf50b01fd5 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.6.3.bb @@ -54,7 +54,7 @@ do_install () { } basepasswd_sysroot_postinst() { -#!/bin/sh +#!/bin/sh -e # Install passwd.master and group.master to sysconfdir install -d -m 755 ${STAGING_DIR_TARGET}${sysconfdir} -- cgit v1.2.3-54-g00ecf