rpm-postinsts: Split out run-postinsts
authorSaul Wold <sgw@linux.intel.com>
Wed, 3 Apr 2013 22:38:46 +0000 (15:38 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Apr 2013 13:04:42 +0000 (14:04 +0100)
This patch allows for the run-postinsts script to be provided outside
of the rpm package itself and not pull in all the associated build
dependencies.

[YOCTO 4175]

(From OE-Core rev: 7841ee7041d04f11a3d879fb5bc60bb37de0a5c0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/rpm-postinsts.bb [new file with mode: 0644]
meta/recipes-devtools/rpm/rpm_5.4.9.bb

diff --git a/meta/recipes-devtools/rpm/rpm-postinsts.bb b/meta/recipes-devtools/rpm/rpm-postinsts.bb
new file mode 100644 (file)
index 0000000..27ef2aa
--- /dev/null
@@ -0,0 +1,50 @@
+DESCRIPTION = "RPM postinstall script"
+SECTION = "core"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780"
+
+RDEPENDS_${PN} = "base-files"
+
+inherit update-rc.d allarch
+#
+# Allow distributions to alter when [postponed] package install scripts are run
+#
+POSTINSTALL_INITPOSITION ?= "98"
+
+INITSCRIPT_NAME = "run-postinsts"
+INITSCRIPT_PARAMS = "start ${{POSTINSTALL_INITPOSITION} S ."
+
+POSTLOG ?= "/var/log/postinstall.log"
+REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', '>>${POSTLOG} 2>&1', '', d)}"
+
+do_fetch() {
+       :
+}
+
+do_configure() {
+       :
+}
+
+do_compile() {
+       :
+}
+
+do_install() {
+       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 ${REDIRECT_CMD}; 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
+}
index 7c3897c..c7d21e8 100644 (file)
@@ -200,7 +200,7 @@ CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
 
 LDFLAGS_append_libc-uclibc = "-lrt -lpthread"
 
-PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm-staticdev python-rpm-dev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale ${PN}-postinsts"
+PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-dbg python-rpm-staticdev python-rpm-dev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
 
 SOLIBS = "5.4.so"
 
@@ -228,9 +228,6 @@ FILES_${PN} =  "${bindir}/rpm \
 
 RDEPENDS_${PN} += "${PN}-postinsts"
 
-FILES_${PN}-postinsts = "${sysconfdir}/rcS.d/S${POSTINSTALL_INITPOSITION}run-postinsts \
-                "
-
 FILES_${PN}-dbg += "${libdir}/rpm/.debug \
                ${libdir}/rpm/bin/.debug \
                "
@@ -375,14 +372,6 @@ do_configure() {
        oe_runconf
 }
 
-#
-# Allow distributions to alter when [postponed] package install scripts are run
-#
-POSTINSTALL_INITPOSITION ?= "98"
-
-POSTLOG ?= "/var/log/postinstall.log"
-REDIRECT_CMD = "${@base_contains('IMAGE_FEATURES', 'debug-tweaks', '>>${POSTLOG} 2>&1', '', d)}"
-
 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
@@ -460,23 +449,6 @@ 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 ${REDIRECT_CMD}; 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() {