diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2013-03-02 17:12:59 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-03-02 12:59:51 +0000 |
commit | 22b1f63223f2d817cf5ff0672e6925826afdf858 (patch) | |
tree | 359edcb19d8d64356c007dfc67549fdf6a945709 | |
parent | 8e73fb597ab7c518978c44beb75464dfdcdbd768 (diff) | |
download | poky-22b1f63223f2d817cf5ff0672e6925826afdf858.tar.gz |
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 <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes/package_deb.bbclass | 12 |
1 files changed, 9 insertions, 3 deletions
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 () { | |||
117 | fi | 117 | fi |
118 | 118 | ||
119 | # normal install | 119 | # normal install |
120 | for i in ${package_to_install}; do | 120 | if [ ! -z "${package_to_install}" ]; then |
121 | apt-get install $i --force-yes --allow-unauthenticated | 121 | apt-get install ${package_to_install} --force-yes --allow-unauthenticated |
122 | if [ $? -ne 0 ]; then | 122 | if [ $? -ne 0 ]; then |
123 | exit 1 | 123 | exit 1 |
124 | fi | 124 | fi |
125 | done | 125 | |
126 | # Attempt to correct the probable broken dependencies in place. | ||
127 | apt-get -f install | ||
128 | if [ $? -ne 0 ]; then | ||
129 | exit 1 | ||
130 | fi | ||
131 | fi | ||
126 | 132 | ||
127 | rm -f `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID} | 133 | rm -f `dirname ${BB_LOGFILE}`/log.do_${task}-attemptonly.${PID} |
128 | if [ ! -z "${package_attemptonly}" ]; then | 134 | if [ ! -z "${package_attemptonly}" ]; then |