Skip to contentSkip to conversation

Various Fixes

GIT PULL Saul Wold 2 participants 15 messages Aug 14, 2011 – Aug 15, 2011

lore
Share & tools
lore

Saul Wold

author
#0 lore raw

Richard,

Please review Lianhao's patch to LDD Scripts, the rest of these patches seem correct to me.

Sau!

The following changes since commit d126e22f6b3f27196144f87e22b36ebccd6dea65:

rt-tests: use an explicit commit ID (2011-08-12 17:51:18 +0100)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage

Khem Raj (1):
intltool: Use nativeperl binary for PERL instead of 'perl'

Lianhao Lu (4):
utils.bbclass/multilib.class: Added misc supporting functions.
eglibc: Modify ldd script according to multilib config.
image: populate site config files into roootfs. meta-toolchain/environment: Use site config in rootfs.

Lin Tong (1):
valgrind: supporting on Linux kernel 3.x

Noor Ahsan (1):
bluez4: Added new recipe 4.96 and removed 4.82 version

Phil Blundell (5):
pixman: remove spurious dependency on libx11
libx11: skip self if x11 not in DISTRO_FEATURES
cairo: only use x11 if selected in DISTRO_FEATURES
dbus: only use x11 if DISTRO_FEATURES has selected it
default-distrovars: add x11 to default DISTRO_FEATURES

 meta/classes/image.bbclass                         |    1 +
 meta/classes/multilib.bbclass                      |    7 ++-
 meta/classes/populate_sdk.bbclass                  |    2 +-
 meta/classes/siteinfo.bbclass                      |    4 +-
 meta/classes/toolchain-scripts.bbclass             |   31 +++++++++--
 meta/classes/utils.bbclass                         |   29 +++++++++++
 meta/conf/bitbake.conf                             |    1 +
 meta/conf/distro/include/default-distrovars.inc    |    2 +-
 meta/conf/multilib.conf                            |    3 +
 .../fix-dfutool-usb-declaration-mismatch.patch     |   20 -------
 .../bluez/bluez4-4.82/hid2hci_usb_init.patch       |   35 -------------
 .../bluez/bluez4-4.82/sbc-thumb.patch              |   14 -----
 .../{bluez4-4.82 => bluez4-4.96}/bluetooth.conf    |    0
 .../bluez/{bluez4_4.82.bb => bluez4_4.96.bb}       |    6 +--
 meta/recipes-core/dbus/dbus.inc                    |    7 ++-
 .../eglibc/eglibc-2.13/multilib_readlib.patch      |   17 ++++++
 meta/recipes-core/eglibc/eglibc-ld.inc             |   54 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc.inc                |    1 +
 meta/recipes-core/eglibc/eglibc_2.13.bb            |   13 ++++-
 meta/recipes-core/meta/meta-environment.bb         |    6 +--
 meta/recipes-core/meta/meta-toolchain.bb           |    4 +-
 .../intltool/intltool-0.40.6/use-nativeperl.patch  |   20 +++++++
 meta/recipes-devtools/intltool/intltool.inc        |    3 +-
 meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    9 +++-
 .../valgrind-3.6.1/fix_unsupporting_kernel_3.patch |   26 +++++++++
 meta/recipes-devtools/valgrind/valgrind_3.6.1.bb   |    3 +-
 meta/recipes-graphics/cairo/cairo.inc              |    5 +-
 meta/recipes-graphics/xorg-lib/libx11.inc          |    5 ++
 meta/recipes-graphics/xorg-lib/pixman_0.22.0.bb    |    2 -
 29 files changed, 226 insertions(+), 104 deletions(-)
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch
 rename meta/recipes-connectivity/bluez/{bluez4-4.82 => bluez4-4.96}/bluetooth.conf (100%)
 rename meta/recipes-connectivity/bluez/{bluez4_4.82.bb => bluez4_4.96.bb} (90%)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/multilib_readlib.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-ld.inc
 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/use-nativeperl.patch
 create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.6.1/fix_unsupporting_kernel_3.patch
Signature · 1 line
1.7.6
author
#1 lore raw

[CONSOLIDATED PULL 02/12] valgrind: supporting on Linux kernel 3.x

From: Lin Tong <[email protected]>

The old valgrind package do not support for Linux kernel 3.x, only for kernel 2.4 and 2.6. Now adding the configuration to the configure.in file to support Linux kernel 3.0.

