summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-07-06 14:14:01 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-09 11:38:02 +0100
commitf40ce3e1f4ceebc90b3c058dc82750829149c21d (patch)
tree21dc8821835bb2fe44354b17fd8199dbacfb3a28
parent54a18cc1e7a2d39d60c52d81f5f30a6e573da509 (diff)
downloadpoky-f40ce3e1f4ceebc90b3c058dc82750829149c21d.tar.gz
package_rpm: Avoid duplicate package generation failures
When constructing a multilib based image, it's possible to end up with the same package listed in multiple steps of the install. During resolution we use the --replacepkgs option to avoid errors, as the resulting install solution will be as expected. (We do not enable the replacepkgs option for the final install step, only the generation of the install solution.) (From OE-Core rev: 68ea7d827710ae7c5cf402887d4c12319038e064) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package_rpm.bbclass10
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 78279f59b3..2a2991768b 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -318,7 +318,7 @@ package_install_internal_rpm () {
318 --root "${target_rootfs}/install" \ 318 --root "${target_rootfs}/install" \
319 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-base_archs.macro`" \ 319 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-base_archs.macro`" \
320 -D "__dbi_txn create nofsync" \ 320 -D "__dbi_txn create nofsync" \
321 -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ 321 -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
322 ${target_rootfs}/install/install.manifest 322 ${target_rootfs}/install/install.manifest
323 fi 323 fi
324 324
@@ -348,7 +348,7 @@ package_install_internal_rpm () {
348 --root "${target_rootfs}/install" \ 348 --root "${target_rootfs}/install" \
349 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \ 349 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
350 -D "__dbi_txn create nofsync private" \ 350 -D "__dbi_txn create nofsync private" \
351 -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ 351 -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
352 $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" || true 352 $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" || true
353 done 353 done
354 fi 354 fi
@@ -399,7 +399,7 @@ package_install_internal_rpm () {
399 --root "${target_rootfs}/install" \ 399 --root "${target_rootfs}/install" \
400 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \ 400 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \
401 -D "__dbi_txn create nofsync private" \ 401 -D "__dbi_txn create nofsync private" \
402 -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ 402 -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
403 $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_recommend.${PID}" 2>&1 || true 403 $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_recommend.${PID}" 2>&1 || true
404 done 404 done
405 cat ${target_rootfs}/install/recommend.list ${target_rootfs}/install/recommend.new | sort -u > ${target_rootfs}/install/recommend.new.list 405 cat ${target_rootfs}/install/recommend.list ${target_rootfs}/install/recommend.new | sort -u > ${target_rootfs}/install/recommend.new.list
@@ -428,7 +428,7 @@ package_install_internal_rpm () {
428 --root "${target_rootfs}/install" \ 428 --root "${target_rootfs}/install" \
429 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-ml_archs.macro`" \ 429 -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-ml_archs.macro`" \
430 -D "__dbi_txn create nofsync" \ 430 -D "__dbi_txn create nofsync" \
431 -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ 431 -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
432 ${target_rootfs}/install/install_multilib.manifest 432 ${target_rootfs}/install/install_multilib.manifest
433 433
434 # 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...
@@ -524,7 +524,7 @@ EOF
524 --root "${target_rootfs}/install" \ 524 --root "${target_rootfs}/install" \
525 -D "_dbpath ${target_rootfs}/initial" -D "`cat ${confbase}.macro`" \ 525 -D "_dbpath ${target_rootfs}/initial" -D "`cat ${confbase}.macro`" \
526 -D "__dbi_txn create nofsync" \ 526 -D "__dbi_txn create nofsync" \
527 -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ 527 -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \
528 ${target_rootfs}/install/initial_install.manifest 528 ${target_rootfs}/install/initial_install.manifest
529 529
530 ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \ 530 ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \