From 8821664fad09d2dac1bcb93f7281faaa1fefebda Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 3 Sep 2008 23:22:06 +0000 Subject: rootfs_rpm.bbclass: Add basic postinstall handling during image creation git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5134 311d38ba-8fff-0310-9ca6-ca027cbcb966 --- meta/classes/rootfs_rpm.bbclass | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'meta') diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass index 7e439f3a5..6339a2147 100644 --- a/meta/classes/rootfs_rpm.bbclass +++ b/meta/classes/rootfs_rpm.bbclass @@ -12,6 +12,8 @@ do_rootfs[recrdeptask] += "do_package_write_rpm" YUMCONF = "${IMAGE_ROOTFS}/etc/yum.conf" YUMARGS = "-c ${YUMCONF} --installroot ${IMAGE_ROOTFS}" +AWKPOSTINSTSCRIPT = "${STAGING_BINDIR_NATIVE}/extract-postinst.awk" + fakeroot rootfs_rpm_do_rootfs () { set -x @@ -67,26 +69,26 @@ EOF fakechroot yum ${YUMARGS} -y install ${PACKAGE_INSTALL} fi - #export D=${IMAGE_ROOTFS} - #export OFFLINE_ROOT=${IMAGE_ROOTFS} - #export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} - #export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT} + export D=${IMAGE_ROOTFS} + export OFFLINE_ROOT=${IMAGE_ROOTFS} + export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} + export OPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} #mkdir -p ${IMAGE_ROOTFS}/etc/opkg/ #grep "^arch" ${IPKGCONF_TARGET} >${IMAGE_ROOTFS}/etc/opkg/arch.conf ${ROOTFS_POSTINSTALL_COMMAND} - - #for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.preinst; do - # if [ -f $i ] && ! sh $i; then - # opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` - # fi - #done - #for i in ${IMAGE_ROOTFS}${libdir}/opkg/info/*.postinst; do - # if [ -f $i ] && ! sh $i configure; then - # opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` - # fi - #done + + mkdir -p ${IMAGE_ROOTFS}/etc/rpm-postinsts/ + rpm --root ${IMAGE_ROOTFS} -aq --queryformat 'Name: %{NAME}\n' --scripts > ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + awk -f ${AWKPOSTINSTSCRIPT} < ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + rm ${IMAGE_ROOTFS}/etc/rpm-postinsts/combined + + for i in ${IMAGE_ROOTFS}/etc/rpm-postinsts/*.sh; do + if [ -f $i ] && sh $i; then + rm $i + fi + done install -d ${IMAGE_ROOTFS}/${sysconfdir} echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version -- cgit v1.2.3