]> code.ossystems Code Review - openembedded-core.git/commitdiff
rpm-postinsts.bb: enable postinst logging
authorChen Qi <Qi.Chen@windriver.com>
Thu, 23 May 2013 04:43:36 +0000 (12:43 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 May 2013 09:28:00 +0000 (10:28 +0100)
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>
meta/recipes-devtools/rpm/rpm-postinsts.bb

index 3c0f520d2875e631b01f2a3b48418cb03a19de6a..c8fc1c33f45afdaaac5d873a9e38cdd9b66053f6 100644 (file)
@@ -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."