summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
diff options
context:
space:
mode:
authorChen Qi <Qi.Chen@windriver.com>2013-05-23 12:43:36 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-05-23 10:28:00 +0100
commit6f2aa32f10c24c84e581128bb3a976ef071197ac (patch)
tree5f6d6d599945eba3d1fa89f40c88cb9e20332d89 /meta/recipes-devtools
parent35be6ffc19a5156aa029397707f1e6869684b821 (diff)
downloadopenembedded-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.bb17
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."