package_rpm.bbclass: fix incremental rpm image generation
authorRobert Yang <liezhi.yang@windriver.com>
Wed, 5 Sep 2012 14:54:07 +0000 (22:54 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 10 Sep 2012 12:01:48 +0000 (13:01 +0100)
* Check ${target_rootfs}/etc/passwd rather than
  ${target_rootfs}${rpmlibdir} to make sure that it has been previously
  installed.

* Remove the "--nodeps" when incremental image generation, it should
  take care of the dependencies. Still use "--replacefiles --replacepkgs" in
  case there are conflicts.

[YOCTO #3047]

(From OE-Core rev: 2b3df2ec7979a49842df172be442a8794fe68fff)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_rpm.bbclass

index 43cdd57..5f0e1d0 100644 (file)
@@ -191,7 +191,7 @@ rpm_update_pkg () {
 
         # Attempt to install the incremental pkgs
         if [ -s $installdir/incremental.manifest ]; then
-            rpm_common_comand --nodeps --replacefiles --replacepkgs \
+            rpm_common_comand --replacefiles --replacepkgs \
                -Uvh $installdir/incremental.manifest
         fi
     else
@@ -517,7 +517,7 @@ EOF
                        ${target_rootfs}/install/original_solution_sorted.manifest > \
                        ${target_rootfs}/install/diff.manifest
                mv ${target_rootfs}/install/diff.manifest ${target_rootfs}/install/total_solution.manifest
-       elif [ "${INC_RPM_IMAGE_GEN}" = "1" -a -d "${target_rootfs}${rpmlibdir}" ]; then
+       elif [ "${INC_RPM_IMAGE_GEN}" = "1" -a -f "${target_rootfs}/etc/passwd" ]; then
                echo "Skipping pre install due to existing image"
        else
                # RPM is special. It can't handle dependencies and preinstall scripts correctly. Its