diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2012-07-06 14:14:01 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-07-09 11:38:02 +0100 |
commit | f40ce3e1f4ceebc90b3c058dc82750829149c21d (patch) | |
tree | 21dc8821835bb2fe44354b17fd8199dbacfb3a28 /meta/classes/package_rpm.bbclass | |
parent | 54a18cc1e7a2d39d60c52d81f5f30a6e573da509 (diff) | |
download | poky-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>
Diffstat (limited to 'meta/classes/package_rpm.bbclass')
-rw-r--r-- | meta/classes/package_rpm.bbclass | 10 |
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" \ |