If BB_VERBOSE_LOGS is enabled, then make the postinst functions use set -x so that their execution is traced. This greatly simplifies debugging, especially in case of failures as nothing is recorded in the logs otherwise to indicate what caused the failure.
Also reduce code duplication in useradd_sysroot_sstate() by only having one copy of the code to create the postinst files. Signed-off-by: Peter Kjellerstedt <[email protected]> --- meta/classes/useradd.bbclass | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/meta/classes/useradd.bbclass b/meta/classes/useradd.bbclass index 4373677bd6..d9b5373d96 100644 --- a/meta/classes/useradd.bbclass +++ b/meta/classes/useradd.bbclass @@ -133,26 +133,25 @@ useradd_sysroot () { } python useradd_sysroot_sstate () { + scriptfile = None task = d.getVar("BB_CURRENTTASK") if task == "package_setscene": bb.build.exec_func("useradd_sysroot", d) elif task == "prepare_recipe_sysroot": # Used to update this recipe's own sysroot so the user/groups are available to do_install scriptfile = d.expand("${RECIPE_SYSROOT}${bindir}/postinst-useradd-${PN}") - bb.utils.mkdirhier(os.path.dirname(scriptfile)) - with open(scriptfile, 'w') as script: - script.write("#!/bin/sh\n") - bb.data.emit_func("useradd_sysroot", script, d) - script.write("useradd_sysroot\n") - os.chmod(scriptfile, 0o755) bb.build.exec_func("useradd_sysroot", d) elif task == "populate_sysroot": # Used when installed in dependent task sysroots scriptfile = d.expand("${SYSROOT_DESTDIR}${bindir}/postinst-useradd-${PN}") + + if scriptfile: bb.utils.mkdirhier(os.path.dirname(scriptfile)) with open(scriptfile, 'w') as script: script.write("#!/bin/sh\n") bb.data.emit_func("useradd_sysroot", script, d) + if bb.msg.loggerVerboseLogs: + script.write("set -x\n") script.write("useradd_sysroot\n") os.chmod(scriptfile, 0o755) } -- 2.12.0 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
