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>
This commit is contained in:
Mark Hatle 2012-07-06 14:14:01 -05:00 committed by Richard Purdie
parent 54a18cc1e7
commit f40ce3e1f4
1 changed files with 5 additions and 5 deletions

View File

@ -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" \