[OE-core] BAD_RECOMMENDATIONS with opkg and multiple architectures

Stefan Agner stefan at agner.ch
Thu Mar 19 22:23:04 UTC 2015


Hi,

We discovered an issue when using BAD_RECOMMENDATIONS while having
multiple architectures in one build directory and using the opkg package
format. In the problem at hand, we try to get rid of busybox-syslog, as
many images do, through BAD_RECOMMENDATIONS.

However, the package ended up in the image anyway. We discovered that in
daisy as well as in dizzy branch. In daisy branch, there is another,
related bug, where the multiple packages in BAD_RECOMMENDATIONS were not
handled correctly:
http://patchwork.openembedded.org/patch/82167/

However even with that patch, the package gets still installed. I digged
a bit deeper, and found that the opkg status file in the images rootfs
folder gets populated by handle_bad_recommendations with the expected
status "Status: deinstall hold not-installed". However, there were three
packages, for each architecture which the feed had a package for (which
was armv7ahf-vfp, armv7ahf-vfp-neon and armv7at2hf-vfp-neon in the case
at hand).

In the install steps, the package gets installed despite of the status
entries above. It looks like opkg can't handle multiple architecture
entries in the status file....

After cleaning up the package for all architectures and restart the
build again, the package was not installed anymore and the do_rootfs log
showed the expected output:

Installing busybox (1.22.1-r0) to root...
Downloading
file:/build/ags/oe-core/build/out-eglibc/deploy/ipk/armv7at2hf-vfp-neon/busybox_1.22.1-r0_armv7at2hf-vfp-neon.ipk.
busybox: ignoring recommendation for busybox-syslog at user request
busybox: unsatisfied recommendation for busybox-syslog
Installing update-alternatives-opkg (0.1.8+git0+c33b217016-r0) to
root...

Ideas how to solve that properly? Maybe create the status file with
packages of the current architecture only?

--
Stefan



More information about the Openembedded-core mailing list