On 05/20/2013 11:38 PM, Saul Wold wrote:
On 05/19/2013 07:50 PM, qi.c...@windriver.com wrote:
From: Chen Qi <qi.c...@windriver.com>

Enable postinst logging by checking the configuration in /etc/
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.c...@windriver.com>
---
  meta/recipes-devtools/rpm/rpm-postinsts.bb |   13 +++++++------
  1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/meta/recipes-devtools/rpm/rpm-postinsts.bb b/meta/recipes-devtools/rpm/rpm-postinsts.bb
index 3d2d05d..01d7450 100644
--- a/meta/recipes-devtools/rpm/rpm-postinsts.bb
+++ b/meta/recipes-devtools/rpm/rpm-postinsts.bb
@@ -11,10 +11,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() {
      :
  }
@@ -36,11 +32,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
-
+[ -e /etc/default/postinst ] && . /etc/default/postinst
  [ -d /etc/rpm-postinsts ] && for i in `ls /etc/rpm-postinsts/`; do
      i=/etc/rpm-postinsts/$i
      echo "Running postinst $i..."
-    if [ -f $i ] && $i ${REDIRECT_CMD}; then
+    if [ -x $i ]; then
+        if [ "$POSTINST_LOGGING" = "ENABLED" ]; then
+            $i >/var/log/postinstall.log 2&>1

This will over write the results of a previous postinstall because this is running in a for look, you should use >> instead of >.

I also suggested that the log file be a variable and you should use the ${localestatedir} as the base for /var. So you would add something like POSTINST_LOGFILE.

Thanks
    Sau!


Thanks for pointing the error out.

I'll fix it and send out a V3 soon.

Best Regards,
Chen Qi

+        else
+            $i
+        fi
          rm $i
      else
          echo "ERROR: postinst $i failed."




_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to