diff options
author | Chen Qi <Qi.Chen@windriver.com> | 2013-05-23 12:43:36 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-05-23 10:28:00 +0100 |
commit | 6f2aa32f10c24c84e581128bb3a976ef071197ac (patch) | |
tree | 5f6d6d599945eba3d1fa89f40c88cb9e20332d89 /meta/recipes-devtools | |
parent | 35be6ffc19a5156aa029397707f1e6869684b821 (diff) | |
download | openembedded-core-6f2aa32f10c24c84e581128bb3a976ef071197ac.tar.gz openembedded-core-6f2aa32f10c24c84e581128bb3a976ef071197ac.tar.bz2 openembedded-core-6f2aa32f10c24c84e581128bb3a976ef071197ac.zip |
rpm-postinsts.bb: enable postinst logging
Enable postinst logging by checking the configuration in ${sysconfdir}
/default/postinst.
In this way, the postinst logging is enabled if 'debug-tweaks' is
in IMAGE_FEATURES, and at the same time, we avoid unnecessary rebuild
if IMAGE_FEATURES is changed.
[YOCTO #4262]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm-postinsts.bb | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/meta/recipes-devtools/rpm/rpm-postinsts.bb b/meta/recipes-devtools/rpm/rpm-postinsts.bb index 3c0f520d28..c8fc1c33f4 100644 --- a/meta/recipes-devtools/rpm/rpm-postinsts.bb +++ b/meta/recipes-devtools/rpm/rpm-postinsts.bb @@ -9,10 +9,6 @@ inherit allarch # POSTINSTALL_INITPOSITION ?= "98" -POSTLOG ?= "/var/log/postinstall.log" -REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', '>>${POSTLOG} 2>&1', '', d)}" -REDIRECT_CMD[vardepsexclude] += "IMAGE_FEATURES POSTLOG" - do_fetch() { : } @@ -34,11 +30,16 @@ if [ "x$D" != "x" ] && [ -f $D/var/lib/rpm/Packages ]; then install -d $D/${sysconfdir}/rcS.d cat > $D${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts << "EOF" #!/bin/sh - -[ -d /etc/rpm-postinsts ] && for i in `ls /etc/rpm-postinsts/`; do - i=/etc/rpm-postinsts/$i +[ -e ${sysconfdir}/default/postinst ] && . ${sysconfdir}/default/postinst +[ -d ${sysconfdir}/rpm-postinsts ] && for i in `ls ${sysconfdir}/rpm-postinsts/`; do + i=${sysconfdir}/rpm-postinsts/$i echo "Running postinst $i..." - if [ -f $i ] && $i ${REDIRECT_CMD}; then + if [ -x $i ]; then + if [ "$POSTINST_LOGGING" = "1" ]; then + $i >>$LOGFILE 2&>1 + else + $i + fi rm $i else echo "ERROR: postinst $i failed." |