This commit fixes the problem in valgrind [YOCTO #1129]

---
 .../valgrind-3.6.1/fix_unsupporting_kernel_3.patch |   26 ++++++++++++++++++++
 meta/recipes-devtools/valgrind/valgrind_3.6.1.bb   |    3 +-
 2 files changed, 28 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-devtools/valgrind/valgrind-3.6.1/fix_unsupporting_kernel_3.patch
meta/recipes-devtools/valgrind/valgrind-3.6.1/fix_unsupporting_kernel_3.patch new file +26 -0
new file mode 100644
index 0000000..346ffeb
@@ -0,0 +1,26 @@
+valgrind: Add 3.x statements to "case" for supporting the kernel 3.x
+
+Signed-off-by: Lin Tong <[email protected]>
+
+Upstream-Status: Pending
+
+diff --git a/configure.in b/configure.in
+index 3878619..1cb7dc7 100644
+--- a/configure.in
++++ b/configure.in
+@@ -229,10 +229,14 @@ case "${host_os}" in
+         	    AC_MSG_RESULT([2.4 family (${kernel})])
+         	    AC_DEFINE([KERNEL_2_4], 1, [Define to 1 if you're using Linux 2.4.x])
+         	    ;;
++             3.*)
++                    AC_MSG_RESULT([3 family (${kernel})])
++                    AC_DEFINE([KERNEL_3], 1, [Define to 1 if you're using Linux 3.x])
++                    ;;
+ 
+              *) 
+         	    AC_MSG_RESULT([unsupported (${kernel})])
+-        	    AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6])
++        	    AC_MSG_ERROR([Valgrind works on kernels 2.4, 2.6, 3.x])
+         	    ;;
+         esac
+ 
meta/recipes-devtools/valgrind/valgrind_3.6.1.bb +2 -1
index d5dcdd6..021caa8 100644
@@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c46082167a314d785d012a244748d803 \
                     file://include/valgrind.h;beginline=1;endline=56;md5=13a71cedba99112334d8596162aec37e \
                     file://COPYING.DOCS;md5=8fdeb5abdb235a08e76835f8f3260215"
 DEPENDS = "virtual/libx11"
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
 	   file://fix_issue_caused_by_ccache.patch \
+           file://fix_unsupporting_kernel_3.patch \
            file://fixed-perl-path.patch"
 
 SRC_URI[md5sum] = "2c3aa122498baecc9d69194057ca88f5"
Signature · 1 line
1.7.6
author
#2 lore raw

[CONSOLIDATED PULL 01/12] bluez4: Added new recipe 4.96 and removed 4.82 version

In reply to Saul Wold

From: Noor Ahsan <[email protected]>

* Added new recipe 4.96 and removed 4.82 version and its files.

---
 .../fix-dfutool-usb-declaration-mismatch.patch     |   20 -----------
 .../bluez/bluez4-4.82/hid2hci_usb_init.patch       |   35 --------------------
 .../bluez/bluez4-4.82/sbc-thumb.patch              |   14 --------
 .../{bluez4-4.82 => bluez4-4.96}/bluetooth.conf    |    0
 .../bluez/{bluez4_4.82.bb => bluez4_4.96.bb}       |    6 +--
 5 files changed, 2 insertions(+), 73 deletions(-)
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch
 delete mode 100644 meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch
 rename meta/recipes-connectivity/bluez/{bluez4-4.82 => bluez4-4.96}/bluetooth.conf (100%)
 rename meta/recipes-connectivity/bluez/{bluez4_4.82.bb => bluez4_4.96.bb} (90%)
meta/recipes-connectivity/bluez/bluez4-4.82/fix-dfutool-usb-declaration-mismatch.patch deleted +0 -20
deleted file mode 100644
index 27dead0..0000000
@@ -1,20 +0,0 @@
-# bluez4: add compile patch fixing some usb declaration mismatch
-# Author: Michael 'Mickey' Lauer <[email protected]>
-# Date:   Thu Jan 29 16:52:21 2009 +0000
-#
-# Acquired from OpenEmbedded
-Upstream-Status: Pending
-
-Index: bluez-4.27/tools/dfutool.c
-===================================================================
---- bluez-4.27.orig/tools/dfutool.c
-+++ bluez-4.27/tools/dfutool.c
-@@ -59,7 +59,7 @@
- #endif
- 
- #ifdef NEED_USB_GET_BUSSES
--static inline struct usb_bus *usb_get_busses(void)
-+inline struct usb_bus *usb_get_busses(void)
- {
- 	return usb_busses;
- }
meta/recipes-connectivity/bluez/bluez4-4.82/hid2hci_usb_init.patch deleted +0 -35
deleted file mode 100644
index e8a58e5..0000000
@@ -1,35 +0,0 @@
-# Signed-off-by: Khem Raj <[email protected]>
-#
-# Use the new usb1 API for usb_init() and check for fails from 
-# usb_init (). Currently we see a crash on a system which does
-# not have USB because usb_init() fails and it cleans up all initialized
-# data (e.g. ctx) which is used in subsequent calls to libusb
-# We return immediately if usb_init() fails for some reason.
-
-Upstream-Status: Inappropriate [not used]
-
-Index: bluez-4.24/tools/hid2hci.c
-===================================================================
---- bluez-4.24.orig/tools/hid2hci.c	2008-10-25 23:40:34.000000000 -0700
-+++ bluez-4.24/tools/hid2hci.c	2008-12-29 22:06:04.000000000 -0800
-@@ -337,7 +337,7 @@
- int main(int argc, char *argv[])
- {
- 	struct device_info dev[16];
--	int i, opt, num, quiet = 0, mode = HCI;
-+	int i, ret, opt, num, quiet = 0, mode = HCI;
- 
- 	while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) {
- 		switch (opt) {
-@@ -361,8 +361,9 @@
- 	argc -= optind;
- 	argv += optind;
- 	optind = 0;
--
--	usb_init();
-+	ret = libusb_init();
-+	if (ret < 0)
-+		return ret;
- 
- 	num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0]));
- 	if (num <= 0) {
meta/recipes-connectivity/bluez/bluez4-4.82/sbc-thumb.patch deleted +0 -14
deleted file mode 100644
index 881cb9c..0000000
@@ -1,14 +0,0 @@
-# Acquired from OpenEmbedded
-Upstream-Status: Inappropriate [embedded specific]
-
---- bluez/sbc/sbc_math.h~	2008-03-05 20:18:03.000000000 +0000
-+++ bluez/sbc/sbc_math.h	2008-10-27 13:39:27.000000000 +0000
-@@ -59,7 +59,7 @@
- 
- #define SBC_FIXED_0(val) { val = 0; }
- #define MUL(a, b)        ((a) * (b))
--#ifdef __arm__
-+#if defined(__arm__) && !defined(__thumb__)
- #define MULA(a, b, res) ({				\
- 		int tmp = res;			\
- 		__asm__(				\
meta/recipes-connectivity/bluez/bluez4-4.96/bluetooth.conf renamed from meta/recipes-connectivity/bluez/bluez4-4.82/bluetooth.conf +0 -0
similarity index 100%
rename from meta/recipes-connectivity/bluez/bluez4-4.82/bluetooth.conf
rename to meta/recipes-connectivity/bluez/bluez4-4.96/bluetooth.conf
meta/recipes-connectivity/bluez/bluez4_4.96.bb renamed from meta/recipes-connectivity/bluez/bluez4_4.82.bb +2 -4
similarity index 90%
rename from meta/recipes-connectivity/bluez/bluez4_4.82.bb
rename to meta/recipes-connectivity/bluez/bluez4_4.96.bb
index 9895006..ebd2849 100644
@@ -19,13 +19,11 @@ PR = "r0"
 
 SRC_URI = "\
   ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.gz \
-  file://fix-dfutool-usb-declaration-mismatch.patch;patch=1 \
-  file://sbc-thumb.patch;patch=1 \
   file://bluetooth.conf \
 "
 
-SRC_URI[md5sum] = "b9e5de607e5e43c868c35c68fe6f189f"
-SRC_URI[sha256sum] = "75dc506f5346e1eb803f44294ae02406e806e309d9c9bda1de7ed235ff794b6d"
+SRC_URI[md5sum] = "296111afac49e3f9035085ac14daf518"
+SRC_URI[sha256sum] = "c06fd50fd77909cad55e3181a42c6bce7cfcf7abb8cd87871c13d0d70f87fa99"
 S = "${WORKDIR}/bluez-${PV}"
 
 inherit autotools
Signature · 1 line
1.7.6
author
#3 lore raw

[CONSOLIDATED PULL 03/12] utils.bbclass/multilib.class: Added misc supporting functions.

In reply to Saul Wold

From: Lianhao Lu <[email protected]>

1. Added variable MULTILIB_VARIANTS to store all the instance variants for multilib extend.

2. Added function all_multilib_tune_values to collect the variable values for all multilib instance.

3. multilib bbclass handler will save the orignal value of all variables defined in MULTILIB_SAVE_VARNAME.

---
 meta/classes/multilib.bbclass |    7 ++++++-
 meta/classes/utils.bbclass    |   29 +++++++++++++++++++++++++++++
 meta/conf/bitbake.conf        |    1 +
 meta/conf/multilib.conf       |    3 +++
 4 files changed, 39 insertions(+), 1 deletions(-)
meta/classes/multilib.bbclass +6 -1
index 6e1669f..571b7be 100644
@@ -6,7 +6,12 @@ python multilib_virtclass_handler () {
     variant = e.data.getVar("BBEXTENDVARIANT", True)
     if cls != "multilib" or not variant:
         return
- 
+    save_var_name=e.data.getVar("MULTILIB_SAVE_VARNAME", True) or ""
+    for name in save_var_name.split():
+        val=e.data.getVar(name, True)
+        if val:
+            e.data.setVar(name + "_MULTILIB_ORIGINAL", val)
+
     override = ":virtclass-multilib-" + variant
 
     e.data.setVar("MLPREFIX", variant + "-")
meta/classes/utils.bbclass +29 -0
index 8c3a9b8..c66c184 100644
@@ -341,3 +341,32 @@ def base_set_filespath(path, d):
 		for o in overrides.split(":"):
 			filespath.append(os.path.join(p, o))
 	return ":".join(filespath)
+
+def extend_variants(d, var, extend, delim=':'):
+	"""Return a string of all bb class extend variants for the given extend"""
+	variants = []
+	whole = d.getVar(var, True) or ""
+	for ext in whole.split():
+		eext = ext.split(delim)
+		if len(eext) > 1 and eext[0] == extend:
+			variants.append(eext[1])
+	return " ".join(variants)
+
+def all_multilib_tune_values(d, var, unique=True):
+	"""Return a string of all ${var} in all multilib tune configuration"""
+	values = []
+	value = d.getVar(var, True) or ""
+	if value != "":
+		values.append(value)
+	variants = d.getVar("MULTILIB_VARIANTS", True) or ""
+	for item in variants.split():
+		localdata = bb.data.createCopy(d)
+		overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
+		localdata.setVar("OVERRIDES", overrides)
+		bb.data.update_data(localdata)
+		value = localdata.getVar(var, True) or ""
+		if value != "":
+			values.append(value)
+	if unique:
+		values = set(values)
+	return " ".join(values)
meta/conf/bitbake.conf +1 -0
index 7bb68b8..b309516 100644
@@ -749,3 +749,4 @@ BB_HASHTASK_WHITELIST ?= "(.*-cross$|.*-native$|.*-cross-initial$|.*-cross-inter
 BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM USER FILESPATH USERNAME STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE"
 
 MLPREFIX ??= ""
+MULTILIB_VARIANTS ??= ""
meta/conf/multilib.conf +3 -0
index f2a2002..36793d2 100644
@@ -1,6 +1,9 @@
 
 baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) or 'INVALID'), True) or 'lib'}"
 
