Skip to contentSkip to conversation

Fix meta-toolchain and meta-toolchain-gmae install problems

PATCH New Mark Hatle 1 participant 3 messages Jan 18, 2013

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

cover Fix meta-toolchain and meta-toolchain-gmae install problems

The following changes since commit 18bc7b44ef58cbcbe32d45504d71eed54ef695a4:

guilt: add git 1.8.x support (2013-01-18 13:20:56 +0000)

are available in the git repository at:
git://git.yoctoproject.org/poky-contrib mhatle/ua-dep
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=mhatle/ua-dep

Mark Hatle (2):
populate_sdk_rpm: Re-add a few system provides to the SDK
update-alternatives: Add a build-time dependency

 meta/classes/populate_sdk_rpm.bbclass          |    4 +++-
 meta/classes/update-alternatives.bbclass       |   13 +++++++++++++
 meta/conf/distro/include/default-providers.inc |    2 +-
 3 files changed, 17 insertions(+), 2 deletions(-)
author
#1 lore raw

PATCH 1/2 populate_sdk_rpm: Re-add a few system provides to the SDK

When building the target SDK portion, we can safely ignore various package rdepends. These dependencies are not required on a build only environment like an SDK.

[YOCTO #3691]

---
 meta/classes/populate_sdk_rpm.bbclass |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
meta/classes/populate_sdk_rpm.bbclass +3 -1
index eb80e1d..00a3ab4 100644
@@ -43,7 +43,9 @@ populate_sdk_rpm () {
 	export INSTALL_PACKAGES_RPM="${TOOLCHAIN_TARGET_TASK}"
 	export INSTALL_PACKAGES_ATTEMPTONLY_RPM="${TOOLCHAIN_TARGET_TASK_ATTEMPTONLY}"
 	export INSTALL_PACKAGES_LINGUAS_RPM=""
-	export INSTALL_PROVIDENAME_RPM=""
+	# We don't need any of these runtime items for the SDK, so
+	# just make the system assume they exist.
+	export INSTALL_PROVIDENAME_RPM="/bin/sh /bin/bash /usr/bin/env /usr/bin/perl pkgconfig"
 	export INSTALL_TASK_RPM="populate_sdk-target"
 	export INSTALL_COMPLEMENTARY_RPM=""
 	export INTERCEPT_DIR=${WORKDIR}/intercept_scripts
Signature · 1 line
1.7.1
author
#2 lore raw

PATCH 2/2 update-alternatives: Add a build-time dependency

In reply to Mark Hatle

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]

---
 meta/classes/update-alternatives.bbclass       |   13 +++++++++++++
 meta/conf/distro/include/default-providers.inc |    2 +-
 2 files changed, 14 insertions(+), 1 deletions(-)
meta/classes/update-alternatives.bbclass +13 -0
index 556ee7c..a75e282 100644
@@ -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):
meta/conf/distro/include/default-providers.inc +1 -1
index 8ed703c..93752b3 100644
@@ -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"
Signature · 1 line
1.7.1