aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Oberritter <obi@opendreambox.org>2014-08-26 01:59:03 +0200
committerAndreas Oberritter <obi@opendreambox.org>2015-02-23 17:15:49 +0100
commitae848cde2a7356fe73ecc7c8d08390345afa7551 (patch)
treec2896f3dc9de4d400a2270a64bd78bf0a4e9bc0e
parent0593be4daa31278ce88dd1d08e3606b7b2f14348 (diff)
downloadopenembedded-core-contrib-ae848cde2a7356fe73ecc7c8d08390345afa7551.tar.gz
package_deb.bbclass: implement BAD_RECOMMENDATIONS
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
-rw-r--r--meta/classes/package_deb.bbclass16
-rw-r--r--meta/classes/rootfs_deb.bbclass6
2 files changed, 16 insertions, 6 deletions
diff --git a/meta/classes/package_deb.bbclass b/meta/classes/package_deb.bbclass
index 7a28a3915a..c56e143eb6 100644
--- a/meta/classes/package_deb.bbclass
+++ b/meta/classes/package_deb.bbclass
@@ -115,6 +115,22 @@ package_install_internal_deb () {
apt-get update
+ # prime the status file with bits that we don't want
+ for i in ${BAD_RECOMMENDATIONS}; do
+ pkginfo="`apt-cache show $i`"
+ if [ ! -z "$pkginfo" ]; then
+ # Take just the first package stanza as otherwise only
+ # the last one will have the right Status line.
+ echo "$pkginfo" | awk "/^Package:/ { print } \
+ /^Architecture:/ { print } \
+ /^Version:/ { print } \
+ /^$/ { exit } \
+ END { print \"Status: hold ok not-installed\n\" }" - >> ${IMAGE_ROOTFS}/var/lib/dpkg/status
+ else
+ echo "Requested ignored recommendation $i is not a package"
+ fi
+ done
+
if [ ! -z "${package_linguas}" ]; then
for i in ${package_linguas}; do
apt-get ${APT_ARGS} install $i --force-yes --allow-unauthenticated
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass
index 8613032f2a..14c83f05f3 100644
--- a/meta/classes/rootfs_deb.bbclass
+++ b/meta/classes/rootfs_deb.bbclass
@@ -11,12 +11,6 @@ rootfs_deb_do_rootfs[vardepsexclude] += "BUILDNAME"
do_rootfs[lockfiles] += "${DEPLOY_DIR_DEB}/deb.lock"
-python rootfs_deb_bad_recommendations() {
- if d.getVar("BAD_RECOMMENDATIONS", True):
- bb.warn("Debian package install does not support BAD_RECOMMENDATIONS")
-}
-do_rootfs[prefuncs] += "rootfs_deb_bad_recommendations"
-
DEB_POSTPROCESS_COMMANDS = ""
opkglibdir = "${localstatedir}/lib/opkg"