Various Fixes
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.patchSignature · 1 line
1.7.6
[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
@@ -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
@@ -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
[CONSOLIDATED PULL 01/12] bluez4: Added new recipe 4.96 and removed 4.82 version
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
@@ -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
meta/recipes-connectivity/bluez/bluez4_4.96.bb renamed from meta/recipes-connectivity/bluez/bluez4_4.82.bb +2 -4
@@ -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
[CONSOLIDATED PULL 03/12] utils.bbclass/multilib.class: Added misc supporting functions.
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
@@ -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
@@ -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
[CONSOLIDATED PULL 04/12] eglibc: Modify ldd script according to multilib config.
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
@@ -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
[CONSOLIDATED PULL 10/12] cairo: only use x11 if selected in DISTRO_FEATURES
In reply to Saul WoldFrom: 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
@@ -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
[CONSOLIDATED PULL 07/12] intltool: Use nativeperl binary for PERL instead of 'perl'
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
@@ -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
[CONSOLIDATED PULL 11/12] dbus: only use x11 if DISTRO_FEATURES has selected it
In reply to Saul WoldFrom: 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
@@ -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
[CONSOLIDATED PULL 12/12] default-distrovars: add x11 to default DISTRO_FEATURES
In reply to Saul WoldFrom: 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
@@ -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
[CONSOLIDATED PULL 08/12] pixman: remove spurious dependency on libx11
In reply to Saul WoldFrom: 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
@@ -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
[CONSOLIDATED PULL 06/12] meta-toolchain/environment: Use site config in rootfs.
In reply to Saul WoldFrom: 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
@@ -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
@@ -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
@@ -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
[CONSOLIDATED PULL 05/12] image: populate site config files into roootfs.
In reply to Saul WoldFrom: 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
@@ -1,4 +1,5 @@ inherit rootfs_${IMAGE_PKGTYPE} +inherit toolchain-scripts IMAGETEST ?= "dummy" inherit imagetest-${IMAGETEST}
meta/classes/siteinfo.bbclass +3 -1
@@ -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
@@ -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
[CONSOLIDATED PULL 09/12] libx11: skip self if x11 not in DISTRO_FEATURES
In reply to Saul WoldFrom: 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
@@ -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
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-contribsgw/stage
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=sgw/stageKhem 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.xNoor 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 inDISTRO_FEATURES
cairo: only use x11 if selected inDISTRO_FEATURES
dbus: only use x11 ifDISTRO_FEATUREShas selected it
default-distrovars: add x11 to defaultDISTRO_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
Re: [CONSOLIDATED PULL 03/12] utils.bbclass/multilib.class: Added misc supporting functions.
In reply to Saul WoldQuoted 11 lines · Saul Wold
From: Lianhao Lu <[email protected]>
1. Added variable
MULTILIB_VARIANTSto store all the instance variants for multilib extend.2. Added function
all_multilib_tune_valuesto 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
Signed-off-by Lianhao Lu <[email protected]>--- 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