diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2012-12-14 16:40:34 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-19 17:55:00 +0000 |
commit | 1874c8d7e234ba2f9dca46a7df216248ddc895c6 (patch) | |
tree | 04ed4f2043c850b5ebcd61375bfb77ba429ab803 /meta | |
parent | 84a5c63a57d60b1557268389cf333c69dd841fcd (diff) | |
download | poky-1874c8d7e234ba2f9dca46a7df216248ddc895c6.tar.gz |
package_rpm.bbclass: Refactor the attempt only install
Smart does not have a method to perform an install, but ignore failures.
There was a class of failures that stopped Smart from processing
attemptonly installs. To work around this we need to iterate over the to
be attempted list.
(From OE-Core rev: 7c11ab93242ad3453b730da79a641479de588227)
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.bbclass | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 05108b26f1..dc8a54e1f8 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -465,10 +465,14 @@ EOF | |||
465 | 465 | ||
466 | if [ -n "${package_attemptonly}" ]; then | 466 | if [ -n "${package_attemptonly}" ]; then |
467 | echo "Note: installing attempt only packages..." | 467 | echo "Note: installing attempt only packages..." |
468 | echo "Attempting $pkgs_to_install" | ||
468 | echo "Note: see `dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" | 469 | echo "Note: see `dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" |
469 | translate_oe_to_smart ${sdk_mode} --attemptonly $package_attemptonly | 470 | translate_oe_to_smart ${sdk_mode} --attemptonly $package_attemptonly |
470 | echo "Attempting $pkgs_to_install" | 471 | for each_pkg in $pkgs_to_install ; do |
471 | smart --data-dir=${target_rootfs}/var/lib/smart install -y $pkgs_to_install >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1 || true | 472 | # We need to try each package individually as a single dependency failure |
473 | # will break the whole set otherwise. | ||
474 | smart --data-dir=${target_rootfs}/var/lib/smart install -y $each_pkg >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1 || true | ||
475 | done | ||
472 | fi | 476 | fi |
473 | } | 477 | } |
474 | 478 | ||