[oe-commits] Mark Hatle : package_rpm.bbclass: Refactor the attempt only install

git at git.openembedded.org git at git.openembedded.org
Wed Dec 19 18:02:14 UTC 2012


Module: openembedded-core.git
Branch: master-next
Commit: 7c11ab93242ad3453b730da79a641479de588227
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=7c11ab93242ad3453b730da79a641479de588227

Author: Mark Hatle <mark.hatle at windriver.com>
Date:   Fri Dec 14 16:40:34 2012 -0600

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.

Signed-off-by: Mark Hatle <mark.hatle at windriver.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>

---

 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 05108b2..dc8a54e 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -465,10 +465,14 @@ EOF
 
 	if [ -n "${package_attemptonly}" ]; then
 		echo "Note: installing attempt only packages..."
+		echo "Attempting $pkgs_to_install"
 		echo "Note: see `dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}"
 		translate_oe_to_smart ${sdk_mode} --attemptonly $package_attemptonly
-		echo "Attempting $pkgs_to_install"
-		smart --data-dir=${target_rootfs}/var/lib/smart install -y $pkgs_to_install >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1 || true
+		for each_pkg in $pkgs_to_install ;  do
+			# We need to try each package individually as a single dependency failure
+			# will break the whole set otherwise.
+			smart --data-dir=${target_rootfs}/var/lib/smart install -y $each_pkg >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1 || true
+		done
 	fi
 }
 





More information about the Openembedded-commits mailing list