+MULTILIB_VARIANTS = "${@extend_variants(d,'MULTILIBS','multilib')}"
+MULTILIB_SAVE_VARNAME = "DEFAULTTUNE"
+
 MULTILIBS ??= "multilib:lib32"
 
 BBCLASSEXTEND_append_pn-acl = " ${MULTILIBS}"
Signature · 1 line
1.7.6
#4 lore raw

Re: [CONSOLIDATED PULL 03/12] utils.bbclass/multilib.class: Added misc supporting functions.

Quoted 11 lines · Saul Wold

From: Lianhao Lu <[email protected]>

1. Added variable MULTILIB_VARIANTS to store all the instance variants for multilib extend.

2. Added function all_multilib_tune_values to collect the variable values for all multilib instance.

3. multilib bbclass handler will save the orignal value of all variables defined in MULTILIB_SAVE_VARNAME.

Quoted 7 lines
---
 meta/classes/multilib.bbclass |    7 ++++++-
 meta/classes/utils.bbclass    |   29 +++++++++++++++++++++++++++++
 meta/conf/bitbake.conf        |    1 +
 meta/conf/multilib.conf       |    3 +++
 4 files changed, 39 insertions(+), 1 deletions(-)

I've taken this however we have a lot of different lists of the mulitlib pieces floating around in different variables now and I'm hoping we can consolidate these a bit...

