package_rpm.bbclass: fix incremental rpm image generation

* 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>
This commit is contained in:
Robert Yang
2012-09-05 22:54:07 +08:00
committed by Richard Purdie
parent d401258b81
commit 092895cdb1

View 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