summaryrefslogtreecommitdiffstats
path: root/meta/classes
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-12-14 16:40:34 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-19 17:55:00 +0000
commit1874c8d7e234ba2f9dca46a7df216248ddc895c6 (patch)
tree04ed4f2043c850b5ebcd61375bfb77ba429ab803 /meta/classes
parent84a5c63a57d60b1557268389cf333c69dd841fcd (diff)
downloadpoky-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/classes')
-rw-r--r--meta/classes/package_rpm.bbclass8
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