From 22b1f63223f2d817cf5ff0672e6925826afdf858 Mon Sep 17 00:00:00 2001 From: Hongxu Jia Date: Sat, 2 Mar 2013 17:12:59 +0800 Subject: package_deb.bbclass:fix meta-toolchain-sdk fail on do_populate_sdk When build meta-toolchain-sdk in a newly created environment, there is an error: ... packagegroup-core-standalone-gmae-sdk-target set to manually installed. You might want to run `apt-get -f install' to correct these: The following packages have unmet dependencies: avahi-dev: Depends: avahi (= 0.6.31-r6.1) but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution). ... In this case, avahi was installed and then removed by dpkg (the reason is unknown, only with log `Noting disappearance of avahi, which has been completely replaced'), the uninstall was done by dpkg rather than apt, and apt detected the package dependency was broken, so apt-get install failed. Use `apt-get install -f' to correct the upper broken dependencies in place. The removed avahi will be reinstalled. [YOCTO #3720] (From OE-Core rev: a66ed54490305380c549838f9a580528d5b49275) Signed-off-by: Hongxu Jia Signed-off-by: Richard Purdie --- meta/classes/package_deb.bbclass | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'meta/classes/package_deb.bbclass') diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass index 309c48da11..2f278009f0 100644 --- a/meta/classes/package_deb.bbclass +++ b/meta/classes/package_deb.bbclass @@ -117,12 +117,18 @@ package_install_internal_deb () { fi # normal install - for i in ${package_to_install}; do - apt-get install $i --force-yes --allow-unauthenticated + if [ ! -z "${package_to_install}" ]; then + apt-get install ${package_to_install} --force-yes --allow-unauthenticated if [ $? -ne 0 ]; then exit 1 fi - done + + # Attempt to correct the probable broken dependencies in place. + apt-get -f install + if [ $? -ne 0 ]; then + exit 1 + fi + fi rm -f `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID} if [ ! -z "${package_attemptonly}" ]; then -- cgit v1.2.3-54-g00ecf