package_rpm.bbclass: Workaround failure in attemptonly installs
authorMark Hatle <mark.hatle@windriver.com>
Thu, 3 Oct 2013 20:48:45 +0000 (20:48 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Oct 2013 08:37:32 +0000 (09:37 +0100)
[YOCTO #5313]

When performing an attemptonly install, we should skip an errors and
continue to install everything else.  However, there is a case where two
packages can conflict, and cause a hard failure.

This workaround, ignores this and allows the image to be constructed.
Note: Some items in the failed transaction may not get installed.

To fix this properly we need to find the issue in smart, and make it ignore
or at least attempt to resolve these kinds of conflicts.

(From OE-Core rev: 4228005689e31ebcafcf0969e80fcc021d1ae063)

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>
meta/classes/package_rpm.bbclass

index 05de1ff..98aa98b 100644 (file)
@@ -478,7 +478,7 @@ EOF
                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" >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}"
-               smart --data-dir=${target_rootfs}/var/lib/smart install --attempt -y ${pkgs_to_install} >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1
+               smart --data-dir=${target_rootfs}/var/lib/smart install --attempt -y ${pkgs_to_install} >> "`dirname ${BB_LOGFILE}`/log.do_${task}_attemptonly.${PID}" 2>&1 || :
        fi
 }