]> code.ossystems Code Review - openembedded-core.git/commitdiff
rootfs_rpm.bbclass: save rpmlib rather than remove it
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 7 Jun 2012 23:37:10 +0000 (16:37 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 8 Jun 2012 10:39:34 +0000 (11:39 +0100)
The rpmlib was removed when images that add
"remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, 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@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/image.bbclass
meta/classes/rootfs_rpm.bbclass

index 573c90539c6bd261c7b43f38a015e95087d39cff..fb932b9d66edfce1afd387bc420fefe6f08a8659 100644 (file)
@@ -143,6 +143,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}
index 9039b21a07da0210c94073c4dae93fb9ddd2cbf0..fbc46c056a51e138121bb4023aea96682a5ba3ad 100644 (file)
@@ -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}
 }