summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm
diff options
context:
space:
mode:
authorKang Kai <kai.kang@windriver.com>2013-02-25 10:57:24 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-01 13:03:26 +0000
commitc2fefcdc185e8e43ac4aa8c31d03ae70f113eeee (patch)
tree6857a850ef0b590744948efe377aa9040879e69d /meta/recipes-devtools/rpm
parent0ca565d70c9803b7386996c9fb0c843078ad62f6 (diff)
downloadast2050-yocto-poky-c2fefcdc185e8e43ac4aa8c31d03ae70f113eeee.zip
ast2050-yocto-poky-c2fefcdc185e8e43ac4aa8c31d03ae70f113eeee.tar.gz
rootfs_rpm: move run-postinsts scripts to rpm recipe
Move run-postinsts scripts from rootfs_rpm.bbclass to rpm recipe. That is the same way for dpkg and opkg to deal the post install scripts. (From OE-Core rev: 04607b0cd496837f10ef78cf43597ec1d2e13f2e) Signed-off-by: Kang Kai <kai.kang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rpm')
-rw-r--r--meta/recipes-devtools/rpm/rpm_5.4.9.bb23
1 files changed, 23 insertions, 0 deletions
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index 39b0481..0b014b6 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
@@ -369,6 +369,11 @@ do_configure() {
oe_runconf
}
+#
+# Allow distributions to alter when [postponed] package install scripts are run
+#
+POSTINSTALL_INITPOSITION ?= "98"
+
do_install_append() {
sed -i -e 's,%__check_files,#%%__check_files,' ${D}/${libdir}/rpm/macros
sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros
@@ -445,6 +450,24 @@ do_install_append() {
rm -rf ${D}/var/lib/wdj ${D}/var/cache/wdj
rm -f ${D}/${libdir}/rpm/bin/api-sanity-checker.pl
+
+ install -d ${D}/${sysconfdir}/rcS.d
+ # Stop $i getting expanded below...
+ i=\$i
+ cat > ${D}${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts << EOF
+#!/bin/sh
+for i in \`ls /etc/rpm-postinsts/\`; do
+ i=/etc/rpm-postinsts/$i
+ echo "Running postinst $i..."
+ if [ -f $i ] && $i; then
+ rm $i
+ else
+ echo "ERROR: postinst $i failed."
+ fi
+done
+rm -f ${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
+EOF
+ chmod 0755 ${D}${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts
}
do_install_append_class-native() {
OpenPOWER on IntegriCloud