From patchwork Mon Jul 9 15:47:45 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [CONSOLIDATED, PULL, 31/41] package_rpm: Avoid duplicate package generation failures Date: Mon, 09 Jul 2012 15:47:45 -0000 From: Saul Wold X-Patchwork-Id: 31483 Message-Id: To: openembedded-core@lists.openembedded.org From: Mark Hatle 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.) Signed-off-by: Mark Hatle --- 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 78279f5..2a29917 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass @@ -318,7 +318,7 @@ package_install_internal_rpm () { --root "${target_rootfs}/install" \ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-base_archs.macro`" \ -D "__dbi_txn create nofsync" \ - -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ + -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ ${target_rootfs}/install/install.manifest fi @@ -348,7 +348,7 @@ package_install_internal_rpm () { --root "${target_rootfs}/install" \ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \ -D "__dbi_txn create nofsync private" \ - -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ + -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" || true done fi @@ -399,7 +399,7 @@ package_install_internal_rpm () { --root "${target_rootfs}/install" \ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}.macro`" \ -D "__dbi_txn create nofsync private" \ - -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ + -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ $pkg_name >> "`dirname ${BB_LOGFILE}`/log.do_${task}_recommend.${PID}" 2>&1 || true done 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 () { --root "${target_rootfs}/install" \ -D "_dbpath ${target_rootfs}/install" -D "`cat ${confbase}-ml_archs.macro`" \ -D "__dbi_txn create nofsync" \ - -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ + -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ ${target_rootfs}/install/install_multilib.manifest # Now that we have a solution, pull out a list of what to install... @@ -524,7 +524,7 @@ EOF --root "${target_rootfs}/install" \ -D "_dbpath ${target_rootfs}/initial" -D "`cat ${confbase}.macro`" \ -D "__dbi_txn create nofsync" \ - -U --justdb --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ + -U --justdb --replacepkgs --noscripts --notriggers --noparentdirs --nolinktos --ignoresize \ ${target_rootfs}/install/initial_install.manifest ${RPM} -D "_dbpath ${target_rootfs}/initial" -qa --qf "%{packageorigin}\n" \