summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilippe Coval <philippe.coval@osg.samsung.com>2017-01-09 11:23:40 +0100
committerPhil Coval <philippe.coval@osg.samsung.com>2017-01-14 10:24:28 +0000
commite8753546fca9353e46daaf0f80d201bfdd2f8940 (patch)
treebae82718ff368c5e36dee170557f886ccbbfc2cb
parent35ce224f61855b5184a6fd4428c92d9975571953 (diff)
meta-oic: Hotfix to use tools from sysroot before system PATH
Prevent pkg-config not found issue This patch was in iotivity 1.1-rel branch, and (wrongly) removed in 1.2.0 So it needed to be reintroduced in upstream 1.2-rel and as a patch for 1.2.0, track upstream bug at: https://jira.iotivity.org/browse/IOT-1219 Bug-AGL: SPEC-158 Thanks-to: Alison Chaiken Change-Id: I6af59a590f8be489398623d29cf85c2f00000002 Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com> (cherry picked from commit 7dd5a4100ffb71337c59046120c3c41547cb7f2b)
-rw-r--r--meta-agl-bsp/meta-oic/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch93
-rw-r--r--meta-agl-bsp/meta-oic/recipes-core/iotivity/iotivity_1.2.0.bbappend1
2 files changed, 94 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-oic/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch b/meta-agl-bsp/meta-oic/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch
new file mode 100644
index 000000000..b8493c0b6
--- /dev/null
+++ b/meta-agl-bsp/meta-oic/recipes-core/iotivity/files/0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch
@@ -0,0 +1,93 @@
+From b0f0c742ec1e1fc223871f6d98b21de09cf024b7 Mon Sep 17 00:00:00 2001
+From: Philippe Coval <philippe.coval@osg.samsung.com>
+Date: Fri, 16 Sep 2016 20:22:03 +0200
+Subject: [PATCH 364/364] yocto: Use tools from sysroot before system PATH
+ (again)
+
+Reintroduce existing change that was (wrongly?) removed in:
+
+https://gerrit.iotivity.org/gerrit/#/c/12029/64/build_common/SConscript
+
+Original review at:
+
+https://gerrit.iotivity.org/gerrit/11935
+
+To ensure reproductibily Scons avoids to rely on environment
+ but some systems like Yocto are defining their own cross compiling env.
+
+To deal with those orthogonal paradigms,
+ a new CONFIG_ENVIRONMENT_IMPORT variable has been introduced,
+ It enables import of needed variables (PATH and pkg-config's ones).
+
+Without this change, system tools might be used by scons
+ instead of looking into yocto's sysroot.
+ This is not not wanted and may be less reproductible.
+
+This problem was noticed when building Ostro OS
+ (on a system without all Yocto dependencies)
+ reported error messages were:
+
+ | sh: gdbus-codegen: command not found
+ | /bin/sh: 1: pkg-config: not found
+
+More information about using SCONS along Yocto, check some notes at:
+
+https://bitbucket.org/scons/scons/wiki/Notes
+
+Bug: https://jira.iotivity.org/browse/IOT-1219
+Change-Id: I6af59a590f8be489398623d29cf85c2f00000002
+Origin: https://github.com/TizenTeam/iotivity/tree/sandbox/pcoval/on/master/mine
+Thanks-to: Mikko Ylinen <mikko.ylinen@intel.com>
+Signed-off-by: Philippe Coval <philippe.coval@osg.samsung.com>
+Reviewed-on: https://gerrit.iotivity.org/gerrit/16225
+Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
+Reviewed-by: Kishen Maloor <kishen.maloor@intel.com>
+(cherry picked from commit 1085512bc103e987d95a43063e6552f39acd40f2)
+Reviewed-on: https://gerrit.iotivity.org/gerrit/16223
+---
+ build_common/SConscript | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+diff --git a/build_common/SConscript b/build_common/SConscript
+index a9ff494..fff1752 100644
+--- a/build_common/SConscript
++++ b/build_common/SConscript
+@@ -194,13 +194,19 @@ if target_os in targets_support_cc:
+ if prefix or tc_path:
+ print tc_set_msg
+
+-# If cross-compiling, honor environment settings for toolchain to avoid picking up native tools
+-if os.environ.get('PKG_CONFIG') != None:
+- env["ENV"]["PKG_CONFIG"] = os.environ.get("PKG_CONFIG")
+-if os.environ.get('PKG_CONFIG_PATH') != None:
+- env["ENV"]["PKG_CONFIG_PATH"] = os.environ.get("PKG_CONFIG_PATH")
+-if os.environ.get('PKG_CONFIG_SYSROOT_DIR') != None:
+- env["ENV"]["PKG_CONFIG_SYSROOT_DIR"] = os.environ.get("PKG_CONFIG_SYSROOT_DIR")
++# Import env variables only if reproductibility is ensured
++if target_os in ['yocto']:
++ env['CONFIG_ENVIRONMENT_IMPORT'] = True
++else:
++ env['CONFIG_ENVIRONMENT_IMPORT'] = False
++
++if env['CONFIG_ENVIRONMENT_IMPORT'] == True:
++ print "warning: importing some environment variables for OS: %s" % target_os
++ for ev in ['PATH', 'PKG_CONFIG', 'PKG_CONFIG_PATH', 'PKG_CONFIG_SYSROOT_DIR']:
++ if os.environ.get(ev) != None:
++ env['ENV'][ev] = os.environ.get(ev)
++ if os.environ['LDFLAGS'] != None:
++ env.AppendUnique(LINKFLAGS = Split(os.environ['LDFLAGS']))
+
+ # Ensure scons be able to change its working directory
+ env.SConscriptChdir(1)
+@@ -394,8 +400,6 @@ if target_os == "yocto":
+ env[tool] = os.path.join(path, os.environ[tool])
+ break
+ env['CROSS_COMPILE'] = target_prefix[:len(target_prefix) - 1]
+- if os.environ['LDFLAGS'] != None:
+- env.AppendUnique(LINKFLAGS = Split(os.environ['LDFLAGS']))
+ except:
+ print "ERROR in Yocto cross-toolchain environment"
+ Exit(1)
+--
+1.9.1
+
diff --git a/meta-agl-bsp/meta-oic/recipes-core/iotivity/iotivity_1.2.0.bbappend b/meta-agl-bsp/meta-oic/recipes-core/iotivity/iotivity_1.2.0.bbappend
index 8e4635b6a..0d97354e7 100644
--- a/meta-agl-bsp/meta-oic/recipes-core/iotivity/iotivity_1.2.0.bbappend
+++ b/meta-agl-bsp/meta-oic/recipes-core/iotivity/iotivity_1.2.0.bbappend
@@ -1,3 +1,4 @@
DEPENDS += " glib-2.0-native"
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI += "file://0081-yocto-Add-aarch64-for-DragonBoard-410c.patch"
+SRC_URI += "file://0364-yocto-Use-tools-from-sysroot-before-system-PATH-agai.patch"