aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Blundell <philb@gnu.org>2009-05-21 15:57:44 +0100
committerPhil Blundell <philb@gnu.org>2009-05-21 15:57:44 +0100
commitfc734ad620301f2b1394c246c167a34e6a38c520 (patch)
tree616c20c278001ba6f43776039254e6539eee2341
parentc16813c576d01baefd2c845ee00639b6d99959de (diff)
parentd18dc6fd33261ab005d3195c7d26e224081f5e0b (diff)
downloadopenembedded-fc734ad620301f2b1394c246c167a34e6a38c520.tar.gz
Merge branch 'org.openembedded.dev' of git@new.openembedded.org:openembedded into org.openembedded.dev
-rw-r--r--conf/checksums.ini8
-rw-r--r--recipes/device-mapper/device-mapper-1.02.28/devmap-mknod-busybox.patch9
-rw-r--r--recipes/device-mapper/device-mapper-1.02.28/remove_insanity.patch42
-rw-r--r--recipes/device-mapper/device-mapper_1.01.05.bb4
-rw-r--r--recipes/device-mapper/device-mapper_1.02.28.bb37
-rw-r--r--recipes/devicekit/devicekit-disks_004.bb18
-rw-r--r--recipes/devicekit/libatasmart_0.13.bb20
-rw-r--r--recipes/qemu/qemu-0.10.3/06_exit_segfault.patch45
-rw-r--r--recipes/qemu/qemu-0.10.3/11_signal_sigaction.patch21
-rw-r--r--recipes/qemu/qemu-0.10.3/22_net_tuntap_stall.patch13
-rw-r--r--recipes/qemu/qemu-0.10.3/31_syscalls.patch22
-rw-r--r--recipes/qemu/qemu-0.10.3/32_syscall_sysctl.patch55
-rw-r--r--recipes/qemu/qemu-0.10.3/52_ne2000_return.patch17
-rw-r--r--recipes/qemu/qemu-0.10.3/61_safe_64bit_int.patch27
-rw-r--r--recipes/qemu/qemu-0.10.3/63_sparc_build.patch18
-rw-r--r--recipes/qemu/qemu-0.10.3/64_ppc_asm_constraints.patch18
-rw-r--r--recipes/qemu/qemu-0.10.3/66_tls_ld.patch55
-rw-r--r--recipes/qemu/qemu-0.10.3/91-oh-sdl-cursor.patch18
-rw-r--r--recipes/qemu/qemu-0.10.3/fix_baum_c_compilation.patch30
-rw-r--r--recipes/qemu/qemu-0.10.3/fix_segfault.patch37
-rw-r--r--recipes/qemu/qemu-0.10.3/no-strip.patch26
-rw-r--r--recipes/qemu/qemu_0.10.3.bb17
-rw-r--r--recipes/udev/udev_141.bb6
23 files changed, 558 insertions, 5 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 0b8c8697e5..2764372fc1 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -186,6 +186,10 @@ sha256=d392567cb39b4ea606c0e0acafd8ed72320311b995336ece5fcefcf9b150e9d7
md5=8b311547f4a2c8c6b6598e3318d66cd7
sha256=d2d21f995d1a152ca2d8beea6d37f31e48cca034b82ceb7322f39422e849e9cf
+[http://hal.freedesktop.org/releases/DeviceKit-disks-004.tar.gz]
+md5=1ed8e1931f56ad3fc53ba485391434b5
+sha256=e9cc2ed4db0f48a9fdb353f6774df585ac1bc3a0f7c77fcede1c1c27497882bd
+
[http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz]
md5=2449bfe21d6589c96eebf94dae24df6b
sha256=3cebe0a6894daee3bfa5d9619fc90e7619cb6a77ac1b04d027341cd6033ae989
@@ -4566,6 +4570,10 @@ sha256=49c8303f58abf3a0efbbd42decdc5968688df32c154cffb20a1c3c1ae8b92048
md5=074cf116cc2c7194f2d100bc5f743833
sha256=963cc8a1f7e73a0929b7b527f6b4cfc5f78c932d673b5c13c889108d3182811a
+[ftp://sources.redhat.com/pub/dm/device-mapper.1.02.28.tgz]
+md5=c9ae0776994a419f9e1ba842164bb626
+sha256=24c7887fe896325a6cdc86b8beeb0d9c2de8b1c4cb20f53c2dc8f90963fc39bf
+
[https://stage.maemo.org/svn/maemo/projects/haf/trunk/fontconfig/device_symbols.h]
md5=c0124afc760d4fe8c24ffcf15ba7f391
sha256=4e0c1726f9c565deec6d6af9eebda47ca6dea473f3280cc89beb321ae33ff962
diff --git a/recipes/device-mapper/device-mapper-1.02.28/devmap-mknod-busybox.patch b/recipes/device-mapper/device-mapper-1.02.28/devmap-mknod-busybox.patch
new file mode 100644
index 0000000000..8b24f143dd
--- /dev/null
+++ b/recipes/device-mapper/device-mapper-1.02.28/devmap-mknod-busybox.patch
@@ -0,0 +1,9 @@
+--- device-mapper.1.01.05/scripts/devmap_mknod.sh 2002-07-23 05:50:13.000000000 -0700
++++ device-mapper.1.01.05/scripts/devmap_mknod.sh~ 2005-08-25 14:51:13.000000000 -0700
+@@ -37,5 +37,5 @@
+ test -e $CONTROL && rm -f $CONTROL
+
+ echo "Creating $CONTROL character device with major:$MAJOR minor:$MINOR."
+-mknod --mode=600 $CONTROL c $MAJOR $MINOR
++mknod -m 600 $CONTROL c $MAJOR $MINOR
+
diff --git a/recipes/device-mapper/device-mapper-1.02.28/remove_insanity.patch b/recipes/device-mapper/device-mapper-1.02.28/remove_insanity.patch
new file mode 100644
index 0000000000..f78c341c14
--- /dev/null
+++ b/recipes/device-mapper/device-mapper-1.02.28/remove_insanity.patch
@@ -0,0 +1,42 @@
+--- /tmp/Makefile.in 2009-05-21 13:45:20.000000000 +0200
++++ device-mapper.1.02.28/dmsetup/Makefile.in 2009-05-21 14:09:43.000000000 +0200
+@@ -31,12 +31,10 @@
+ include ../make.tmpl
+
+ dmsetup: $(OBJECTS) $(interfacedir)/libdevmapper.$(LIB_SUFFIX)
+- $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS) \
+- -L$(interfacedir) -L$(DESTDIR)/lib -ldevmapper $(LIBS)
++ $(CC) -o $@ $(OBJECTS) -L$(interfacedir) -ldevmapper $(LIBS) $(CFLAGS) $(LDFLAGS)
+
+ dmsetup.static: $(OBJECTS) $(interfacedir)/libdevmapper.a
+- $(CC) -o $@ $(OBJECTS) $(CFLAGS) $(LDFLAGS) -static \
+- -L$(interfacedir) -L$(DESTDIR)/lib -ldevmapper $(LIBS) \
++ $(CC) -o $@ $(OBJECTS) -L$(interfacedir) -ldevmapper $(LIBS) $(CFLAGS) $(LDFLAGS) -static \
+ $(LIB_PTHREAD)
+
+ install: $(INSTALL_TYPE)
+--- /tmp/make.tmpl.in 2009-05-21 14:24:02.000000000 +0200
++++ device-mapper.1.02.28/make.tmpl.in 2009-05-21 14:29:20.000000000 +0200
+@@ -151,19 +151,19 @@
+ $(TARGETS): $(OBJECTS)
+
+ %.o: %.c
+- $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $< -o $@
++ $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) ${LDFLAGS} $< -o $@
+
+ %.pot: %.c Makefile
+ $(CC) -E $(INCLUDES) -include $(top_srcdir)/include/pogen.h \
+ $(DEFS) $(CFLAGS) $< > $@
+
+ %.so: %.o
+- $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) $< -o $@
++ $(CC) -c $(INCLUDES) $(DEFS) $(CFLAGS) ${LDFLAGS} $< -o $@
+
+ ifeq ("@LIB_SUFFIX@","so")
+ $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
+ $(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
+- $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
++ $(CFLAGS) $(CLDFLAGS) ${LDFLAGS} $(OBJECTS) $(LIBS) -o $@
+ endif
+
+ ifeq ("@LIB_SUFFIX@","dylib")
diff --git a/recipes/device-mapper/device-mapper_1.01.05.bb b/recipes/device-mapper/device-mapper_1.01.05.bb
index bc02e6a71f..2af9990839 100644
--- a/recipes/device-mapper/device-mapper_1.01.05.bb
+++ b/recipes/device-mapper/device-mapper_1.01.05.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "The Device-mapper is a new component of the linux kernel \
that supports logical volume management. It is required by LVM2 and EVMS. \
The original LVM (included in stock 2.4 kernels) does not use it."
LICENSE = "GPL"
-PR = "r3"
+PR = "r4"
S = "${WORKDIR}/${PN}.${PV}"
@@ -15,6 +15,8 @@ inherit autotools update-rc.d
# The install-script will fail without this.
EXTRA_OECONF="--with-user= --with-group= "
+TARGET_CC_ARCH += "${LDFLAGS}"
+
INITSCRIPT_NAME = "devmap_mknod.sh"
INITSCRIPT_PARAMS = "defaults"
diff --git a/recipes/device-mapper/device-mapper_1.02.28.bb b/recipes/device-mapper/device-mapper_1.02.28.bb
new file mode 100644
index 0000000000..bd97d15848
--- /dev/null
+++ b/recipes/device-mapper/device-mapper_1.02.28.bb
@@ -0,0 +1,37 @@
+SECTION = "libs"
+DESCRIPTION = "The Device-mapper is a new component of the linux kernel \
+that supports logical volume management. It is required by LVM2 and EVMS. \
+The original LVM (included in stock 2.4 kernels) does not use it."
+LICENSE = "GPL"
+
+S = "${WORKDIR}/${PN}.${PV}"
+
+SRC_URI = "ftp://sources.redhat.com/pub/dm/device-mapper.${PV}.tgz \
+ file://devmap-mknod-busybox.patch;patch=1 \
+ file://remove_insanity.patch;patch=1 "
+
+inherit autotools_stage update-rc.d
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+# The install-script will fail without this.
+EXTRA_OECONF="--with-user= --with-group= "
+
+INITSCRIPT_NAME = "devmap_mknod.sh"
+INITSCRIPT_PARAMS = "defaults"
+
+do_install_append() {
+ install -d ${D}/${libdir}/ioctl
+ install -m 755 ${S}/lib/ioctl/libdevmapper.a ${D}/${libdir}/ioctl/
+ install -D -m 755 ${S}/scripts/${INITSCRIPT_NAME} ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
+}
+
+FILES_${PN}-dev += "${libdir}/ioctl/*.a"
+
+do_stage_append() {
+ install -d ${STAGING_LIBDIR}/pkgconfig/
+ for pc in ${S}/*/*.pc ; do
+ cp $pc ${STAGING_LIBDIR}/pkgconfig/
+ cp $pc ${STAGING_LIBDIR}/pkgconfig/$(echo $(basename $pc) | sed s:lib::g)
+ done
+}
+
diff --git a/recipes/devicekit/devicekit-disks_004.bb b/recipes/devicekit/devicekit-disks_004.bb
new file mode 100644
index 0000000000..63df1e7361
--- /dev/null
+++ b/recipes/devicekit/devicekit-disks_004.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Block device part of devicekit"
+LICENSE = "GPLv2"
+DEPENDS = "devicekit zlib sqlite3 policykit parted device-mapper libatasmart udev dbus-glib glib-2.0"
+
+SRC_URI = "http://hal.freedesktop.org/releases/DeviceKit-disks-${PV}.tar.gz"
+S = "${WORKDIR}/DeviceKit-disks-${PV}"
+
+inherit autotools_stage
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+FILES_${PN} += "${datadir}/dbus-1/ \
+ ${datadir}/PolicyKit \
+ ${base_libdir}/udev/* \
+"
+
+FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
+
+
diff --git a/recipes/devicekit/libatasmart_0.13.bb b/recipes/devicekit/libatasmart_0.13.bb
new file mode 100644
index 0000000000..31565f6cfb
--- /dev/null
+++ b/recipes/devicekit/libatasmart_0.13.bb
@@ -0,0 +1,20 @@
+LICENSE = "LGPL"
+
+SRCREV = "a80d7d5c25e88adea7b8e843cdb57143e6cfb46b"
+SRC_URI = "git://git.0pointer.de/libatasmart.git;protocol=git"
+
+S = "${WORKDIR}/git"
+
+inherit autotools_stage lib_package
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+do_compile_prepend() {
+ rm strpool -f
+ ${BUILD_CC} -o strpool strpool.c
+ chmod +x strpool
+}
+
+do_stage_append() {
+ sed -i -e s://:/:g -e s:${base_libdir}/libudev.la:-ludev:g ${STAGING_LIBDIR}/libatasmart.la
+}
+
diff --git a/recipes/qemu/qemu-0.10.3/06_exit_segfault.patch b/recipes/qemu/qemu-0.10.3/06_exit_segfault.patch
new file mode 100644
index 0000000000..bc02d31839
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/06_exit_segfault.patch
@@ -0,0 +1,45 @@
+#DPATCHLEVEL=0
+---
+# linux-user/main.c | 8 ++++----
+# 1 file changed, 4 insertions(+), 4 deletions(-)
+#
+Index: linux-user/main.c
+===================================================================
+--- linux-user/main.c.orig 2008-04-24 20:15:46.000000000 +0100
++++ linux-user/main.c 2008-04-24 20:15:53.000000000 +0100
+@@ -765,7 +765,7 @@
+ default:
+ printf ("Unhandled trap: 0x%x\n", trapnr);
+ cpu_dump_state(env, stderr, fprintf, 0);
+- exit (1);
++ _exit (1);
+ }
+ process_pending_signals (env);
+ }
+@@ -1697,7 +1697,7 @@
+ default:
+ printf ("Unhandled trap: 0x%x\n", trapnr);
+ cpu_dump_state(env, stderr, fprintf, 0);
+- exit (1);
++ _exit (1);
+ }
+ process_pending_signals (env);
+ }
+@@ -2026,7 +2026,7 @@
+ for(item = cpu_log_items; item->mask != 0; item++) {
+ printf("%-10s %s\n", item->name, item->help);
+ }
+- exit(1);
++ _exit(1);
+ }
+ cpu_set_log(mask);
+ } else if (!strcmp(r, "s")) {
+@@ -2045,7 +2045,7 @@
+ if (qemu_host_page_size == 0 ||
+ (qemu_host_page_size & (qemu_host_page_size - 1)) != 0) {
+ fprintf(stderr, "page size must be a power of two\n");
+- exit(1);
++ _exit(1);
+ }
+ } else if (!strcmp(r, "g")) {
+ gdbstub_port = atoi(argv[optind++]);
diff --git a/recipes/qemu/qemu-0.10.3/11_signal_sigaction.patch b/recipes/qemu/qemu-0.10.3/11_signal_sigaction.patch
new file mode 100644
index 0000000000..cd56541b71
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/11_signal_sigaction.patch
@@ -0,0 +1,21 @@
+#DPATCHLEVEL=0
+---
+# linux-user/signal.c | 5 +++++
+# 1 file changed, 5 insertions(+)
+#
+Index: linux-user/signal.c
+===================================================================
+--- linux-user/signal.c.orig 2008-04-24 20:15:55.000000000 +0100
++++ linux-user/signal.c 2008-04-24 20:15:57.000000000 +0100
+@@ -512,6 +512,11 @@
+
+ if (sig < 1 || sig > TARGET_NSIG || sig == SIGKILL || sig == SIGSTOP)
+ return -EINVAL;
++
++ /* no point doing the stuff as those are not allowed for sigaction */
++ if ((sig == TARGET_SIGKILL) || (sig == TARGET_SIGSTOP))
++ return -EINVAL;
++
+ k = &sigact_table[sig - 1];
+ #if defined(DEBUG_SIGNAL)
+ fprintf(stderr, "sigaction sig=%d act=0x%08x, oact=0x%08x\n",
diff --git a/recipes/qemu/qemu-0.10.3/22_net_tuntap_stall.patch b/recipes/qemu/qemu-0.10.3/22_net_tuntap_stall.patch
new file mode 100644
index 0000000000..993960be98
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/22_net_tuntap_stall.patch
@@ -0,0 +1,13 @@
+Index: qemu-0.10.3/net.c
+===================================================================
+--- qemu-0.10.3.orig/net.c 2009-05-19 17:46:54.650870195 +0400
++++ qemu-0.10.3/net.c 2009-05-19 17:47:05.612854521 +0400
+@@ -955,7 +955,7 @@
+ return -1;
+ }
+ memset(&ifr, 0, sizeof(ifr));
+- ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
++ ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_ONE_QUEUE;
+ if (ifname[0] != '\0')
+ pstrcpy(ifr.ifr_name, IFNAMSIZ, ifname);
+ else
diff --git a/recipes/qemu/qemu-0.10.3/31_syscalls.patch b/recipes/qemu/qemu-0.10.3/31_syscalls.patch
new file mode 100644
index 0000000000..20a1499d18
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/31_syscalls.patch
@@ -0,0 +1,22 @@
+Index: linux-user/syscall.c
+===================================================================
+--- linux-user/syscall.c.orig 2008-04-24 20:15:46.000000000 +0100
++++ linux-user/syscall.c 2008-04-24 20:15:59.000000000 +0100
+@@ -250,6 +250,7 @@
+ extern int setresgid(gid_t, gid_t, gid_t);
+ extern int getresgid(gid_t *, gid_t *, gid_t *);
+ extern int setgroups(int, gid_t *);
++extern int uselib(const char*);
+
+ #define ERRNO_TABLE_SIZE 1200
+
+@@ -4041,7 +4042,8 @@
+ #endif
+ #ifdef TARGET_NR_uselib
+ case TARGET_NR_uselib:
+- goto unimplemented;
++ ret = get_errno(uselib(path((const char*)arg1)));
++ break;
+ #endif
+ #ifdef TARGET_NR_swapon
+ case TARGET_NR_swapon:
diff --git a/recipes/qemu/qemu-0.10.3/32_syscall_sysctl.patch b/recipes/qemu/qemu-0.10.3/32_syscall_sysctl.patch
new file mode 100644
index 0000000000..2a670c90be
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/32_syscall_sysctl.patch
@@ -0,0 +1,55 @@
+#DPATCHLEVEL=0
+---
+# linux-user/syscall.c | 32 +++++++++++++++++++++++++++++---
+# 1 file changed, 29 insertions(+), 3 deletions(-)
+#
+Index: linux-user/syscall.c
+===================================================================
+--- linux-user/syscall.c.orig 2009-05-19 17:50:28.000000000 +0400
++++ linux-user/syscall.c 2009-05-19 17:52:19.094103462 +0400
+@@ -55,6 +55,7 @@
+ #include <netinet/ip.h>
+ #include <netinet/tcp.h>
+ #include <qemu-common.h>
++#include <sys/sysctl.h>
+ #ifdef HAVE_GPROF
+ #include <sys/gmon.h>
+ #endif
+@@ -5193,9 +5194,34 @@
+ break;
+ #endif
+ case TARGET_NR__sysctl:
+- /* We don't implement this, but ENOTDIR is always a safe
+- return value. */
+- ret = -TARGET_ENOTDIR;
++ {
++ struct __sysctl_args *args = (struct __sysctl_args *) arg1;
++ int *name_target, *name, nlen, *oldlenp, oldlen, newlen, i;
++ void *oldval, *newval;
++
++ name_target = (int *) tswapl((long) args->name);
++ nlen = tswapl(args->nlen);
++ oldval = (void *) tswapl((long) args->oldval);
++ oldlenp = (int *) tswapl((long) args->oldlenp);
++ oldlen = tswapl(*oldlenp);
++ newval = (void *) tswapl((long) args->newval);
++ newlen = tswapl(args->newlen);
++
++ name = alloca(nlen * sizeof (int));
++ for (i = 0; i < nlen; i++)
++ name[i] = tswapl(name_target[i]);
++
++ if (nlen == 2 && name[0] == CTL_KERN && name[1] == KERN_VERSION) {
++ ret = get_errno(
++ sysctl(name, nlen, oldval, &oldlen, newval, newlen));
++ if (!is_error(ret)) {
++ *oldlenp = tswapl(oldlen);
++ }
++ } else {
++ gemu_log("qemu: Unsupported sysctl name\n");
++ ret = -ENOSYS;
++ }
++ }
+ break;
+ case TARGET_NR_sched_setparam:
+ {
diff --git a/recipes/qemu/qemu-0.10.3/52_ne2000_return.patch b/recipes/qemu/qemu-0.10.3/52_ne2000_return.patch
new file mode 100644
index 0000000000..e364bff731
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/52_ne2000_return.patch
@@ -0,0 +1,17 @@
+---
+ hw/ne2000.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: trunk/hw/ne2000.c
+===================================================================
+--- trunk.orig/hw/ne2000.c 2008-04-24 20:15:46.000000000 +0100
++++ trunk/hw/ne2000.c 2008-04-24 20:16:05.000000000 +0100
+@@ -217,7 +217,7 @@
+ NE2000State *s = opaque;
+
+ if (s->cmd & E8390_STOP)
+- return 1;
++ return 0;
+ return !ne2000_buffer_full(s);
+ }
+
diff --git a/recipes/qemu/qemu-0.10.3/61_safe_64bit_int.patch b/recipes/qemu/qemu-0.10.3/61_safe_64bit_int.patch
new file mode 100644
index 0000000000..80e7b22e27
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/61_safe_64bit_int.patch
@@ -0,0 +1,27 @@
+#DPATCHLEVEL=0
+---
+# dyngen-exec.h | 4 ++--
+# 1 file changed, 2 insertions(+), 2 deletions(-)
+#
+Index: dyngen-exec.h
+===================================================================
+--- dyngen-exec.h.orig 2009-05-01 21:02:44.000000000 +0400
++++ dyngen-exec.h 2009-05-19 17:56:28.164854448 +0400
+@@ -41,7 +41,7 @@
+ // Linux/Sparc64 defines uint64_t
+ #if !(defined (__sparc_v9__) && defined(__linux__)) && !(defined(__APPLE__) && defined(__x86_64__))
+ /* XXX may be done for all 64 bits targets ? */
+-#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) || defined(__alpha__) || defined(_ARCH_PPC64)
++#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) || defined(__alpha__) || defined(_ARCH_PPC64) || defined(__sparc__)
+ typedef unsigned long uint64_t;
+ #else
+ typedef unsigned long long uint64_t;
+@@ -58,7 +58,7 @@
+ typedef signed int int32_t;
+ // Linux/Sparc64 defines int64_t
+ #if !(defined (__sparc_v9__) && defined(__linux__)) && !(defined(__APPLE__) && defined(__x86_64__))
+-#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) || defined(__alpha__) || defined(_ARCH_PPC64)
++#if defined (__x86_64__) || defined(__ia64) || defined(__s390x__) || defined(__alpha__) || defined(_ARCH_PPC64) || defined(__sparc__)
+ typedef signed long int64_t;
+ #else
+ typedef signed long long int64_t;
diff --git a/recipes/qemu/qemu-0.10.3/63_sparc_build.patch b/recipes/qemu/qemu-0.10.3/63_sparc_build.patch
new file mode 100644
index 0000000000..097f55a09e
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/63_sparc_build.patch
@@ -0,0 +1,18 @@
+#DPATCHLEVEL=0
+---
+# sparc.ld | 2 +-
+# 1 file changed, 1 insertion(+), 1 deletion(-)
+#
+Index: sparc.ld
+===================================================================
+--- sparc.ld.orig 2008-04-24 20:15:46.000000000 +0100
++++ sparc.ld 2008-04-24 20:16:07.000000000 +0100
+@@ -6,7 +6,7 @@
+ SECTIONS
+ {
+ /* Read-only sections, merged into text segment: */
+- . = 0x60000000 + SIZEOF_HEADERS;
++ . = 0x60000000 + 0x400;
+ .interp : { *(.interp) }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
diff --git a/recipes/qemu/qemu-0.10.3/64_ppc_asm_constraints.patch b/recipes/qemu/qemu-0.10.3/64_ppc_asm_constraints.patch
new file mode 100644
index 0000000000..7562daf77b
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/64_ppc_asm_constraints.patch
@@ -0,0 +1,18 @@
+#DPATCHLEVEL=1
+---
+# cpu-all.h | 2 +-
+# 1 file changed, 1 insertion(+), 1 deletion(-)
+#
+Index: qemu-0.10.3/cpu-all.h
+===================================================================
+--- qemu-0.10.3.orig/cpu-all.h 2009-05-01 21:02:44.000000000 +0400
++++ qemu-0.10.3/cpu-all.h 2009-05-19 17:59:28.357103179 +0400
+@@ -288,7 +288,7 @@
+ static inline void stl_le_p(void *ptr, int v)
+ {
+ #ifdef _ARCH_PPC
+- __asm__ __volatile__ ("stwbrx %1,0,%2" : "=m" (*(uint32_t *)ptr) : "r" (v), "r" (ptr));
++ __asm__ __volatile__ ("stwbrx %0,0,%1" : : "r" (v), "r" (ptr) : "memory");
+ #else
+ uint8_t *p = ptr;
+ p[0] = v;
diff --git a/recipes/qemu/qemu-0.10.3/66_tls_ld.patch b/recipes/qemu/qemu-0.10.3/66_tls_ld.patch
new file mode 100644
index 0000000000..cbd3f873d8
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/66_tls_ld.patch
@@ -0,0 +1,55 @@
+---
+ arm.ld | 7 +++++++
+ i386.ld | 7 +++++++
+ 2 files changed, 14 insertions(+)
+
+Index: arm.ld
+===================================================================
+--- arm.ld.orig 2008-04-24 20:15:45.000000000 +0100
++++ arm.ld 2008-04-24 20:16:11.000000000 +0100
+@@ -26,6 +26,10 @@
+ { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+ .rela.rodata :
+ { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
++ .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
++ .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
++ .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
++ .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
+ .rel.got : { *(.rel.got) }
+ .rela.got : { *(.rela.got) }
+ .rel.ctors : { *(.rel.ctors) }
+@@ -58,6 +62,9 @@
+ .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
+ __exidx_end = .;
+ .reginfo : { *(.reginfo) }
++ /* Thread Local Storage sections */
++ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
++ .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ . = ALIGN(0x100000) + (. & (0x100000 - 1));
+Index: i386.ld
+===================================================================
+--- i386.ld.orig 2008-04-24 20:15:45.000000000 +0100
++++ i386.ld 2008-04-24 20:16:11.000000000 +0100
+@@ -28,6 +28,10 @@
+ { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
+ .rela.rodata :
+ { *(.rela.rodata) *(.rela.gnu.linkonce.r*) }
++ .rel.tdata : { *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*) }
++ .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
++ .rel.tbss : { *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*) }
++ .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
+ .rel.got : { *(.rel.got) }
+ .rela.got : { *(.rela.got) }
+ .rel.ctors : { *(.rel.ctors) }
+@@ -53,6 +57,9 @@
+ _etext = .;
+ PROVIDE (etext = .);
+ .fini : { *(.fini) } =0x47ff041f
++ /* Thread Local Storage sections */
++ .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) }
++ .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) }
+ . = ALIGN(32 / 8);
+ PROVIDE (__preinit_array_start = .);
+ .preinit_array : { *(.preinit_array) }
diff --git a/recipes/qemu/qemu-0.10.3/91-oh-sdl-cursor.patch b/recipes/qemu/qemu-0.10.3/91-oh-sdl-cursor.patch
new file mode 100644
index 0000000000..b3d95a4534
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/91-oh-sdl-cursor.patch
@@ -0,0 +1,18 @@
+=== modified file 'sdl.c'
+---
+ sdl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: sdl.c
+===================================================================
+--- sdl.c.orig 2008-04-24 20:15:45.000000000 +0100
++++ sdl.c 2008-04-24 20:16:12.000000000 +0100
+@@ -247,7 +247,7 @@
+
+ if (kbd_mouse_is_absolute()) {
+ SDL_ShowCursor(1);
+- SDL_SetCursor(sdl_cursor_hidden);
++ /* SDL_SetCursor(sdl_cursor_hidden); */
+ } else {
+ SDL_ShowCursor(0);
+ }
diff --git a/recipes/qemu/qemu-0.10.3/fix_baum_c_compilation.patch b/recipes/qemu/qemu-0.10.3/fix_baum_c_compilation.patch
new file mode 100644
index 0000000000..a2eb438ed9
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/fix_baum_c_compilation.patch
@@ -0,0 +1,30 @@
+Index: trunk/hw/baum.c
+===================================================================
+--- trunk.orig/hw/baum.c 2008-11-29 05:12:40.418390606 +0300
++++ trunk/hw/baum.c 2008-11-29 05:13:11.498378426 +0300
+@@ -569,8 +569,10 @@ CharDriverState *chr_baum_init(void)
+ CharDriverState *chr;
+ brlapi_handle_t *handle;
+ #ifdef CONFIG_SDL
++#ifdef SDL_VIDEO_DRIVER_X11
+ SDL_SysWMinfo info;
+ #endif
++#endif
+ int tty;
+
+ baum = qemu_mallocz(sizeof(BaumDriverState));
+@@ -605,12 +607,14 @@ CharDriverState *chr_baum_init(void)
+ }
+
+ #ifdef CONFIG_SDL
++#ifdef SDL_VIDEO_DRIVER_X11
+ memset(&info, 0, sizeof(info));
+ SDL_VERSION(&info.version);
+ if (SDL_GetWMInfo(&info))
+ tty = info.info.x11.wmwindow;
+ else
+ #endif
++#endif
+ tty = BRLAPI_TTY_DEFAULT;
+
+ if (brlapi__enterTtyMode(handle, tty, NULL) == -1) {
diff --git a/recipes/qemu/qemu-0.10.3/fix_segfault.patch b/recipes/qemu/qemu-0.10.3/fix_segfault.patch
new file mode 100644
index 0000000000..32ca3c0b6b
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/fix_segfault.patch
@@ -0,0 +1,37 @@
+---
+ linux-user/syscall.c | 22 ----------------------
+ 1 file changed, 22 deletions(-)
+
+Index: qemu-0.10.3/linux-user/syscall.c
+===================================================================
+--- qemu-0.10.3.orig/linux-user/syscall.c 2009-05-19 18:18:04.000000000 +0400
++++ qemu-0.10.3/linux-user/syscall.c 2009-05-19 18:18:40.397103379 +0400
+@@ -6024,28 +6024,6 @@
+ goto unimplemented_nowarn;
+ #endif
+
+-#ifdef TARGET_NR_clock_gettime
+- case TARGET_NR_clock_gettime:
+- {
+- struct timespec ts;
+- ret = get_errno(clock_gettime(arg1, &ts));
+- if (!is_error(ret)) {
+- host_to_target_timespec(arg2, &ts);
+- }
+- break;
+- }
+-#endif
+-#ifdef TARGET_NR_clock_getres
+- case TARGET_NR_clock_getres:
+- {
+- struct timespec ts;
+- ret = get_errno(clock_getres(arg1, &ts));
+- if (!is_error(ret)) {
+- host_to_target_timespec(arg2, &ts);
+- }
+- break;
+- }
+-#endif
+ #ifdef TARGET_NR_clock_nanosleep
+ case TARGET_NR_clock_nanosleep:
+ {
diff --git a/recipes/qemu/qemu-0.10.3/no-strip.patch b/recipes/qemu/qemu-0.10.3/no-strip.patch
new file mode 100644
index 0000000000..4813dd4e2b
--- /dev/null
+++ b/recipes/qemu/qemu-0.10.3/no-strip.patch
@@ -0,0 +1,26 @@
+Index: trunk/Makefile
+===================================================================
+--- trunk.orig/Makefile 2008-04-24 20:15:37.000000000 +0100
++++ trunk/Makefile 2008-04-24 20:16:30.000000000 +0100
+@@ -196,7 +196,7 @@
+ install: all $(if $(BUILD_DOCS),install-doc)
+ mkdir -p "$(DESTDIR)$(bindir)"
+ ifneq ($(TOOLS),)
+- $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(TOOLS) "$(DESTDIR)$(bindir)"
+ endif
+ mkdir -p "$(DESTDIR)$(datadir)"
+ set -e; for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
+Index: trunk/Makefile.target
+===================================================================
+--- trunk.orig/Makefile.target 2008-04-24 20:15:37.000000000 +0100
++++ trunk/Makefile.target 2008-04-24 20:16:30.000000000 +0100
+@@ -685,7 +685,7 @@
+
+ install: all
+ ifneq ($(PROGS),)
+- $(INSTALL) -m 755 -s $(PROGS) "$(DESTDIR)$(bindir)"
++ $(INSTALL) -m 755 $(PROGS) "$(DESTDIR)$(bindir)"
+ endif
+
+ # Include automatically generated dependency files
diff --git a/recipes/qemu/qemu_0.10.3.bb b/recipes/qemu/qemu_0.10.3.bb
index d6ad1d7e4a..f65f60decd 100644
--- a/recipes/qemu/qemu_0.10.3.bb
+++ b/recipes/qemu/qemu_0.10.3.bb
@@ -1,14 +1,27 @@
LICENSE = "GPL"
DEPENDS = "zlib"
-# Need to port OE patches there
-DEFAULT_PREFERENCE = "-1"
+PR = "r1"
FILESPATH = "${FILE_DIRNAME}/qemu-${PV}"
FILESDIR = "${WORKDIR}"
SRC_URI = "\
http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz \
+ file://06_exit_segfault.patch;patch=1;pnum=0 \
+ file://11_signal_sigaction.patch;patch=1;pnum=0 \
+ file://22_net_tuntap_stall.patch;patch=1 \
+ file://31_syscalls.patch;patch=1;pnum=0 \
+ file://32_syscall_sysctl.patch;patch=1;pnum=0 \
+ file://52_ne2000_return.patch;patch=1 \
+ file://61_safe_64bit_int.patch;patch=1;pnum=0 \
+ file://63_sparc_build.patch;patch=1;pnum=0 \
+ file://64_ppc_asm_constraints.patch;patch=1 \
+ file://66_tls_ld.patch;patch=1;pnum=0 \
+ file://91-oh-sdl-cursor.patch;patch=1;pnum=0 \
+ file://fix_segfault.patch;patch=1 \
+ file://no-strip.patch;patch=1 \
+ file://fix_baum_c_compilation.patch;patch=1 \
"
S = "${WORKDIR}/qemu-${PV}"
diff --git a/recipes/udev/udev_141.bb b/recipes/udev/udev_141.bb
index 1482601bf9..e7438fb4d6 100644
--- a/recipes/udev/udev_141.bb
+++ b/recipes/udev/udev_141.bb
@@ -6,7 +6,7 @@ LICENSE = "GPL"
# Untested
DEFAULT_PREFERENCE = "-1"
-PR = "r4"
+PR = "r6"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://mount.blacklist \
@@ -61,7 +61,8 @@ do_install () {
install -d ${D}${sysconfdir}/default
install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
- install -d ${D}${sysconfdir}/udev/rules.d/
+ mv ${D}${base_libdir}/udev/rules.d ${D}${sysconfdir}/udev/
+ ln -sf ${sysconfdir}/udev/rules.d ${D}${base_libdir}/udev/
install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules
@@ -91,6 +92,7 @@ do_install_append_h2200() {
do_stage_append() {
install -m 0644 ${S}/extras/volume_id/lib/libvolume_id.h ${STAGING_INCDIR}
oe_libinstall -C extras/volume_id/lib -so libvolume_id ${STAGING_LIBDIR}
+ oe_libinstall -C udev/lib -so libudev ${STAGING_LIBDIR}
}