summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-10-05 11:21:51 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-10-10 15:24:11 +0100
commitfdabda63451ecfce24ccf69c409fbca359df15a9 (patch)
treebdc69507cab2b866cab22d51209042dd59e539ca /meta
parent99dabeb2e91af7d0d6631ca3dd74a4c09d9b4b4b (diff)
downloadpoky-fdabda63451ecfce24ccf69c409fbca359df15a9.tar.gz
package_rpm.bbclass: Fix an issue where complementary installs fail
Also ensure that we always cleanup the temporary install manifest files, some of them will cause problems if they exist in multiple install attempts. Finally verify that the lists remain uniquely sorted otherwise the complementary install may install the same files numerous times, triggering a failure. (From OE-Core rev: 4f2a290cbcc6c21afbb2a6e6148efdef4d135b41) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/package_rpm.bbclass14
1 files changed, 9 insertions, 5 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index c491775976..1ff92cea5f 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -324,11 +324,15 @@ package_install_internal_rpm () {
324 rm -f $m 324 rm -f $m
325 fi 325 fi
326 done 326 done
327 sort -u ${target_rootfs}/install/original_solution.manifest -o ${target_rootfs}/install/original_solution.manifest.new
328 mv ${target_rootfs}/install/original_solution.manifest.new ${target_rootfs}/install/original_solution.manifest
327 fi 329 fi
328 330
329 # Setup manifest of packages to install... 331 # Setup manifest of packages to install...
330 mkdir -p ${target_rootfs}/install 332 mkdir -p ${target_rootfs}/install
331 rm -f ${target_rootfs}/install/install.manifest 333 rm -f ${target_rootfs}/install/install.manifest
334 rm -f ${target_rootfs}/install/install_multilib.manifest
335 rm -f ${target_rootfs}/install/install_attemptonly.manifest
332 336
333 # Uclibc builds don't provide this stuff... 337 # Uclibc builds don't provide this stuff...
334 if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then 338 if [ x${TARGET_OS} = "xlinux" ] || [ x${TARGET_OS} = "xlinux-gnueabi" ] ; then
@@ -428,7 +432,7 @@ package_install_internal_rpm () {
428 fi 432 fi
429 433
430 # Now that we have a solution, pull out a list of what to install... 434 # Now that we have a solution, pull out a list of what to install...
431 echo "Manifest: ${target_rootfs}/install/install.manifest" 435 echo "Manifest: ${target_rootfs}/install/install_solution.manifest"
432 ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \ 436 ${RPM} -D "_dbpath ${target_rootfs}/install" -qa --qf "%{packageorigin}\n" \
433 --root "${target_rootfs}/install" \ 437 --root "${target_rootfs}/install" \
434 -D "__dbi_txn create nofsync private" \ 438 -D "__dbi_txn create nofsync private" \
@@ -459,8 +463,8 @@ package_install_internal_rpm () {
459 463
460 fi 464 fi
461 465
462 cat ${target_rootfs}/install/install_solution.manifest > ${target_rootfs}/install/total_solution.manifest 466 cat ${target_rootfs}/install/install_solution.manifest \
463 cat ${target_rootfs}/install/install_multilib_solution.manifest >> ${target_rootfs}/install/total_solution.manifest 467 ${target_rootfs}/install/install_multilib_solution.manifest | sort -u > ${target_rootfs}/install/total_solution.manifest
464 468
465 # Construct install scriptlet wrapper 469 # Construct install scriptlet wrapper
466 cat << EOF > ${WORKDIR}/scriptlet_wrapper 470 cat << EOF > ${WORKDIR}/scriptlet_wrapper
@@ -521,8 +525,8 @@ EOF
521 if [ "${INSTALL_COMPLEMENTARY_RPM}" = "1" ] ; then 525 if [ "${INSTALL_COMPLEMENTARY_RPM}" = "1" ] ; then
522 # Only install packages not already installed (dependency calculation will 526 # Only install packages not already installed (dependency calculation will
523 # almost certainly have added some that have been) 527 # almost certainly have added some that have been)
524 sort ${target_rootfs}/install/original_solution.manifest > ${target_rootfs}/install/original_solution_sorted.manifest 528 sort -u ${target_rootfs}/install/original_solution.manifest > ${target_rootfs}/install/original_solution_sorted.manifest
525 sort ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution_sorted.manifest 529 sort -u ${target_rootfs}/install/total_solution.manifest > ${target_rootfs}/install/total_solution_sorted.manifest
526 comm -2 -3 ${target_rootfs}/install/total_solution_sorted.manifest \ 530 comm -2 -3 ${target_rootfs}/install/total_solution_sorted.manifest \
527 ${target_rootfs}/install/original_solution_sorted.manifest > \ 531 ${target_rootfs}/install/original_solution_sorted.manifest > \
528 ${target_rootfs}/install/diff.manifest 532 ${target_rootfs}/install/diff.manifest