Cheers,

Richard

author
#5 lore raw

[CONSOLIDATED PULL 04/12] eglibc: Modify ldd script according to multilib config.

In reply to Saul Wold

From: Lianhao Lu <[email protected]>

Bug fixing [YOCTO #1236].

1. Collect all the values for RTLDLIST for the current multilib configuration to modify the ldd scripts.

2. Collect all the values for KNOWN_INTERPRETER_NAMES for the current multilib configuration. Set the correct ld.so names for ldconfig to deal with the multilib configuration.

---
 .../eglibc/eglibc-2.13/multilib_readlib.patch      |   17 ++++++
 meta/recipes-core/eglibc/eglibc-ld.inc             |   54 ++++++++++++++++++++
 meta/recipes-core/eglibc/eglibc.inc                |    1 +
 meta/recipes-core/eglibc/eglibc_2.13.bb            |   13 ++++-
 4 files changed, 84 insertions(+), 1 deletions(-)
 create mode 100644 meta/recipes-core/eglibc/eglibc-2.13/multilib_readlib.patch
 create mode 100644 meta/recipes-core/eglibc/eglibc-ld.inc
meta/recipes-core/eglibc/eglibc-2.13/multilib_readlib.patch new file +17 -0
new file mode 100644
index 0000000..1542b1b
@@ -0,0 +1,17 @@
+Upstream-Status: Inappropriate [embedded specific]
+
+Replace the OECORE_KNOWN_INTERPRETER_NAMES with the value of 
+variable EGLIBC_KNOWN_INTERPRETER_NAMES.
+
+Lianhao Lu, 08/01/2011
+
+--- libc/elf/readlib.c.orig	2011-08-12 17:05:51.864470837 +0800
++++ libc/elf/readlib.c	2011-08-12 17:06:39.346942074 +0800
+@@ -52,6 +52,7 @@
+ #ifdef SYSDEP_KNOWN_INTERPRETER_NAMES
+   SYSDEP_KNOWN_INTERPRETER_NAMES
+ #endif
++  OECORE_KNOWN_INTERPRETER_NAMES
+ };
+ 
+ static struct known_names known_libs[] =
meta/recipes-core/eglibc/eglibc-ld.inc new file +54 -0

54 lines not on this page · raw message

meta/recipes-core/eglibc/eglibc.inc +1 -0
index 9088d02..fe9f8ba 100644
@@ -1,4 +1,5 @@
 require eglibc-common.inc
+require eglibc-ld.inc
 
 STAGINGCC = "gcc-cross-intermediate"
 STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
meta/recipes-core/eglibc/eglibc_2.13.bb +12 -1
index 915eb32..f382448 100644
@@ -3,7 +3,7 @@ require eglibc.inc
 SRCREV = "14157"
 
 DEPENDS += "gperf-native"
-PR = "r12"
+PR = "r13"
 PR_append = "+svnr${SRCPV}"
 
 EGLIBC_BRANCH="eglibc-2_13"
@@ -18,6 +18,7 @@ SRC_URI = "svn://www.eglibc.org/svn/branches/;module=${EGLIBC_BRANCH};proto=http
            file://generate-supported.mk \
            file://glibc_bug_fix_12454.patch \
            file://ppc-sqrt.patch \
