aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKlaus Kurzmann <mok@fluxnetz.de>2009-12-15 14:48:49 +0100
committerKlaus Kurzmann <mok@fluxnetz.de>2009-12-15 14:48:49 +0100
commit2598548bd9e250da9c2eb1c1b83f8bd97a937151 (patch)
tree24b5b784b3a4b44b0ea353405d4f8d5a4ebc7dd1
parent0bad67eed30abf02e5b32400263642b3b6aa2dc5 (diff)
parent54fa869952dc6b7c2f05018f65434877257d44de (diff)
downloadopenembedded-2598548bd9e250da9c2eb1c1b83f8bd97a937151.tar.gz
Merge branch 'martin_jansa/srcpv' into shr/merge
Conflicts: conf/distro/include/angstrom-2008-preferred-versions.inc recipes/uclibc/uclibc_nptl.bb Signed-off-by: Klaus Kurzmann <mok@fluxnetz.de>
-rw-r--r--conf/checksums.ini8
-rw-r--r--conf/distro/include/angstrom-2008-preferred-versions.inc4
-rw-r--r--conf/distro/include/sane-srcrevs.inc2
-rw-r--r--recipes/gcc/gcc-cross-initial_svn.bb2
-rw-r--r--recipes/gcc/gcc-cross-intermediate_svn.bb2
-rw-r--r--recipes/gcc/gcc-cross-sdk_svn.bb2
-rw-r--r--recipes/gcc/gcc-cross_svn.bb2
-rw-r--r--recipes/gcc/gcc-svn.inc2
-rw-r--r--recipes/gnome/zenity_2.28.0.bb11
-rw-r--r--recipes/kexec-tools/files/dietlibc.patch (renamed from recipes/kexec/files/dietlibc.patch)0
-rw-r--r--recipes/kexec-tools/files/fix-arm-arch-detection.patch (renamed from recipes/kexec/files/fix-arm-arch-detection.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-arm-atags.patch (renamed from recipes/kexec/files/kexec-arm-atags.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-klibc.patch (renamed from recipes/kexec/files/kexec-klibc.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-static.patch (renamed from recipes/kexec/files/kexec-static.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-tools-2-arm-add-uImage.patch (renamed from recipes/kexec/files/kexec-tools-2-arm-add-uImage.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-tools-2-headers.patch (renamed from recipes/kexec/files/kexec-tools-2-headers.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-tools-2-klibc.patch (renamed from recipes/kexec/files/kexec-tools-2-klibc.patch)0
-rw-r--r--recipes/kexec-tools/files/kexec-tools-arm.patch (renamed from recipes/kexec/files/kexec-tools-arm.patch)0
-rw-r--r--recipes/kexec-tools/files/no-getline-no-fscanf.patch (renamed from recipes/kexec/files/no-getline-no-fscanf.patch)0
-rw-r--r--recipes/kexec-tools/kexec-tools-dietlibc_2.0.1.bb (renamed from recipes/kexec/kexec-tools-dietlibc_2.0.1.bb)4
-rw-r--r--recipes/kexec-tools/kexec-tools-klibc-static_1.101.bb (renamed from recipes/kexec/kexec-tools-klibc-static_1.101.bb)7
-rw-r--r--recipes/kexec-tools/kexec-tools-klibc-static_2.0.1.bb (renamed from recipes/kexec/kexec-tools-klibc-static_2.0.1.bb)0
-rw-r--r--recipes/kexec-tools/kexec-tools.inc (renamed from recipes/kexec/kexec-tools.inc)0
-rw-r--r--recipes/kexec-tools/kexec-tools2.inc (renamed from recipes/kexec/kexec-tools2.inc)0
-rw-r--r--recipes/kexec-tools/kexec-tools_1.101.bb (renamed from recipes/kexec/kexec-tools_1.101.bb)0
-rw-r--r--recipes/kexec-tools/kexec-tools_2.0.1.bb (renamed from recipes/kexec/kexec-tools_2.0.1.bb)0
-rw-r--r--recipes/linux-libc-headers/linux-libc-headers-2.6.32/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch429
-rw-r--r--recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb50
-rw-r--r--recipes/mesa/mesa-common-old.inc5
-rw-r--r--recipes/mesa/mesa-dri_6.5.2.bb2
-rw-r--r--recipes/mesa/mesa-dri_7.0.3.bb2
-rw-r--r--recipes/mesa/mesa-xlib_7.2.bb3
-rw-r--r--recipes/mesa/mesa-xlib_7.4.bb20
-rw-r--r--recipes/mesa/mesa_6.5.2.bb4
-rw-r--r--recipes/mesa/mesa_7.0.2.bb2
-rw-r--r--recipes/mpc/mpc-native_0.8.1.bb3
-rw-r--r--recipes/mpc/mpc.inc6
-rw-r--r--recipes/mpc/mpc_0.8.1.bb10
-rw-r--r--recipes/networkmanager/networkmanager_0.7.1.997.bb6
-rw-r--r--recipes/qt4/qt4-tools-sdk_4.6.0.bb74
-rw-r--r--recipes/uclibc/uclibc_nptl.bb2
-rw-r--r--recipes/xorg-driver/xf86-input-tslib/dontfloodevents006.patch22
-rw-r--r--recipes/xorg-driver/xf86-input-tslib_0.0.6.bb4
43 files changed, 669 insertions, 21 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 8bbcd06b22..8fc614beb3 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -19158,6 +19158,10 @@ sha256=76e151048a736cf490630ace4909f2d4b65f1afe2447c7fd794d270eb956e045
md5=48897aeb3a7ee5c64f30e56789f105a8
sha256=7b549ca4af77fc5b0472df1ecd9e76d2f8415258ddcfb63dfa64a55a04e1e590
+[http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz]
+md5=5b34aa804d514cc295414a963aedb6bf
+sha256=e664603757251fd8a352848276497a4c79b7f8b21fd8aedd5cc0598a38fee3e4
+
[http://downloads.sourceforge.net/musicpd/mpd-0.11.2.tar.gz]
md5=b6e913dc4b63b161bb1b96030763c3a7
sha256=e784f78b3cce93367c105619c690465b78a88d3e4c616cc829f4cb5e66f2bbe0
@@ -31590,6 +31594,10 @@ sha256=cc3b203acbd745a7c3b6ea3d8e74d7fb07cf8f8aa92bcaa3b2edb023dee02a36
md5=6660ce6dac0a6ca495a0e954cb6b40a2
sha256=fc619215ca90cab48efae7bdf524d1de690b75832f07f3cbcb6d5c3910d402a1
+[http://ftp.gnome.org/pub/GNOME/sources/zenity/2.28/zenity-2.28.0.tar.bz2]
+md5=262c476aebbf67a7043cd80c6a03add3
+sha256=3747a23ce46b0ee68e6261d669ae461f0f460d9c6ad19e04acbd518ddfcc8c63
+
[http://www.progsoc.org/~wildfire/zeroconf/download/zeroconf-0.6.1.tar.gz]
md5=31ac40fdaf24b3e666ed83c1320dd7a5
sha256=3e93416ad44202c2952a1342dad12f2ad0e61dd3f1c59110d9ad8cb1d4c639e5
diff --git a/conf/distro/include/angstrom-2008-preferred-versions.inc b/conf/distro/include/angstrom-2008-preferred-versions.inc
index 03ba67f2f2..a001d5cfa5 100644
--- a/conf/distro/include/angstrom-2008-preferred-versions.inc
+++ b/conf/distro/include/angstrom-2008-preferred-versions.inc
@@ -20,6 +20,10 @@ PREFERRED_VERSION_libtool = "2.2.6a"
PREFERRED_VERSION_libtool-native = "2.2.6a"
PREFERRED_VERSION_libtool-cross = "2.2.6a"
PREFERRED_VERSION_libtool-sdk = "2.2.6a"
+PREFERRED_VERSION_libx11 = "1.2"
+PREFERRED_VERSION_mesa = "7.4"
+PREFERRED_VERSION_mesa-dri = "7.4"
+PREFERRED_VERSION_mesa-xlib = "7.4"
PREFERRED_VERSION_pango = "1.24.4"
#PREFERRED_VERSION_pixman = "0.13.2"
PREFERRED_VERSION_pkgconfig = "0.23"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 895f5519d2..6f3a35fc90 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -86,7 +86,7 @@ SRCREV_pn-fsoraw ?= "20"
SRCREV_pn-fstests ?= "204"
SRCREV_pn-gabriel ?= "38"
SRCREV_pn-gabriel-native ?= "38"
-GCCREV ?= "145550"
+GCCREV ?= "155234"
SRCREV_pn-gcc ?= ${GCCREV}
SRCREV_pn-gcc-cross ?= ${GCCREV}
SRCREV_pn-gcc-cross-initial ?= ${GCCREV}
diff --git a/recipes/gcc/gcc-cross-initial_svn.bb b/recipes/gcc/gcc-cross-initial_svn.bb
index 067ab61be3..0650a81ecf 100644
--- a/recipes/gcc/gcc-cross-initial_svn.bb
+++ b/recipes/gcc/gcc-cross-initial_svn.bb
@@ -1,7 +1,7 @@
require gcc-cross_${PV}.bb
require gcc-cross-initial.inc
-DEPENDS += "gmp-native mpfr-native"
+DEPENDS += "gmp-native mpfr-native mpc-native"
EXTRA_OECONF += " --disable-libmudflap \
--disable-libgomp \
diff --git a/recipes/gcc/gcc-cross-intermediate_svn.bb b/recipes/gcc/gcc-cross-intermediate_svn.bb
index a9ae5bdf20..93cd35730b 100644
--- a/recipes/gcc/gcc-cross-intermediate_svn.bb
+++ b/recipes/gcc/gcc-cross-intermediate_svn.bb
@@ -1,7 +1,7 @@
require gcc-cross_${PV}.bb
require gcc-cross-intermediate.inc
-DEPENDS += "gmp-native mpfr-native"
+DEPENDS += "mpc-native gmp-native mpfr-native"
EXTRA_OECONF += " --disable-libmudflap \
--disable-libgomp \
diff --git a/recipes/gcc/gcc-cross-sdk_svn.bb b/recipes/gcc/gcc-cross-sdk_svn.bb
index 22937da3c4..752266be5f 100644
--- a/recipes/gcc/gcc-cross-sdk_svn.bb
+++ b/recipes/gcc/gcc-cross-sdk_svn.bb
@@ -7,7 +7,7 @@ require gcc-cross-sdk.inc
require gcc-configure-sdk.inc
require gcc-package-sdk.inc
-DEPENDS += "gmp-native mpfr-native"
+DEPENDS += "mpc-native gmp-native mpfr-native"
EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \
--disable-libgomp --disable-libmudflap \
diff --git a/recipes/gcc/gcc-cross_svn.bb b/recipes/gcc/gcc-cross_svn.bb
index 2186a81944..af46e3ac88 100644
--- a/recipes/gcc/gcc-cross_svn.bb
+++ b/recipes/gcc/gcc-cross_svn.bb
@@ -4,6 +4,8 @@ require gcc-cross4.inc
require gcc-configure-cross.inc
require gcc-package-cross.inc
+DEPENDS += "mpc-native"
+
SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
EXTRA_OECONF += " --disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${prefix_native}"
diff --git a/recipes/gcc/gcc-svn.inc b/recipes/gcc/gcc-svn.inc
index ab39a73724..c39546dc96 100644
--- a/recipes/gcc/gcc-svn.inc
+++ b/recipes/gcc/gcc-svn.inc
@@ -4,7 +4,7 @@ ARM_INSTRUCTION_SET = "arm"
require gcc-common.inc
-DEPENDS = "mpfr gmp"
+DEPENDS = "mpfr gmp mpc"
GCC_BASE ?= "4.5"
PV = "${GCC_BASE}+svnr${SRCPV}"
diff --git a/recipes/gnome/zenity_2.28.0.bb b/recipes/gnome/zenity_2.28.0.bb
new file mode 100644
index 0000000000..0d8d208f16
--- /dev/null
+++ b/recipes/gnome/zenity_2.28.0.bb
@@ -0,0 +1,11 @@
+DESCRIPTION = "A tool to display dialogs from the command line and shell scripts."
+LICENSE = "GPL"
+
+DEPENDS = "gtk+ libglade glib-2.0 libnotify"
+
+inherit gnome
+
+do_configure_prepend() {
+ sed -i -e '/-I$(includedir)/d' src/Makefile.am
+}
+
diff --git a/recipes/kexec/files/dietlibc.patch b/recipes/kexec-tools/files/dietlibc.patch
index 0048d7a6a2..0048d7a6a2 100644
--- a/recipes/kexec/files/dietlibc.patch
+++ b/recipes/kexec-tools/files/dietlibc.patch
diff --git a/recipes/kexec/files/fix-arm-arch-detection.patch b/recipes/kexec-tools/files/fix-arm-arch-detection.patch
index 6116c5bb84..6116c5bb84 100644
--- a/recipes/kexec/files/fix-arm-arch-detection.patch
+++ b/recipes/kexec-tools/files/fix-arm-arch-detection.patch
diff --git a/recipes/kexec/files/kexec-arm-atags.patch b/recipes/kexec-tools/files/kexec-arm-atags.patch
index eb3cb75990..eb3cb75990 100644
--- a/recipes/kexec/files/kexec-arm-atags.patch
+++ b/recipes/kexec-tools/files/kexec-arm-atags.patch
diff --git a/recipes/kexec/files/kexec-klibc.patch b/recipes/kexec-tools/files/kexec-klibc.patch
index 090b6231f1..090b6231f1 100644
--- a/recipes/kexec/files/kexec-klibc.patch
+++ b/recipes/kexec-tools/files/kexec-klibc.patch
diff --git a/recipes/kexec/files/kexec-static.patch b/recipes/kexec-tools/files/kexec-static.patch
index 549300576e..549300576e 100644
--- a/recipes/kexec/files/kexec-static.patch
+++ b/recipes/kexec-tools/files/kexec-static.patch
diff --git a/recipes/kexec/files/kexec-tools-2-arm-add-uImage.patch b/recipes/kexec-tools/files/kexec-tools-2-arm-add-uImage.patch
index 69a1588ba2..69a1588ba2 100644
--- a/recipes/kexec/files/kexec-tools-2-arm-add-uImage.patch
+++ b/recipes/kexec-tools/files/kexec-tools-2-arm-add-uImage.patch
diff --git a/recipes/kexec/files/kexec-tools-2-headers.patch b/recipes/kexec-tools/files/kexec-tools-2-headers.patch
index 091e12d9a8..091e12d9a8 100644
--- a/recipes/kexec/files/kexec-tools-2-headers.patch
+++ b/recipes/kexec-tools/files/kexec-tools-2-headers.patch
diff --git a/recipes/kexec/files/kexec-tools-2-klibc.patch b/recipes/kexec-tools/files/kexec-tools-2-klibc.patch
index 2008829b60..2008829b60 100644
--- a/recipes/kexec/files/kexec-tools-2-klibc.patch
+++ b/recipes/kexec-tools/files/kexec-tools-2-klibc.patch
diff --git a/recipes/kexec/files/kexec-tools-arm.patch b/recipes/kexec-tools/files/kexec-tools-arm.patch
index 6e43b76096..6e43b76096 100644
--- a/recipes/kexec/files/kexec-tools-arm.patch
+++ b/recipes/kexec-tools/files/kexec-tools-arm.patch
diff --git a/recipes/kexec/files/no-getline-no-fscanf.patch b/recipes/kexec-tools/files/no-getline-no-fscanf.patch
index f2a32b4d0d..f2a32b4d0d 100644
--- a/recipes/kexec/files/no-getline-no-fscanf.patch
+++ b/recipes/kexec-tools/files/no-getline-no-fscanf.patch
diff --git a/recipes/kexec/kexec-tools-dietlibc_2.0.1.bb b/recipes/kexec-tools/kexec-tools-dietlibc_2.0.1.bb
index 0155e72793..4f49755f9d 100644
--- a/recipes/kexec/kexec-tools-dietlibc_2.0.1.bb
+++ b/recipes/kexec-tools/kexec-tools-dietlibc_2.0.1.bb
@@ -1,12 +1,10 @@
-# the binaries are statical linked against klibc
+# the binaries are statical linked against dietlibc
require kexec-tools2.inc
SRC_URI += "file://dietlibc.patch;patch=1"
inherit dietlibc
-#DEFAULT_PREFERENCE = "-1"
-
PR = "r0"
S = "${WORKDIR}/kexec-tools-${PV}"
diff --git a/recipes/kexec/kexec-tools-klibc-static_1.101.bb b/recipes/kexec-tools/kexec-tools-klibc-static_1.101.bb
index 5d131d839e..3ee699b1b3 100644
--- a/recipes/kexec/kexec-tools-klibc-static_1.101.bb
+++ b/recipes/kexec-tools/kexec-tools-klibc-static_1.101.bb
@@ -1,7 +1,7 @@
# the binaries are statical linked against klibc
require kexec-tools.inc
-PR = "r6"
+PR = "r7"
DEPENDS = "klibc"
SRC_URI += "file://kexec-static.patch;patch=1 \
@@ -13,11 +13,6 @@ EXTRA_OECONF = " --without-zlib"
export CC=${TARGET_PREFIX}klcc
-# standart oe cflags don't work with klcc
-export CFLAGS=""
-export CPPFLAGS=""
-export LDFLAGS=""
-
PACKAGES =+ "kexec-klibc-static kdump-klibc-static"
FILES_kexec-klibc-static = "${sbindir}/kexec"
diff --git a/recipes/kexec/kexec-tools-klibc-static_2.0.1.bb b/recipes/kexec-tools/kexec-tools-klibc-static_2.0.1.bb
index 1c2327f82e..1c2327f82e 100644
--- a/recipes/kexec/kexec-tools-klibc-static_2.0.1.bb
+++ b/recipes/kexec-tools/kexec-tools-klibc-static_2.0.1.bb
diff --git a/recipes/kexec/kexec-tools.inc b/recipes/kexec-tools/kexec-tools.inc
index f806e71480..f806e71480 100644
--- a/recipes/kexec/kexec-tools.inc
+++ b/recipes/kexec-tools/kexec-tools.inc
diff --git a/recipes/kexec/kexec-tools2.inc b/recipes/kexec-tools/kexec-tools2.inc
index a21afe4003..a21afe4003 100644
--- a/recipes/kexec/kexec-tools2.inc
+++ b/recipes/kexec-tools/kexec-tools2.inc
diff --git a/recipes/kexec/kexec-tools_1.101.bb b/recipes/kexec-tools/kexec-tools_1.101.bb
index f74c7bcd83..f74c7bcd83 100644
--- a/recipes/kexec/kexec-tools_1.101.bb
+++ b/recipes/kexec-tools/kexec-tools_1.101.bb
diff --git a/recipes/kexec/kexec-tools_2.0.1.bb b/recipes/kexec-tools/kexec-tools_2.0.1.bb
index 606b3fd634..606b3fd634 100644
--- a/recipes/kexec/kexec-tools_2.0.1.bb
+++ b/recipes/kexec-tools/kexec-tools_2.0.1.bb
diff --git a/recipes/linux-libc-headers/linux-libc-headers-2.6.32/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch b/recipes/linux-libc-headers/linux-libc-headers-2.6.32/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch
new file mode 100644
index 0000000000..1dee314700
--- /dev/null
+++ b/recipes/linux-libc-headers/linux-libc-headers-2.6.32/0001-implement-TIF_RESTORE_SIGMASK-support-and-enable-the.patch
@@ -0,0 +1,429 @@
+Path: news.gmane.org!not-for-mail
+From: Mikael Pettersson <mikpe@it.uu.se>
+Newsgroups: gmane.linux.ports.arm.kernel
+Subject: [PATCH][v3] ARM support for
+ TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait
+Date: Sat, 15 Aug 2009 13:09:28 +0200 (MEST)
+Lines: 362
+Approved: news@gmane.org
+Message-ID: <200908151109.n7FB9Sbs000150@pilspetsen.it.uu.se>
+NNTP-Posting-Host: lo.gmane.org
+Mime-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+X-Trace: ger.gmane.org 1250334940 22899 80.91.229.12 (15 Aug 2009 11:15:40 GMT)
+X-Complaints-To: usenet@ger.gmane.org
+NNTP-Posting-Date: Sat, 15 Aug 2009 11:15:40 +0000 (UTC)
+To: linux-arm-kernel@lists.arm.linux.org.uk
+Original-X-From: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.arm.linux.org.uk Sat Aug 15 13:15:33 2009
+Return-path: <linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.arm.linux.org.uk>
+Envelope-to: linux-arm-kernel@m.gmane.org
+Original-Received: from zeniv.linux.org.uk ([195.92.253.2])
+ by lo.gmane.org with esmtp (Exim 4.50)
+ id 1McHER-0000U2-PG
+ for linux-arm-kernel@m.gmane.org; Sat, 15 Aug 2009 13:15:31 +0200
+Original-Received: from [2002:4e20:1eda:1:201:3dff:fe00:156] (helo=lists.arm.linux.org.uk)
+ by ZenIV.linux.org.uk with esmtpsa (Exim 4.69 #1 (Red Hat Linux))
+ id 1McH9u-0005LV-3W; Sat, 15 Aug 2009 11:10:57 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=arm.linux.org.uk; s=lists; h=Date:Message-Id:From:To:Subject:
+ List-Id:List-Unsubscribe:List-Archive:List-Post:List-Help:
+ List-Subscribe:MIME-Version:Content-Type:
+ Content-Transfer-Encoding; bh=RVq9hPAexlUcptd3h6j5nomOyoEIjcDWAP
+ VeJtlhsa4=; b=HAoqRMC9svNzKlR0f938E0cRlLoJZvG2aSun171woWZAClu/Ud
+ IYN0iD2vm4eF+kYQkTYD6PGFCMbNnugmZe6gCpS0QhijoKyOzRBdykQHJuOLQtLE
+ q9KJzp24cQ/vwsV2+O1OqcmIFboIg2L5JQaUuv0djS7OkdspH0ysmi1lg=
+Original-Received: from [::1] (helo=lists.arm.linux.org.uk)
+ by lists.arm.linux.org.uk with esmtp (Exim 4.69)
+ (envelope-from <linux-arm-kernel-bounces@lists.arm.linux.org.uk>)
+ id 1McH9o-0002us-34; Sat, 15 Aug 2009 12:10:44 +0100
+Original-Received: from aun.it.uu.se ([130.238.12.36] ident=root)
+ by lists.arm.linux.org.uk with esmtps (TLSv1:AES256-SHA:256)
+ (Exim 4.69) (envelope-from <mikpe@user.it.uu.se>) id 1McH8h-0002uj-Ck
+ for linux-arm-kernel@lists.arm.linux.org.uk;
+ Sat, 15 Aug 2009 12:09:35 +0100
+Original-Received: from pilspetsen.it.uu.se (daemon@pilspetsen.it.uu.se [130.238.18.39])
+ by aun.it.uu.se (8.13.6/8.13.6) with ESMTP id n7FB9S04005839
+ for <linux-arm-kernel@lists.arm.linux.org.uk>;
+ Sat, 15 Aug 2009 13:09:28 +0200 (MEST)
+Original-Received: (from mikpe@localhost)
+ by pilspetsen.it.uu.se (8.13.8+Sun/8.13.7) id n7FB9Sbs000150
+ for linux-arm-kernel@lists.arm.linux.org.uk;
+ Sat, 15 Aug 2009 13:09:28 +0200 (MEST)
+X-BeenThere: linux-arm-kernel@lists.arm.linux.org.uk
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: ARM Linux kernel discussions <linux-arm-kernel.lists.arm.linux.org.uk>
+List-Unsubscribe: <http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=unsubscribe>
+List-Archive: <http://lists.arm.linux.org.uk/lurker/list/linux-arm-kernel.html>
+List-Post: <mailto:linux-arm-kernel@lists.arm.linux.org.uk>
+List-Help: <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=help>
+List-Subscribe: <http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=subscribe>
+Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.arm.linux.org.uk
+Xref: news.gmane.org gmane.linux.ports.arm.kernel:64340
+Archived-At: <http://permalink.gmane.org/gmane.linux.ports.arm.kernel/64340>
+
+This patch adds support for TIF_RESTORE_SIGMASK to ARM's signal handling,
+which allows to hook up the pselect6, ppoll, and epoll_pwait syscalls on ARM.
+
+Tested here with eabi userspace and a test program with a deliberate race
+between a child's exit and the parent's sigprocmask/select sequence.
+Using sys_pselect6() instead of sigprocmask/select reliably prevents the race.
+
+The other arch's support for TIF_RESTORE_SIGMASK has evolved over time:
+
+In 2.6.16:
+- add TIF_RESTORE_SIGMASK which parallels TIF_SIGPENDING
+- test both when checking for pending signal [bad, changed later]
+- reimplement sys_sigsuspend() to use current->saved_sigmask,
+ TIF_RESTORE_SIGMASK [changed later], and -ERESTARTNOHAND;
+ ditto for sys_rt_sigsuspend(), but drop private code and
+ use common code via __ARCH_WANT_SYS_RT_SIGSUSPEND;
+- there are now no "extra" calls to do_signal() so its oldset
+ parameter is always &current->blocked so need not be passed,
+ also its return value is changed to void
+- change handle_signal() to return 0/-errno
+- change do_signal() to honor TIF_RESTORE_SIGMASK:
+ + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set
+ + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK
+ + if no signal was delivered and TIF_RESTORE_SIGMASK is set then
+ clear it and restore the sigmask
+- hook up sys_pselect6() and sys_ppoll()
+
+In 2.6.19:
+- hook up sys_epoll_pwait()
+
+In 2.6.26:
+- allow archs to override how TIF_RESTORE_SIGMASK is implemented;
+ default set_restore_sigmask() sets both TIF_RESTORE_SIGMASK and
+ TIF_SIGPENDING; archs need now just test TIF_SIGPENDING again
+ when checking for pending signal work; some archs now implement
+ TIF_RESTORE_SIGMASK as a secondary/non-atomic thread flag bit
+- call set_restore_sigmask() in sys_sigsuspend() instead of setting
+ TIF_RESTORE_SIGMASK
+
+In 2.6.29-rc:
+- kill sys_pselect7() which no arch wanted
+
+So for 2.6.31-rc6/ARM this patch does the following:
+- Add TIF_RESTORE_SIGMASK. Use the generic set_restore_sigmask()
+ which sets both TIF_SIGPENDING and TIF_RESTORE_SIGMASK, so
+ TIF_RESTORE_SIGMASK need not claim one of the scarce low thread
+ flags, and existing TIF_SIGPENDING and _TIF_WORK_MASK tests need
+ not be extended for TIF_RESTORE_SIGMASK.
+- sys_sigsuspend() is reimplemented to use current->saved_sigmask and
+ set_restore_sigmask(), making it identical to most other archs.
+- The private code for sys_rt_sigsuspend() is removed, instead generic
+ code supplies it via __ARCH_WANT_SYS_RT_SIGSUSPEND.
+- sys_sigsuspend() and sys_rt_sigsuspend() no longer need a pt_regs
+ parameter, so their assembly code wrappers are removed.
+- handle_signal() is changed to return 0 on success or -errno.
+- The oldset parameter to do_signal() is now redundant and removed,
+ and the return value is now also redundant so it's changed to void.
+- do_signal() is changed to honor TIF_RESTORE_SIGMASK:
+ + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set
+ + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK
+ + if no signal was delivered and TIF_RESTORE_SIGMASK is set then
+ clear it and restore the sigmask
+- Hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait.
+
+Signed-off-by: Mikael Pettersson
+---
+Changes from previous versions:
+
+v2 (only posted as incremental diff against v1):
+- moved sigmask restoration in no-signal-delivered case into
+ "if (syscall)" block for extra protection against exception
+ path also invoking do_signal()
+v3 (this version):
+- moved oldset initialisation into "if (signr > 0)" block,
+ as requested by Russell
+
+ arch/arm/include/asm/thread_info.h | 2
+ arch/arm/include/asm/unistd.h | 7 +--
+ arch/arm/kernel/calls.S | 10 ++--
+ arch/arm/kernel/entry-common.S | 10 ----
+ arch/arm/kernel/signal.c | 86 +++++++++++++++----------------------
+ 5 files changed, 48 insertions(+), 67 deletions(-)
+
+diff -rupN linux-2.6.31-rc6/arch/arm/include/asm/thread_info.h linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/thread_info.h
+--- linux-2.6.31-rc6/arch/arm/include/asm/thread_info.h 2009-08-14 11:11:10.000000000 +0200
++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/thread_info.h 2009-08-14 11:26:44.000000000 +0200
+@@ -140,6 +140,7 @@ extern void vfp_sync_state(struct thread
+ #define TIF_USING_IWMMXT 17
+ #define TIF_MEMDIE 18
+ #define TIF_FREEZE 19
++#define TIF_RESTORE_SIGMASK 20
+
+ #define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
+ #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
+@@ -147,6 +148,7 @@ extern void vfp_sync_state(struct thread
+ #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
+ #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT)
+ #define _TIF_FREEZE (1 << TIF_FREEZE)
++#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
+
+ /*
+ * Change these and you break ASM code in entry-common.S
+diff -rupN linux-2.6.31-rc6/arch/arm/include/asm/unistd.h linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/unistd.h
+--- linux-2.6.31-rc6/arch/arm/include/asm/unistd.h 2009-08-14 11:11:10.000000000 +0200
++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/include/asm/unistd.h 2009-08-14 11:26:44.000000000 +0200
+@@ -360,8 +360,8 @@
+ #define __NR_readlinkat (__NR_SYSCALL_BASE+332)
+ #define __NR_fchmodat (__NR_SYSCALL_BASE+333)
+ #define __NR_faccessat (__NR_SYSCALL_BASE+334)
+- /* 335 for pselect6 */
+- /* 336 for ppoll */
++#define __NR_pselect6 (__NR_SYSCALL_BASE+335)
++#define __NR_ppoll (__NR_SYSCALL_BASE+336)
+ #define __NR_unshare (__NR_SYSCALL_BASE+337)
+ #define __NR_set_robust_list (__NR_SYSCALL_BASE+338)
+ #define __NR_get_robust_list (__NR_SYSCALL_BASE+339)
+@@ -372,7 +372,7 @@
+ #define __NR_vmsplice (__NR_SYSCALL_BASE+343)
+ #define __NR_move_pages (__NR_SYSCALL_BASE+344)
+ #define __NR_getcpu (__NR_SYSCALL_BASE+345)
+- /* 346 for epoll_pwait */
++#define __NR_epoll_pwait (__NR_SYSCALL_BASE+346)
+ #define __NR_kexec_load (__NR_SYSCALL_BASE+347)
+ #define __NR_utimensat (__NR_SYSCALL_BASE+348)
+ #define __NR_signalfd (__NR_SYSCALL_BASE+349)
+@@ -432,6 +432,7 @@
+ #define __ARCH_WANT_SYS_SIGPENDING
+ #define __ARCH_WANT_SYS_SIGPROCMASK
+ #define __ARCH_WANT_SYS_RT_SIGACTION
++#define __ARCH_WANT_SYS_RT_SIGSUSPEND
+
+ #if !defined(CONFIG_AEABI) || defined(CONFIG_OABI_COMPAT)
+ #define __ARCH_WANT_SYS_TIME
+diff -rupN linux-2.6.31-rc6/arch/arm/kernel/calls.S linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/calls.S
+--- linux-2.6.31-rc6/arch/arm/kernel/calls.S 2009-08-14 11:11:10.000000000 +0200
++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/calls.S 2009-08-14 11:26:44.000000000 +0200
+@@ -81,7 +81,7 @@
+ CALL(sys_ni_syscall) /* was sys_ssetmask */
+ /* 70 */ CALL(sys_setreuid16)
+ CALL(sys_setregid16)
+- CALL(sys_sigsuspend_wrapper)
++ CALL(sys_sigsuspend)
+ CALL(sys_sigpending)
+ CALL(sys_sethostname)
+ /* 75 */ CALL(sys_setrlimit)
+@@ -188,7 +188,7 @@
+ CALL(sys_rt_sigpending)
+ CALL(sys_rt_sigtimedwait)
+ CALL(sys_rt_sigqueueinfo)
+- CALL(sys_rt_sigsuspend_wrapper)
++ CALL(sys_rt_sigsuspend)
+ /* 180 */ CALL(ABI(sys_pread64, sys_oabi_pread64))
+ CALL(ABI(sys_pwrite64, sys_oabi_pwrite64))
+ CALL(sys_chown16)
+@@ -344,8 +344,8 @@
+ CALL(sys_readlinkat)
+ CALL(sys_fchmodat)
+ CALL(sys_faccessat)
+-/* 335 */ CALL(sys_ni_syscall) /* eventually pselect6 */
+- CALL(sys_ni_syscall) /* eventually ppoll */
++/* 335 */ CALL(sys_pselect6)
++ CALL(sys_ppoll)
+ CALL(sys_unshare)
+ CALL(sys_set_robust_list)
+ CALL(sys_get_robust_list)
+@@ -355,7 +355,7 @@
+ CALL(sys_vmsplice)
+ CALL(sys_move_pages)
+ /* 345 */ CALL(sys_getcpu)
+- CALL(sys_ni_syscall) /* eventually epoll_pwait */
++ CALL(sys_epoll_pwait)
+ CALL(sys_kexec_load)
+ CALL(sys_utimensat)
+ CALL(sys_signalfd)
+diff -rupN linux-2.6.31-rc6/arch/arm/kernel/entry-common.S linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/entry-common.S
+--- linux-2.6.31-rc6/arch/arm/kernel/entry-common.S 2009-08-14 11:11:10.000000000 +0200
++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/entry-common.S 2009-08-14 11:26:44.000000000 +0200
+@@ -373,16 +373,6 @@ sys_clone_wrapper:
+ b sys_clone
+ ENDPROC(sys_clone_wrapper)
+
+-sys_sigsuspend_wrapper:
+- add r3, sp, #S_OFF
+- b sys_sigsuspend
+-ENDPROC(sys_sigsuspend_wrapper)
+-
+-sys_rt_sigsuspend_wrapper:
+- add r2, sp, #S_OFF
+- b sys_rt_sigsuspend
+-ENDPROC(sys_rt_sigsuspend_wrapper)
+-
+ sys_sigreturn_wrapper:
+ add r0, sp, #S_OFF
+ b sys_sigreturn
+diff -rupN linux-2.6.31-rc6/arch/arm/kernel/signal.c linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/signal.c
+--- linux-2.6.31-rc6/arch/arm/kernel/signal.c 2009-08-14 11:11:10.000000000 +0200
++++ linux-2.6.31-rc6.arm-restore-sigmask-v3/arch/arm/kernel/signal.c 2009-08-14 11:26:44.000000000 +0200
+@@ -47,57 +47,22 @@ const unsigned long sigreturn_codes[7] =
+ MOV_R7_NR_RT_SIGRETURN, SWI_SYS_RT_SIGRETURN, SWI_THUMB_RT_SIGRETURN,
+ };
+
+-static int do_signal(sigset_t *oldset, struct pt_regs * regs, int syscall);
+-
+ /*
+ * atomically swap in the new signal mask, and wait for a signal.
+ */
+-asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask, struct pt_regs *regs)
++asmlinkage int sys_sigsuspend(int restart, unsigned long oldmask, old_sigset_t mask)
+ {
+- sigset_t saveset;
+-
+ mask &= _BLOCKABLE;
+ spin_lock_irq(&current->sighand->siglock);
+- saveset = current->blocked;
++ current->saved_sigmask = current->blocked;
+ siginitset(&current->blocked, mask);
+ recalc_sigpending();
+ spin_unlock_irq(&current->sighand->siglock);
+- regs->ARM_r0 = -EINTR;
+-
+- while (1) {
+- current->state = TASK_INTERRUPTIBLE;
+- schedule();
+- if (do_signal(&saveset, regs, 0))
+- return regs->ARM_r0;
+- }
+-}
+-
+-asmlinkage int
+-sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs *regs)
+-{
+- sigset_t saveset, newset;
+-
+- /* XXX: Don't preclude handling different sized sigset_t's. */
+- if (sigsetsize != sizeof(sigset_t))
+- return -EINVAL;
+-
+- if (copy_from_user(&newset, unewset, sizeof(newset)))
+- return -EFAULT;
+- sigdelsetmask(&newset, ~_BLOCKABLE);
+-
+- spin_lock_irq(&current->sighand->siglock);
+- saveset = current->blocked;
+- current->blocked = newset;
+- recalc_sigpending();
+- spin_unlock_irq(&current->sighand->siglock);
+- regs->ARM_r0 = -EINTR;
+
+- while (1) {
+- current->state = TASK_INTERRUPTIBLE;
+- schedule();
+- if (do_signal(&saveset, regs, 0))
+- return regs->ARM_r0;
+- }
++ current->state = TASK_INTERRUPTIBLE;
++ schedule();
++ set_restore_sigmask();
++ return -ERESTARTNOHAND;
+ }
+
+ asmlinkage int
+@@ -545,7 +510,7 @@ static inline void setup_syscall_restart
+ /*
+ * OK, we're invoking a handler
+ */
+-static void
++static int
+ handle_signal(unsigned long sig, struct k_sigaction *ka,
+ siginfo_t *info, sigset_t *oldset,
+ struct pt_regs * regs, int syscall)
+@@ -596,7 +561,7 @@ handle_signal(unsigned long sig, struct
+
+ if (ret != 0) {
+ force_sigsegv(sig, tsk);
+- return;
++ return ret;
+ }
+
+ /*
+@@ -610,6 +575,7 @@ handle_signal(unsigned long sig, struct
+ recalc_sigpending();
+ spin_unlock_irq(&tsk->sighand->siglock);
+
++ return 0;
+ }
+
+ /*
+@@ -621,7 +587,7 @@ handle_signal(unsigned long sig, struct
+ * the kernel can handle, and then we build all the user-level signal handling
+ * stack-frames in one go after that.
+ */
+-static int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall)
++static void do_signal(struct pt_regs *regs, int syscall)
+ {
+ struct k_sigaction ka;
+ siginfo_t info;
+@@ -634,7 +600,7 @@ static int do_signal(sigset_t *oldset, s
+ * if so.
+ */
+ if (!user_mode(regs))
+- return 0;
++ return;
+
+ if (try_to_freeze())
+ goto no_signal;
+@@ -643,9 +609,24 @@ static int do_signal(sigset_t *oldset, s
+
+ signr = get_signal_to_deliver(&info, &ka, regs, NULL);
+ if (signr > 0) {
+- handle_signal(signr, &ka, &info, oldset, regs, syscall);
++ sigset_t *oldset;
++
++ if (test_thread_flag(TIF_RESTORE_SIGMASK))
++ oldset = &current->saved_sigmask;
++ else
++ oldset = &current->blocked;
++ if (handle_signal(signr, &ka, &info, oldset, regs, syscall) == 0) {
++ /*
++ * A signal was successfully delivered; the saved
++ * sigmask will have been stored in the signal frame,
++ * and will be restored by sigreturn, so we can simply
++ * clear the TIF_RESTORE_SIGMASK flag.
++ */
++ if (test_thread_flag(TIF_RESTORE_SIGMASK))
++ clear_thread_flag(TIF_RESTORE_SIGMASK);
++ }
+ single_step_set(current);
+- return 1;
++ return;
+ }
+
+ no_signal:
+@@ -697,14 +678,21 @@ static int do_signal(sigset_t *oldset, s
+ regs->ARM_r0 == -ERESTARTNOINTR) {
+ setup_syscall_restart(regs);
+ }
++
++ /* If there's no signal to deliver, we just put the saved sigmask
++ * back.
++ */
++ if (test_thread_flag(TIF_RESTORE_SIGMASK)) {
++ clear_thread_flag(TIF_RESTORE_SIGMASK);
++ sigprocmask(SIG_SETMASK, &current->saved_sigmask, NULL);
++ }
+ }
+ single_step_set(current);
+- return 0;
+ }
+
+ asmlinkage void
+ do_notify_resume(struct pt_regs *regs, unsigned int thread_flags, int syscall)
+ {
+ if (thread_flags & _TIF_SIGPENDING)
+- do_signal(&current->blocked, regs, syscall);
++ do_signal(regs, syscall);
+ }
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+
diff --git a/recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb b/recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb
new file mode 100644
index 0000000000..6e1fdb0996
--- /dev/null
+++ b/recipes/linux-libc-headers/linux-libc-headers_2.6.32.bb
@@ -0,0 +1,50 @@
+require linux-libc-headers.inc
+
+INHIBIT_DEFAULT_DEPS = "1"
+DEPENDS += "unifdef-native"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+ "
+S = "${WORKDIR}/linux-${PV}"
+
+set_arch() {
+ case ${TARGET_ARCH} in
+ alpha*) ARCH=alpha ;;
+ arm*) ARCH=arm ;;
+ cris*) ARCH=cris ;;
+ hppa*) ARCH=parisc ;;
+ i*86*) ARCH=i386 ;;
+ ia64*) ARCH=ia64 ;;
+ mips*) ARCH=mips ;;
+ m68k*) ARCH=m68k ;;
+ powerpc*) ARCH=powerpc ;;
+ s390*) ARCH=s390 ;;
+ sh*) ARCH=sh ;;
+ sparc64*) ARCH=sparc64 ;;
+ sparc*) ARCH=sparc ;;
+ x86_64*) ARCH=x86_64 ;;
+ avr32*) ARCH=avr32 ;;
+ bfin*) ARCH=blackfin ;;
+ esac
+}
+
+do_configure() {
+ set_arch
+ oe_runmake allnoconfig ARCH=$ARCH
+}
+
+do_compile () {
+}
+
+do_install() {
+ set_arch
+ oe_runmake headers_install INSTALL_HDR_PATH=${D}${exec_prefix} ARCH=$ARCH
+}
+
+do_stage () {
+ set_arch
+ oe_runmake headers_install INSTALL_HDR_PATH=${STAGING_DIR_HOST}${layout_prefix} ARCH=$ARCH
+}
diff --git a/recipes/mesa/mesa-common-old.inc b/recipes/mesa/mesa-common-old.inc
index 402a82a6b3..a88a07f019 100644
--- a/recipes/mesa/mesa-common-old.inc
+++ b/recipes/mesa/mesa-common-old.inc
@@ -3,8 +3,13 @@ PE = "2"
SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2 \
file://mklib-rpath-link.patch;patch=1"
+
S = "${WORKDIR}/Mesa-${PV}"
+PROVIDES = "virtual/libgl"
+
LICENSE = "LGPL"
+INC_PR = "r3"
+
DEPENDS = "makedepend-native xf86vidmodeproto glproto virtual/libx11 libxext libxxf86vm libxi libxmu libice"
diff --git a/recipes/mesa/mesa-dri_6.5.2.bb b/recipes/mesa/mesa-dri_6.5.2.bb
index f94ea8b3d2..594848fd8b 100644
--- a/recipes/mesa/mesa-dri_6.5.2.bb
+++ b/recipes/mesa/mesa-dri_6.5.2.bb
@@ -6,7 +6,7 @@ FILESPATH = "${FILE_DIRNAME}/mesa-${PV}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
PACKAGES_DYNAMIC = "mesa-dri-driver-*"
-PR = "r2"
+PR = "${INC_PR}.0"
DEPENDS += "libdrm"
# DRI is useless without the kernel drivers
diff --git a/recipes/mesa/mesa-dri_7.0.3.bb b/recipes/mesa/mesa-dri_7.0.3.bb
index 330efb23af..0cb2fe2cce 100644
--- a/recipes/mesa/mesa-dri_7.0.3.bb
+++ b/recipes/mesa/mesa-dri_7.0.3.bb
@@ -7,7 +7,7 @@ FILESPATH = "${FILE_DIRNAME}/mesa-${PV}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
PACKAGES_DYNAMIC = "mesa-dri-driver-*"
-PR = "r1"
+PR = "${INC_PR}.0"
DEPENDS += "libdrm"
# DRI is useless without the kernel drivers
diff --git a/recipes/mesa/mesa-xlib_7.2.bb b/recipes/mesa/mesa-xlib_7.2.bb
index f6c44ebdb0..1e752dce6f 100644
--- a/recipes/mesa/mesa-xlib_7.2.bb
+++ b/recipes/mesa/mesa-xlib_7.2.bb
@@ -5,7 +5,8 @@ LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
-PR = "r4"
+PE = "1"
+PR = "${INC_PR}.0"
EXTRA_OECONF += "--with-driver=xlib"
diff --git a/recipes/mesa/mesa-xlib_7.4.bb b/recipes/mesa/mesa-xlib_7.4.bb
new file mode 100644
index 0000000000..1e752dce6f
--- /dev/null
+++ b/recipes/mesa/mesa-xlib_7.4.bb
@@ -0,0 +1,20 @@
+include mesa-common.inc
+
+PROTO_DEPS = "xf86driproto glproto"
+LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PE = "1"
+PR = "${INC_PR}.0"
+
+EXTRA_OECONF += "--with-driver=xlib"
+
+PACKAGES =+ "${PN}-xprogs"
+
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+do_install_append () {
+ install -d ${D}/${bindir}
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/${bindir}
+}
diff --git a/recipes/mesa/mesa_6.5.2.bb b/recipes/mesa/mesa_6.5.2.bb
index 79993cc1f1..66078e1a7b 100644
--- a/recipes/mesa/mesa_6.5.2.bb
+++ b/recipes/mesa/mesa_6.5.2.bb
@@ -1,7 +1,7 @@
-PR = "r1"
-
include mesa-mesa.inc
+PR = "${INC_PR}.0"
+
SRC_URI_append = " file://fix-host-compile.patch;patch=1 "
diff --git a/recipes/mesa/mesa_7.0.2.bb b/recipes/mesa/mesa_7.0.2.bb
index 3eb1fbef8b..66078e1a7b 100644
--- a/recipes/mesa/mesa_7.0.2.bb
+++ b/recipes/mesa/mesa_7.0.2.bb
@@ -1,5 +1,7 @@
include mesa-mesa.inc
+PR = "${INC_PR}.0"
+
SRC_URI_append = " file://fix-host-compile.patch;patch=1 "
diff --git a/recipes/mpc/mpc-native_0.8.1.bb b/recipes/mpc/mpc-native_0.8.1.bb
new file mode 100644
index 0000000000..8dba0b7fc4
--- /dev/null
+++ b/recipes/mpc/mpc-native_0.8.1.bb
@@ -0,0 +1,3 @@
+require mpc_${PV}.bb
+inherit native
+DEPENDS = "mpfr-native gmp-native"
diff --git a/recipes/mpc/mpc.inc b/recipes/mpc/mpc.inc
new file mode 100644
index 0000000000..6e18e588be
--- /dev/null
+++ b/recipes/mpc/mpc.inc
@@ -0,0 +1,6 @@
+DESCRIPTION = "Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as Mpfr"
+HOMEPAGE = "http://www.multiprecision.org/"
+LICENSE = "LGPLv2"
+SECTION = "libs"
+
+inherit autotools
diff --git a/recipes/mpc/mpc_0.8.1.bb b/recipes/mpc/mpc_0.8.1.bb
new file mode 100644
index 0000000000..b62c08673e
--- /dev/null
+++ b/recipes/mpc/mpc_0.8.1.bb
@@ -0,0 +1,10 @@
+require mpc.inc
+
+DEPENDS = "gmp mpfr"
+
+SRC_URI = "http://www.multiprecision.org/mpc/download/mpc-${PV}.tar.gz"
+S = "${WORKDIR}/mpc-${PV}"
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/networkmanager/networkmanager_0.7.1.997.bb b/recipes/networkmanager/networkmanager_0.7.1.997.bb
index fe90d7ed71..8b89f9776c 100644
--- a/recipes/networkmanager/networkmanager_0.7.1.997.bb
+++ b/recipes/networkmanager/networkmanager_0.7.1.997.bb
@@ -1,5 +1,7 @@
require networkmanager-0.7.inc
+PR = "r1"
+
SRC_URI += " \
file://remove-gtk-doc-make.patch;patch=1 \
file://nm-system-settings.conf \
@@ -22,5 +24,9 @@ do_install_append () {
install -d ${D}/etc/NetworkManager/
install -m 0644 ${WORKDIR}/nm-system-settings.conf ${D}/etc/NetworkManager/
install -m 0755 ${WORKDIR}/NetworkManager ${D}/etc/init.d
+
+ # Install an empty VPN folder as nm-connection-editor will happily segfault without it :o.
+ # With or without VPN support built in ;).
+ install -d ${D}/etc/NetworkManager/VPN
}
diff --git a/recipes/qt4/qt4-tools-sdk_4.6.0.bb b/recipes/qt4/qt4-tools-sdk_4.6.0.bb
new file mode 100644
index 0000000000..b74b8a27e0
--- /dev/null
+++ b/recipes/qt4/qt4-tools-sdk_4.6.0.bb
@@ -0,0 +1,74 @@
+DESCRIPTION = "SDK tools for Qt/[X11|Mac|Embedded] version 4.x"
+DEPENDS = "zlib-native dbus-native"
+SECTION = "libs"
+HOMEPAGE = "http://www.trolltech.com"
+PRIORITY = "optional"
+LICENSE = "LGPLv2.1 GPLv3"
+
+DEFAULT_PREFERENCE = "-1"
+inherit sdk
+
+SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
+ file://configure-lflags.patch;patch=1 \
+ file://qt-config.patch;patch=1 \
+ file://g++.conf \
+ file://linux.conf"
+
+S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
+
+
+# FIXME: make it work with "${STAGING_BINDIR_NATIVE}/pkg-config --cflags dbus-1"
+EXTRA_OECONF = "-prefix ${prefix} \
+ -qt-libjpeg -qt-gif -system-zlib \
+ -no-libjpeg -no-libpng \
+ -no-accessibility \
+ -no-cups \
+ -no-exceptions \
+ -no-nas-sound \
+ -no-nis \
+ -verbose -release -fast -static \
+ -qt3support \
+ -I${STAGING_DIR_NATIVE}/usr/include \
+ -I${STAGING_DIR_NATIVE}/usr/include/dbus-1.0 \
+ -I${STAGING_DIR_NATIVE}/usr/lib/dbus-1.0/include"
+
+# yank default -e, otherwise we get the following error:
+# moc_qbuffer.cpp: No such file or directory
+EXTRA_OEMAKE = " "
+
+do_configure() {
+ (echo o; echo yes) | ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+}
+
+TOBUILD = "\
+ src/tools/bootstrap \
+ src/tools/moc \
+ src/corelib \
+ src/sql \
+ src/dbus \
+ src/qt3support \
+ src/xml \
+ src/tools/uic \
+ src/tools/rcc \
+ src/network \
+ src/gui \
+ src/tools/uic3 \
+ tools/linguist/lrelease \
+ tools/linguist/lupdate \
+ tools/qdbus \
+"
+
+do_compile() {
+ for i in ${TOBUILD}; do
+ cd ${S}/$i && oe_runmake CC="${CC}" CXX="${CXX}"
+ done
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 bin/qmake ${D}${bindir}/qmake2
+ for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
+ install -m 0755 bin/${i} ${D}${bindir}/${i}4
+ done
+}
+
diff --git a/recipes/uclibc/uclibc_nptl.bb b/recipes/uclibc/uclibc_nptl.bb
index e583b445ab..a978025a1e 100644
--- a/recipes/uclibc/uclibc_nptl.bb
+++ b/recipes/uclibc/uclibc_nptl.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.30"
-SRCREV="b3b9101a9c495f52c06cb2de27fcf45e6e5f0bf9"
+SRCREV="b3d31460fbf188997c7337296a61409529f7c974"
PV = "${UCLIBC_BASE}+gitr${SRCPV}"
DEFAULT_PREFERENCE = "-1"
#DEFAULT_PREFERENCE is 0 (empty), releases have a preference of 1 so take
diff --git a/recipes/xorg-driver/xf86-input-tslib/dontfloodevents006.patch b/recipes/xorg-driver/xf86-input-tslib/dontfloodevents006.patch
new file mode 100644
index 0000000000..e989717d3b
--- /dev/null
+++ b/recipes/xorg-driver/xf86-input-tslib/dontfloodevents006.patch
@@ -0,0 +1,22 @@
+Index: xf86-input-tslib-0.0.6/src/tslib.c
+===================================================================
+--- xf86-input-tslib-0.0.6.orig/src/tslib.c 2009-11-29 20:03:29.734794324 +0000
++++ xf86-input-tslib-0.0.6/src/tslib.c 2009-11-29 20:29:24.066794215 +0000
+@@ -205,7 +205,7 @@
+ */
+ switch (priv->state) {
+ case BUTTON_EMULATION_OFF :
+- if(priv->lastp != samp.pressure) {
++ if(!!priv->lastp != !!samp.pressure) {
+ priv->lastp = samp.pressure;
+ xf86PostButtonEvent(local->dev, TRUE,
+ 1, !!samp.pressure, 0, 2,
+@@ -512,7 +512,7 @@
+ s = xf86CheckStrOption(dev->commonOptions, "path", NULL);
+ if (!s)
+ s = xf86CheckStrOption(dev->commonOptions, "Device", NULL);
+-
++
+ priv->ts = ts_open(s, 1);
+ xfree(s);
+
diff --git a/recipes/xorg-driver/xf86-input-tslib_0.0.6.bb b/recipes/xorg-driver/xf86-input-tslib_0.0.6.bb
index 785e5f4e5e..e86f0c75e6 100644
--- a/recipes/xorg-driver/xf86-input-tslib_0.0.6.bb
+++ b/recipes/xorg-driver/xf86-input-tslib_0.0.6.bb
@@ -4,7 +4,10 @@ DESCRIPTION = "X.Org X server -- tslib input driver"
RRECOMMENDS += "hal tslib-calibrate"
DEPENDS += "tslib"
+PR = "r2"
+
SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2 \
+ file://dontfloodevents006.patch;patch=1 \
file://10-x11-input-tslib.fdi"
do_configure_prepend() {
@@ -17,4 +20,3 @@ do_install_append() {
}
FILES_${PN} += "${datadir}/hal"
-