[OE-core] [PATCH 2/2] rootfs_rpm.bbclass: save rpmlib rather than remove it
Robert Yang
liezhi.yang at windriver.com
Mon May 14 08:11:34 UTC 2012
The rpmlib was removed when core-image-minimal, which would make the
increment rpm image generation doesn't work in the second build, since
list_installed_packages would get incorrect value in the second build,
move the rpmlib to ${T} rather than remove it, and move it back when
INC_RPM_IMAGE_GEN =1.
[YOCTO #2440]
Signed-off-by: Robert Yang <liezhi.yang at windriver.com>
---
meta/classes/image.bbclass | 6 ++++++
meta/classes/rootfs_rpm.bbclass | 6 +++++-
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 4610731..b5fca32 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -142,6 +142,12 @@ fakeroot do_rootfs () {
# When use the rpm incremental image generation, don't remove the rootfs
if [ "${INC_RPM_IMAGE_GEN}" != "1" -o "${IMAGE_PKGTYPE}" != "rpm" ]; then
rm -rf ${IMAGE_ROOTFS}
+ elif [ -d ${T}/saved_rpmlib/var/lib/rpm ]; then
+ # Move the rpmlib back
+ if [ ! -d ${IMAGE_ROOTFS}/var/lib/rpm ]; then
+ mkdir -p ${IMAGE_ROOTFS}/var/lib/
+ mv ${T}/saved_rpmlib/var/lib/rpm ${IMAGE_ROOTFS}/var/lib/
+ fi
fi
rm -rf ${MULTILIB_TEMP_ROOTFS}
mkdir -p ${IMAGE_ROOTFS}
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 9039b21..fbc46c0 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -154,7 +154,11 @@ EOF
}
remove_packaging_data_files() {
- rm -rf ${IMAGE_ROOTFS}${rpmlibdir}
+ # Save the rpmlib for increment rpm image generation
+ t="${T}/saved_rpmlib/var/lib"
+ rm -fr $t
+ mkdir -p $t
+ mv ${IMAGE_ROOTFS}${rpmlibdir} $t
rm -rf ${IMAGE_ROOTFS}${opkglibdir}
}
--
1.7.1
More information about the Openembedded-core
mailing list