+           file://multilib_readlib.patch \
 	   "
 LIC_FILES_CHKSUM = "file://LICENSES;md5=98a1128c4b58120182cbea3b1752d8b9 \
       file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \
@@ -83,6 +84,7 @@ do_move_ports() {
 
 do_patch_append() {
 	bb.build.exec_func('do_fix_ia_headers', d)
+	bb.build.exec_func('do_fix_readlib_c', d)
 }
 
 # We need to ensure that all of the i386 and x86_64 headers are identical
@@ -172,6 +174,10 @@ do_fix_ia_headers() {
 	cp ${S}/sysdeps/unix/sysv/linux/x86_64/sys/user.h ${S}/sysdeps/unix/sysv/linux/i386/sys/user.h
 }
 
+do_fix_readlib_c () {
+	sed -i -e 's#OECORE_KNOWN_INTERPRETER_NAMES#${EGLIBC_KNOWN_INTERPRETER_NAMES}#' ${S}/elf/readlib.c
+}
+
 do_configure () {
 # override this function to avoid the autoconf/automake/aclocal/autoheader
 # calls for now
@@ -201,6 +207,11 @@ do_compile () {
 			rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
 		done
 	)
+	echo "Adjust ldd script"
+	[ -z "${RTLDLIST}" ] && return
+	sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)"\(.*\)"$#\1\2#'
+	sed -i ${B}/elf/ldd -e 's#^\(RTLDLIST=\)\(.*\)$#\1"${RTLDLIST} \2"#'
+
 }
 
 require eglibc-package.inc
Signature · 1 line
1.7.6
author
#6 lore raw

[CONSOLIDATED PULL 10/12] cairo: only use x11 if selected in DISTRO_FEATURES

In reply to Saul Wold

From: Phil Blundell <[email protected]>

This makes it possible to build cairo-using apps without X11.

---
 meta/recipes-graphics/cairo/cairo.inc |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +3 -2
index 72aaa03..c983a89 100644
@@ -10,10 +10,11 @@ HOMEPAGE = "http://cairographics.org"
 BUGTRACKER = "http://bugs.freedesktop.org"
 SECTION = "libs"
 LICENSE = "MPL-1 & LGPLv2.1"
-DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender pixman glib-2.0"
+X11DEPENDS = "virtual/libx11 libsm libxrender"
+DEPENDS = "libpng fontconfig pixman glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
 
 #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 
 require cairo-fpu.inc
-EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)}"
+EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
 
 inherit autotools pkgconfig
Signature · 1 line
1.7.6
author
#7 lore raw

[CONSOLIDATED PULL 07/12] intltool: Use nativeperl binary for PERL instead of 'perl'

In reply to Saul Wold

From: Khem Raj <[email protected]>

License is GPLv2 change it.
Defining PERL for native intltool is not needed anymore

---
 .../intltool/intltool-0.40.6/use-nativeperl.patch  |   20 ++++++++++++++++++++
 meta/recipes-devtools/intltool/intltool.inc        |    3 +--
 meta/recipes-devtools/intltool/intltool_0.40.6.bb  |    9 +++++++--
 3 files changed, 28 insertions(+), 4 deletions(-)
 create mode 100644 meta/recipes-devtools/intltool/intltool-0.40.6/use-nativeperl.patch
meta/recipes-devtools/intltool/intltool-0.40.6/use-nativeperl.patch new file +20 -0
new file mode 100644
index 0000000..5f5fed3
@@ -0,0 +1,20 @@
+OE has perl binary as 'nativeperl' in native sysroot so we look for it
+in order to avoid intltool searching and finding perl from /usr/bin
+on build system which may not have all the modules that it needs.
+
+Signed-off-by: Khem Raj <[email protected]>
+
+Upstream-Status: Inappropriate [OE specific]
+Index: intltool-0.40.6/intltool.m4
+===================================================================
+--- intltool-0.40.6.orig/intltool.m4	2009-02-14 14:12:28.000000000 -0800
++++ intltool-0.40.6/intltool.m4	2011-08-09 08:07:16.427347846 -0700
+@@ -110,7 +110,7 @@
+     AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+ fi
+ 
+-AC_PATH_PROG(INTLTOOL_PERL, perl)
++AC_PATH_PROG(INTLTOOL_PERL, nativeperl)
+ if test -z "$INTLTOOL_PERL"; then
+    AC_MSG_ERROR([perl not found])
+ fi
meta/recipes-devtools/intltool/intltool.inc +1 -2
index 1e778b6..7e11fc9 100644
@@ -1,6 +1,6 @@
 DESCRIPTION = "Utility scripts for internationalizing XML"
 SECTION = "devel"
-LICENSE = "GPL"
+LICENSE = "GPLv2"
 
 URLV="${@'.'.join(bb.data.getVar('PV',d,1).split('.')[0:2])}"
 SRC_URI = "${GNOME_MIRROR}/intltool/${URLV}/intltool-${PV}.tar.bz2"
@@ -13,5 +13,4 @@ RRECOMMENDS_${PN}_virtclass-native = ""
 
 inherit autotools pkgconfig perlnative
 
