[arch-commits] Commit in qemu/trunk (PKGBUILD qemu-glibc-2.16-build.patch)

Tobias Powalowski tpowa at archlinux.org
Fri Jul 13 16:35:37 UTC 2012


    Date: Friday, July 13, 2012 @ 12:35:36
  Author: tpowa
Revision: 163503

upgpkg: qemu 1.1.1-1

bump to latest version

Added:
  qemu/trunk/qemu-glibc-2.16-build.patch
Modified:
  qemu/trunk/PKGBUILD

-----------------------------+
 PKGBUILD                    |   19 +++++++----
 qemu-glibc-2.16-build.patch |   70 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+), 7 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-07-13 16:29:26 UTC (rev 163502)
+++ PKGBUILD	2012-07-13 16:35:36 UTC (rev 163503)
@@ -1,24 +1,28 @@
 # $Id$
 # Maintainer: Tobias Powalowski <tpowa at archlinux.org>
 pkgname=qemu
-pkgver=1.1.0
-pkgrel=2
+pkgver=1.1.1
+pkgrel=1
 pkgdesc="A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation."
 arch=('i686' 'x86_64')
 license=('GPL2' 'LGPL2.1')
 url="http://wiki.qemu.org/Index.html"
 makedepends=('texi2html' 'perl' 'python2')
-depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux' 'curl' 'libsasl' 'libgl' 'libpulse' 'seabios')
+depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux' 'curl' 'libsasl' 'libgl' 'libpulse' 'seabios' 'libcap-ng')
 backup=('etc/qemu/target-x86_64.conf')
 install=qemu.install
-source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}-1.tar.bz2
-        65-kvm.rules)
+source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.bz2
+        65-kvm.rules
+        qemu-glibc-2.16-build.patch)
 options=(!strip)
 
 build()
 {
   cd "${srcdir}/${pkgname}-${pkgver}"
   sed -i -e 's/lib64/lib/g' x86_64.ld
+  # patch from fedora git: http://pkgs.fedoraproject.org/gitweb/?p=qemu.git
+  # fix changes from glibc-2.16
+  patch -Np1 -i ../qemu-glibc-2.16-build.patch
   ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list=oss,alsa,sdl,pa \
               --python=/usr/bin/python2 \
               --audio-card-list=ac97,sb16,es1370,hda \
@@ -42,5 +46,6 @@
     done
 
 }
-md5sums=('f5c85c229b780bc39268845b6f365fc1'
-         'b316a066d2f1bb57d8f5b7ea1d0d1caf')
+md5sums=('f691baa30e8fb40f37f2797fba892e12'
+         'b316a066d2f1bb57d8f5b7ea1d0d1caf'
+         '8687179e77ab954c4a43017d030f7349')

Added: qemu-glibc-2.16-build.patch
===================================================================
--- qemu-glibc-2.16-build.patch	                        (rev 0)
+++ qemu-glibc-2.16-build.patch	2012-07-13 16:35:36 UTC (rev 163503)
@@ -0,0 +1,70 @@
+From baf954154e7c0acda038c01a5c28aea4db7eec67 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at redhat.com>
+Date: Thu, 5 Jul 2012 14:28:03 +0100
+Subject: [PATCH] Replace 'struct siginfo' with 'siginfo_t'.
+
+glibc 2.16 will remove the undocumented definition of 'struct siginfo'
+from <bits/siginfo.h>.
+
+This change is already present in glibc 2.15.90, so qemu compilation
+of certain targets (eg. cris-user) breaks.
+
+This struct was always typedef'd to be the same as 'siginfo_t' which
+is what POSIX documents, so use that instead.
+
+Signed-off-by: Richard W.M. Jones <rjones at redhat.com>
+---
+ linux-user/signal.c |    8 ++++----
+ user-exec.c         |    2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/linux-user/signal.c b/linux-user/signal.c
+index 43346dc..108dff9 100644
+--- a/linux-user/signal.c
++++ b/linux-user/signal.c
+@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka,
+     * Arguments to signal handler:
+     *
+     *   a0 = signal number
+-    *   a1 = pointer to struct siginfo
++    *   a1 = pointer to siginfo_t
+     *   a2 = pointer to struct ucontext
+     *
+     * $25 and PC point to the signal handler, $29 points to the
+@@ -3255,7 +3255,7 @@ struct target_signal_frame {
+ };
+ 
+ struct rt_signal_frame {
+-    struct siginfo info;
++    siginfo_t info;
+     struct ucontext uc;
+     uint32_t tramp[2];
+ };
+@@ -3474,9 +3474,9 @@ struct target_signal_frame {
+ };
+ 
+ struct rt_signal_frame {
+-        struct siginfo *pinfo;
++        siginfo_t *pinfo;
+         void *puc;
+-        struct siginfo info;
++        siginfo_t info;
+         struct ucontext uc;
+         uint8_t retcode[8];       /* Trampoline code. */
+ };
+diff --git a/user-exec.c b/user-exec.c
+index b2a4261..1a9c276 100644
+--- a/user-exec.c
++++ b/user-exec.c
+@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ int cpu_signal_handler(int host_signum, void *pinfo,
+                        void *puc)
+ {
+-    struct siginfo *info = pinfo;
++    siginfo_t *info = pinfo;
+     struct ucontext *uc = puc;
+     unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
+     uint32_t insn = *(uint32_t *)pc;
+-- 
+1.7.10.4
+




More information about the arch-commits mailing list