update-alternatives: Add a build-time dependency

We need to add a build time dependency on virtual/update-alternatives,
however we can't just do DEPENDS +=, or we end up with various problems.  To
work around this, in the anonymous python space we ensure we only do the
addition when the package does not provide virtual/update-alternatives and
it is a target package.

Also the system wide PREFERRED_PROVIDER was incorrect.  It references a
runtime package, and not the recipe it should have.  This has been corrected.

[YOCTO #3691]

(From OE-Core rev: 56a59ef12936dcc6464cf1d43dda6957a5aa8c65)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Tested-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mark Hatle 2013-01-18 17:13:38 -06:00 committed by Richard Purdie
parent 3df0d2390d
commit 59e15f6712
2 changed files with 14 additions and 1 deletions

View File

@ -167,12 +167,25 @@ def gen_updatealternativesvardeps(d):
continue
d.appendVar('%s_VARDEPS_%s' % (v,p), ' %s:%s' % (flag, d.getVarFlag('%s_%s' % (v,p), flag, False)))
def ua_extend_depends(d):
if not 'virtual/update-alternatives' in d.getVar('PROVIDES', True):
d.appendVar('DEPENDS', ' virtual/update-alternatives')
python __anonymous() {
# Update Alternatives only works on target packages...
if bb.data.inherits_class('native', d) or bb.data.inherits_class('nativesdk', d) or \
bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or \
bb.data.inherits_class('cross-canadian', d):
return
# deprecated stuff...
update_alternatives_after_parse(d)
# compute special vardeps
gen_updatealternativesvardeps(d)
# extend the depends to include virtual/update-alternatives
ua_extend_depends(d)
}
def gen_updatealternativesvars(d):

View File

@ -8,7 +8,7 @@ PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xorg"
PREFERRED_PROVIDER_virtual/libgl ?= "mesa-dri"
PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa-dri"
PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa-dri"
PREFERRED_PROVIDER_virtual/update-alternatives ?= "update-alternatives-cworth"
PREFERRED_PROVIDER_virtual/update-alternatives ?= "opkg"
PREFERRED_PROVIDER_virtual/update-alternatives-native ?= "opkg-native"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11"
PREFERRED_PROVIDER_xf86-video-intel ?= "xf86-video-intel"