-export PERL_virtclass-native = "/usr/bin/env perl"
 BBCLASSEXTEND = "native"
meta/recipes-devtools/intltool/intltool_0.40.6.bb +7 -2
index c7938e5..931122d 100644
@@ -1,9 +1,14 @@
 require intltool.inc
 LICENSE="GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-PR = "r3"
+PR = "r4"
 
-SRC_URI_append = " file://intltool-nowarn-0.40.0.patch"
+SRC_URI_append = " file://intltool-nowarn-0.40.0.patch \
+                   ${NATIVEPATCHES} \
+                 "
+
+NATIVEPATCHES = ""
+NATIVEPATCHES_virtclass-native = "file://use-nativeperl.patch"
 
 SRC_URI[md5sum] = "69bc0353323112f42ad4f9cf351bc3e5"
 SRC_URI[sha256sum] = "4d1e5f8561f09c958e303d4faa885079a5e173a61d28437d0013ff5efc9e3b64"
Signature · 1 line
1.7.6
author
#8 lore raw

[CONSOLIDATED PULL 11/12] dbus: only use x11 if DISTRO_FEATURES has selected it

In reply to Saul Wold

From: Phil Blundell <[email protected]>

This makes it possible to include dbus in a non-X11-equipped DISTRO.

---
 meta/recipes-core/dbus/dbus.inc |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
meta/recipes-core/dbus/dbus.inc +4 -3
index 6b76cba..a8ecda8 100644
@@ -5,7 +5,8 @@ SECTION = "base"
 LICENSE = "AFL-2 | GPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \
                     file://dbus/dbus.h;firstline=6;endline=20;md5=6eea2e0c7750dd8e620dcb1437312fa5"
-DEPENDS = "expat virtual/libintl virtual/libx11 libsm"
+X11DEPENDS = "virtual/libx11 libsm"
+DEPENDS = "expat virtual/libintl ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
 DEPENDS_virtclass-native = "expat-native virtual/libintl-native"
 DEPENDS_virtclass-nativesdk = "expat-nativesdk virtual/libintl-nativesdk virtual/libx11"
 
@@ -22,7 +23,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session
 
 DEBIANNAME_${PN} = "dbus-1"
 
-PACKAGES =+ "${PN}-lib ${PN}-x11 ${PN}-systemd"
+PACKAGES =+ "${PN}-lib ${PN}-systemd ${@base_contains('DISTRO_FEATURES', 'x11', '${PN}-x11', '', d)}"
 
 FILES_${PN}-x11 = "${bindir}/dbus-launch"
 RDEPENDS_${PN}-x11 = "${PN}"
@@ -73,7 +74,7 @@ pkg_postinst_dbus() {
 	fi
 }
 
-EXTRA_OECONF_X = "--with-x"
+EXTRA_OECONF_X = "${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
 EXTRA_OECONF_X_virtclass-native = "--without-x"
 
 EXTRA_OECONF = "--disable-tests \
Signature · 1 line
1.7.6
author
#9 lore raw

[CONSOLIDATED PULL 12/12] default-distrovars: add x11 to default DISTRO_FEATURES

In reply to Saul Wold

From: Phil Blundell <[email protected]>

---
 meta/conf/distro/include/default-distrovars.inc |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
meta/conf/distro/include/default-distrovars.inc +1 -1
index c2fd77e..45b03d5 100644
@@ -16,7 +16,7 @@ DISTRO_FEATURES_LIBC ?= "ipv4 ipv6 libc-backtrace libc-big-macros libc-bsd libc-
 					libc-memusage libc-nis libc-nsswitch libc-rcmd libc-rtld-debug libc-spawn libc-streams libc-sunrpc \
 					libc-utmp libc-utmpx libc-wordexp libc-posix-clang-wchar libc-posix-regexp libc-posix-regexp-glibc \
 					libc-posix-wchar-io"
-DISTRO_FEATURES ?= "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g ${DISTRO_FEATURES_LIBC}"
+DISTRO_FEATURES ?= "alsa argp bluetooth ext2 irda largefile pcmcia usbgadget usbhost wifi xattr nfs zeroconf pci 3g x11 ${DISTRO_FEATURES_LIBC}"
 
 IMAGE_FEATURES ?= ""
 
Signature · 1 line
1.7.6
author
#10 lore raw

[CONSOLIDATED PULL 08/12] pixman: remove spurious dependency on libx11

In reply to Saul Wold

From: Phil Blundell <[email protected]>

Nothing in pixman actually uses libx11, so no need to DEPEND on it.

---
 meta/recipes-graphics/xorg-lib/pixman_0.22.0.bb |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)
meta/recipes-graphics/xorg-lib/pixman_0.22.0.bb +0 -2
index e5472c0..1a33a18 100644
@@ -13,8 +13,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3 \
                     file://pixman/pixman-arm-neon-asm.h;endline=24;md5=9a9cc1e51abbf1da58f4d9528ec9d49b \
                    "
 
-DEPENDS = "virtual/libx11"
-
 PE = "1"
 PR = "r0"
 
Signature · 1 line
1.7.6
author
#11 lore raw

[CONSOLIDATED PULL 06/12] meta-toolchain/environment: Use site config in rootfs.

In reply to Saul Wold

From: Lianhao Lu <[email protected]>

