From 7841ee7041d04f11a3d879fb5bc60bb37de0a5c0 Mon Sep 17 00:00:00 2001 From: Saul Wold Date: Wed, 3 Apr 2013 15:38:46 -0700 Subject: rpm-postinsts: Split out run-postinsts 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] Signed-off-by: Saul Wold --- meta/recipes-devtools/rpm/rpm-postinsts.bb | 50 ++++++++++++++++++++++++++++++ meta/recipes-devtools/rpm/rpm_5.4.9.bb | 30 +----------------- 2 files changed, 51 insertions(+), 29 deletions(-) create mode 100644 meta/recipes-devtools/rpm/rpm-postinsts.bb (limited to 'meta') diff --git a/meta/recipes-devtools/rpm/rpm-postinsts.bb b/meta/recipes-devtools/rpm/rpm-postinsts.bb new file mode 100644 index 0000000000..27ef2aa384 --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm-postinsts.bb @@ -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 +} diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb index 7c3897c822..c7d21e87bf 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb @@ -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() { -- cgit v1.2.3