[YOCTO #892] Use the site config file in rootfs to set up the build environment.

---
 meta/classes/populate_sdk.bbclass          |    2 +-
 meta/recipes-core/meta/meta-environment.bb |    6 +-----
 meta/recipes-core/meta/meta-toolchain.bb   |    4 +---
 3 files changed, 3 insertions(+), 9 deletions(-)
meta/classes/populate_sdk.bbclass +1 -1
index 0f3591b..acb9892 100644
@@ -47,7 +47,7 @@ fakeroot do_populate_sdk() {
 	ln -s /etc/ld.so.cache ${SDK_OUTPUT}/${SDKPATHNATIVE}/etc/ld.so.cache
 
 	# Setup site file for external use
-	toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS} ${CONFIG_SITE}
+	toolchain_create_rootfs_siteconfig ${SDK_OUTPUT}/${SDKTARGETSYSROOT} 'false'
 
 	toolchain_create_sdk_env_script
 
meta/recipes-core/meta/meta-environment.bb +1 -5
index 114727c..b62ec0e 100644
@@ -2,13 +2,11 @@ DESCRIPTION = "Package of environment files for SDK"
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 LICENSE = "MIT"
-PR = "r6"
+PR = "r7"
 
 EXCLUDE_FROM_WORLD = "1"
 
 inherit toolchain-scripts
-# get target config site before inheritting cross-canadian
-TARGET_CONFIG_SITE := "${@siteinfo_get_files(d)}"
 REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
 
 SDK_DIR = "${WORKDIR}/sdk"
@@ -23,8 +21,6 @@ do_generate_content() {
     rm -rf ${SDK_OUTPUT}
     mkdir -p ${SDK_OUTPUT}/${SDKPATH}
 
-    toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS} ${TARGET_CONFIG_SITE}
-
     toolchain_create_sdk_env_script_for_installer ${REAL_MULTIMACH_TARGET_SYS}
 
     # Add version information
meta/recipes-core/meta/meta-toolchain.bb +1 -3
index 164d717..1058c68 100644
@@ -1,12 +1,10 @@
 DESCRIPTION = "Meta package for building a installable toolchain"
 LICENSE = "MIT"
 
-PR = "r5"
+PR = "r6"
 
 LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
                     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
 
 IMAGETEST ?= "dummy"
 inherit populate_sdk imagetest-${IMAGETEST}
-
-CONFIG_SITE := "${@siteinfo_get_files(d)}"
Signature · 1 line
1.7.6
author
#12 lore raw

[CONSOLIDATED PULL 05/12] image: populate site config files into roootfs.

In reply to Saul Wold

From: Lianhao Lu <[email protected]>

[YOCTO #892] populate the site config files content into the file in {target}/cross_site_config in rootfs, which can be used by the cross toolchain in meta-toolchain when the rootfs is used as sysroot.

---
 meta/classes/image.bbclass             |    1 +
 meta/classes/siteinfo.bbclass          |    4 +++-
 meta/classes/toolchain-scripts.bbclass |   31 +++++++++++++++++++++++++------
 3 files changed, 29 insertions(+), 7 deletions(-)
meta/classes/image.bbclass +1 -0
index 54eb78b..1104693 100644
@@ -1,4 +1,5 @@
 inherit rootfs_${IMAGE_PKGTYPE}
+inherit toolchain-scripts
 
 IMAGETEST ?= "dummy"
 inherit imagetest-${IMAGETEST}
meta/classes/siteinfo.bbclass +3 -1
index a61b5e5..02294c4 100644
@@ -118,7 +118,7 @@ python () {
         bb.fatal("Please add your architecture to siteinfo.bbclass")
 }
 
-def siteinfo_get_files(d):
+def siteinfo_get_files(d, no_cache = False):
     sitedata = siteinfo_data(d)
     sitefiles = ""
     for path in d.getVar("BBPATH", True).split(":"):
@@ -127,6 +127,8 @@ def siteinfo_get_files(d):
             if os.path.exists(filename):
                 sitefiles += filename + " "
 
+    if no_cache: return sitefiles
+
     # Now check for siteconfig cache files
     path_siteconfig = bb.data.getVar('SITECONFIG_SYSROOTCACHE', d, 1)
     if os.path.isdir(path_siteconfig):
meta/classes/toolchain-scripts.bbclass +25 -6
index f7b52be..7655d3c 100644
@@ -9,7 +9,9 @@ toolchain_create_sdk_env_script () {
 	echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${MULTIMACH_TARGET_SYS}:$PATH' >> $script
 	echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
 	echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
-	echo 'export CONFIG_SITE=${SDKPATH}/site-config-${MULTIMACH_TARGET_SYS}' >> $script
+	echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
+	echo 'export OECORE_TARGET_SYSROOT="${SDKTARGETSYSROOT}"' >> $script
+	echo 'export CONFIG_SITE="$OECORE_TARGET_SYSROOT${target_datadir}/cross_site_config"' >> $script
 	echo 'export CC=${TARGET_PREFIX}gcc' >> $script
 	echo 'export CXX=${TARGET_PREFIX}g++' >> $script
 	echo 'export GDB=${TARGET_PREFIX}gdb' >> $script
@@ -26,8 +28,6 @@ toolchain_create_sdk_env_script () {
 	echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
 	echo 'export LDFLAGS="${TARGET_LD_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
 	echo 'export CPPFLAGS="${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
-	echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
-	echo 'export OECORE_TARGET_SYSROOT="${SDKTARGETSYSROOT}"' >> $script
 	echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
 	echo 'export POKY_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
 	echo 'export POKY_SDK_VERSION="${SDK_VERSION}"' >> $script
@@ -77,7 +77,9 @@ toolchain_create_sdk_env_script_for_installer () {
 	echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/'"${multimach_target_sys}"':$PATH' >> $script
 	echo 'export PKG_CONFIG_SYSROOT_DIR=##SDKTARGETSYSROOT##' >> $script
 	echo 'export PKG_CONFIG_PATH=##SDKTARGETSYSROOT##${target_libdir}/pkgconfig' >> $script
-	echo 'export CONFIG_SITE=${SDKPATH}/site-config-'"${multimach_target_sys}" >> $script
+	echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
+	echo 'export OECORE_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $script
+	echo 'export CONFIG_SITE="$OECORE_TARGET_SYSROOT${target_datadir}/cross_site_config"' >> $script
 	echo 'export CC=${TARGET_PREFIX}gcc' >> $script
 	echo 'export CXX=${TARGET_PREFIX}g++' >> $script
 	echo 'export GDB=${TARGET_PREFIX}gdb' >> $script
@@ -94,8 +96,6 @@ toolchain_create_sdk_env_script_for_installer () {
 	echo 'export CXXFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
 	echo 'export LDFLAGS="${TARGET_LD_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
 	echo 'export CPPFLAGS="${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
-	echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
-	echo 'export OECORE_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $script
         echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/acloal"' >> $script
 	echo 'export POKY_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
 	echo 'export POKY_SDK_VERSION="${SDK_VERSION}"' >> $script
@@ -124,3 +124,22 @@ toolchain_create_sdk_version () {
 	echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
 	echo 'Timestamp: ${DATETIME}' >> $versionfile
 }
+
+IMAGE_PREPROCESS_COMMAND += "toolchain_create_rootfs_siteconfig ${IMAGE_ROOTFS} ${@base_contains('IMAGE_FEATURES', 'dev-pkgs', 'false', 'true' ,d)}; "
+#Use := to avoid cross-canadian polution
+COMMON_CONFIG_SITE := "${@siteinfo_get_files(d,True)}"
+# create the site config file in the rootfs 
+toolchain_create_rootfs_siteconfig () {
+	local allfiles='${COMMON_CONFIG_SITE}'
+
+	if $2; then
+		return
+	fi
+
+	for file in ${SITECONFIG_SYSROOTCACHE}/*; do
+		if [ -f $file ]; then
+			allfiles="$allfiles $file"
+		fi
+	done
+	toolchain_create_sdk_siteconfig $1${datadir}/cross_site_config $allfiles
+}
Signature · 1 line
1.7.6
author
#13 lore raw

[CONSOLIDATED PULL 09/12] libx11: skip self if x11 not in DISTRO_FEATURES

In reply to Saul Wold

From: Phil Blundell <[email protected]>

This stops (most) x11 packages leaking into a non-x11 distro by mistake.

---
 meta/recipes-graphics/xorg-lib/libx11.inc |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
meta/recipes-graphics/xorg-lib/libx11.inc +5 -0
index c156ce6..455753f 100644
@@ -42,3 +42,8 @@ do_compile() {
 # Multiple libx11 derivatives from from this file and are selected by virtual/libx11
 # A world build should only build the correct version, not all of them.
 EXCLUDE_FROM_WORLD = "1"
+
+python () {
+       if not oe.utils.contains ('DISTRO_FEATURES', 'x11', True, False, d):
+       	  raise bb.parse.SkipPackage("X11 not enabled for this DISTRO")
+}
Signature · 1 line
1.7.6
#14 lore raw
In reply to Saul Wold
Quoted 29 lines · Saul Wold

Richard,

Please review Lianhao's patch to LDD Scripts, the rest of these patches seem correct to me.

Sau!

The following changes since commit d126e22f6b3f27196144f87e22b36ebccd6dea65:

rt-tests: use an explicit commit ID (2011-08-12 17:51:18 +0100)

are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib sgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stage

Khem Raj (1):
intltool: Use nativeperl binary for PERL instead of 'perl'

Lianhao Lu (4):
utils.bbclass/multilib.class: Added misc supporting functions.
eglibc: Modify ldd script according to multilib config.

Lin Tong (1):
valgrind: supporting on Linux kernel 3.x

Noor Ahsan (1):
bluez4: Added new recipe 4.96 and removed 4.82 version

Quoted 6 lines

Phil Blundell (5):
pixman: remove spurious dependency on libx11
libx11: skip self if x11 not in DISTRO_FEATURES
cairo: only use x11 if selected in DISTRO_FEATURES
dbus: only use x11 if DISTRO_FEATURES has selected it
default-distrovars: add x11 to default DISTRO_FEATURES

I merged these apart from:

image: populate site config files into roootfs. meta-toolchain/environment: Use site config in rootfs.

which are going to need rethinking.

Cheers,

Richard