]> git.pld-linux.org Git - packages/qemu-kvm.git/commitdiff
- unified build options and bconds with qemu
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 6 Nov 2012 18:48:56 +0000 (19:48 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 6 Nov 2012 18:48:56 +0000 (19:48 +0100)
qemu-cflags.patch [new file with mode: 0644]
qemu-kvm.spec
qemu-usbredir.patch [new file with mode: 0644]

diff --git a/qemu-cflags.patch b/qemu-cflags.patch
new file mode 100644 (file)
index 0000000..15774d8
--- /dev/null
@@ -0,0 +1,24 @@
+--- qemu-1.2.0/configure.orig  2012-09-05 16:03:06.000000000 +0200
++++ qemu-1.2.0/configure       2012-09-23 18:41:12.717279277 +0200
+@@ -281,10 +281,6 @@
+ QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
+ QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
+ QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu"
+-if test "$debug_info" = "yes"; then
+-    CFLAGS="-g $CFLAGS"
+-    LDFLAGS="-g $LDFLAGS"
+-fi
+ # make source path absolute
+ source_path=`cd "$source_path"; pwd`
+@@ -2995,10 +2991,6 @@
+ # End of CC checks
+ # After here, no more $cc or $ld runs
+-if test "$debug" = "no" ; then
+-  CFLAGS="-O2 -D_FORTIFY_SOURCE=2 $CFLAGS"
+-fi
+-
+ # Disable zero malloc errors for official releases unless explicitly told to
+ # enable/disable
+ if test -z "$zero_malloc" ; then
index 4925fb581d19abcedba0410fe38d70ab70d4a2f3..f63bf279237194882caf31174c12f4636cc950df 100644 (file)
@@ -1,6 +1,13 @@
 #
 # Conditional build:
-%bcond_without spice                   # SPICE support
+%bcond_without sdl             # SDL UI and audio support
+%bcond_without opengl          # OpenGL support
+%bcond_without ceph            # Ceph/RBD support
+%bcond_without spice           # SPICE support
+%bcond_with    esd             # EsounD audio support
+%bcond_without oss             # OSS audio support
+%bcond_without pulseaudio      # PulseAudio audio support
+%bcond_without xen             # Xen backend driver support
 #
 Summary:       QEMU CPU Emulator
 Summary(pl.UTF-8):     QEMU - emulator procesora
@@ -29,34 +36,50 @@ Source11:   qemu-guest-agent.service
 Source12:      99-qemu-guest-agent.rules
 Patch0:                %{name}-whitelist.patch
 Patch1:                %{name}-fixes.patch
+Patch2:                qemu-cflags.patch
+Patch3:                qemu-usbredir.patch
 URL:           http://www.linux-kvm.org/
-BuildRequires: SDL-devel >= 1.2.1
+%{?with_opengl:BuildRequires:  OpenGL-GLX-devel}
+%{?with_sdl:BuildRequires:     SDL-devel >= 1.2.1}
 BuildRequires: alsa-lib-devel
 BuildRequires: bluez-libs-devel
 BuildRequires: brlapi-devel
-BuildRequires: ceph-devel
-BuildRequires: check-devel
+%{?with_ceph:BuildRequires:    ceph-devel}
+BuildRequires: curl-devel
+BuildRequires: cyrus-sasl-devel >= 2
+%{?with_esd:BuildRequires:     esound-devel}
+BuildRequires: glib2-devel >= 1:2.12
 BuildRequires: gnutls-devel
 BuildRequires: libaio-devel
-BuildRequires: libevent-devel
+BuildRequires: libcap-devel
+BuildRequires: libcap-ng-devel
 BuildRequires: libfdt-devel
 BuildRequires: libiscsi-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libseccomp-devel
+BuildRequires: libuuid-devel
 BuildRequires: ncurses-devel
-BuildRequires: pciutils-devel
+BuildRequires: nss-devel >= 3.12.8
 BuildRequires: perl-Encode
 BuildRequires: perl-tools-pod
 BuildRequires: pkgconfig
-BuildRequires: pulseaudio-devel
+%{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
 BuildRequires: rpmbuild(macros) >= 1.644
 BuildRequires: sed >= 4.0
 %if %{with spice}
-BuildRequires: spice-protocol
-BuildRequires: spice-server-devel
+BuildRequires: spice-protocol >= 0.8.0
+BuildRequires: spice-server-devel >= 0.8.2
 %endif
 BuildRequires: texi2html
-BuildRequires: usbredir-devel
+BuildRequires: texinfo
+BuildRequires: usbredir-devel >= 0.3.4
+BuildRequires: vde2-devel
 BuildRequires: which
+%{?with_xen:BuildRequires:     xen-devel >= 3.4}
+BuildRequires: xfsprogs-devel
 BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
 Requires:      %{name}-img = %{version}-%{release}
 Requires:      %{name}-system-alpha = %{version}-%{release}
 Requires:      %{name}-system-arm = %{version}-%{release}
@@ -66,9 +89,11 @@ Requires:    %{name}-system-m68k = %{version}-%{release}
 Requires:      %{name}-system-microblaze = %{version}-%{release}
 Requires:      %{name}-system-mips = %{version}-%{release}
 Requires:      %{name}-system-ppc = %{version}-%{release}
+Requires:      %{name}-system-or32 = %{version}-%{release}
 Requires:      %{name}-system-s390x = %{version}-%{release}
 Requires:      %{name}-system-sh4 = %{version}-%{release}
 Requires:      %{name}-system-sparc = %{version}-%{release}
+Requires:      %{name}-system-unicore32 = %{version}-%{release}
 Requires:      %{name}-system-x86 = %{version}-%{release}
 Requires:      %{name}-system-xtensa = %{version}-%{release}
 Requires:      %{name}-user = %{version}-%{release}
@@ -76,6 +101,9 @@ Provides:    qemu = %{version}-%{release}
 Obsoletes:     qemu
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define        systempkg_req \
+Requires:      SDL >= 1.2.1
+
 # some PPC/SPARC boot image in ELF format
 %define                _noautostrip    .*%{_datadir}/qemu/.*
 
@@ -121,7 +149,7 @@ Requires(pre):      /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
 Requires(pre): /usr/sbin/useradd
 Requires(post,preun,postun):   systemd-units >= 38
-Requires:      SDL >= 1.2.1
+Requires:      glib2 >= 1:2.12
 Provides:      group(kvm)
 Provides:      qemu-common
 Requires:      systemd-units >= 38
@@ -179,6 +207,7 @@ Summary:    QEMU system emulator for Alpha
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Alpha
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-alpha
 QEMU is a generic and open source processor emulator which achieves a
@@ -197,6 +226,7 @@ Summary:    QEMU system emulator for ARM
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem ARM
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-arm
 QEMU is a generic and open source processor emulator which achieves a
@@ -215,6 +245,7 @@ Summary:    QEMU system emulator for CRIS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem CRIS
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-cris
 QEMU is a generic and open source processor emulator which achieves a
@@ -233,6 +264,7 @@ Summary:    QEMU system emulator for LM32
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem LM32
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-lm32
 QEMU is a generic and open source processor emulator which achieves a
@@ -251,6 +283,7 @@ Summary:    QEMU system emulator for m68k
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem m68k
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-m68k
 QEMU is a generic and open source processor emulator which achieves a
@@ -269,6 +302,7 @@ Summary:    QEMU system emulator for MicroBlaze
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MicroBlaze
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-microblaze
 QEMU is a generic and open source processor emulator which achieves a
@@ -287,6 +321,7 @@ Summary:    QEMU system emulator for MIPS
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem MIPS
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-mips
 QEMU is a generic and open source processor emulator which achieves a
@@ -305,6 +340,7 @@ Summary:    QEMU system emulator for OpenRISC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem OpenRISC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-or32
 QEMU is a generic and open source processor emulator which achieves a
@@ -323,6 +359,7 @@ Summary:    QEMU system emulator for PowerPC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem PowerPC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-ppc
 QEMU is a generic and open source processor emulator which achieves a
@@ -341,6 +378,7 @@ Summary:    QEMU system emulator for S390
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem S390
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-s390x
 QEMU is a generic and open source processor emulator which achieves a
@@ -359,6 +397,7 @@ Summary:    QEMU system emulator for SH4
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SH4
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-sh4
 QEMU is a generic and open source processor emulator which achieves a
@@ -377,6 +416,7 @@ Summary:    QEMU system emulator for SPARC
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem SPARC
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-sparc
 QEMU is a generic and open source processor emulator which achieves a
@@ -395,6 +435,7 @@ Summary:    QEMU system emulator for UniCore32
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem UniCore32
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-unicore32
 QEMU is a generic and open source processor emulator which achieves a
@@ -413,6 +454,7 @@ Summary:    QEMU system emulator for x86
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem x86
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 Obsoletes:     kvm
 
 %description system-x86
@@ -436,6 +478,7 @@ Summary:    QEMU system emulator for Xtensa
 Summary(pl.UTF-8):     QEMU - emulator systemu z procesorem Xtensa
 Group:         Development/Tools
 Requires:      %{name}-common = %{version}-%{release}
+%systempkg_req
 
 %description system-xtensa
 QEMU is a generic and open source processor emulator which achieves a
@@ -454,6 +497,7 @@ Summary:    QEMU guest agent
 Summary(pl.UTF-8):     Agent gościa QEMU
 Group:         Daemons
 Requires(post,preun,postun):   systemd-units >= 38
+Requires:      glib2 >= 1:2.12
 Requires:      systemd-units >= 38
 
 %description guest-agent
@@ -480,6 +524,8 @@ Ten pakiet nie musi być zainstalowany w systemie hosta.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 cp -a %{SOURCE1} pc-bios/bios.bin
 
@@ -487,6 +533,38 @@ cp -a %{SOURCE1} pc-bios/bios.bin
 ln -s ../error.h qapi/error.h
 
 %build
+common_opts="\
+       --disable-strip \
+       --enable-attr \
+       --enable-bluez \
+       --enable-brlapi \
+       --enable-cap-ng \
+       --enable-curl \
+       --enable-curses \
+       --enable-docs \
+       --enable-fdt \
+       --enable-libiscsi \
+       --enable-mixemu \
+       %{__enable_disable opengl} \
+       %{__enable_disable ceph rbd} \
+       %{__enable_disable sdl} \
+       --enable-seccomp \
+       %{__enable_disable spice} \
+       --enable-smartcard \
+       --enable-smartcard-nss \
+       --enable-usb-redir \
+       --enable-uuid \
+       --enable-vde \
+       --enable-virtfs \
+       --enable-vnc-jpeg \
+       --enable-vnc-png \
+       --enable-vnc-sasl \
+       --enable-vnc-tls \
+       %{__enable_disable xen} \
+       --audio-drv-list=alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa} \
+       --audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda \
+       --interp-prefix=%{_libdir}/qemu/lib-%%M"
+
 %ifarch %{ix86} %{x8664}
 ./configure \
        --target-list="x86_64-softmmu" \
@@ -496,37 +574,18 @@ ln -s ../error.h qapi/error.h
        --sysconfdir=%{_sysconfdir} \
        --cc="%{__cc}" \
        --host-cc="%{__cc}" \
-       --enable-vnc \
-       --enable-vnc-tls \
-       --enable-vnc-sasl \
-       --enable-vnc-jpeg \
-       --enable-vnc-png \
-       --enable-curses \
-       --enable-bluez \
+       $common_opts \
        --enable-kvm \
-       --enable-system \
-       --enable-user \
-       --enable-mixemu \
-       --enable-uuid \
-       --enable-attr \
-       --enable-vhost-net \
-       --enable-smartcard \
-       --enable-guest-agent \
-       --enable-docs \
-       --audio-drv-list="alsa,pa,sdl,oss" \
-       --audio-card-list="ac97,es1370,sb16,cs4231a,adlib,gus,hda" \
-       --interp-prefix=%{_prefix}/qemu-%%M \
-       %{__enable_disable spice} \
-       --disable-strip
+       --enable-system
 
 # note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing;
 # --libexecdir in configure is nop
 %{__make} \
-       V=99 \
+       V=1 \
        CONFIG_QEMU_HELPERDIR="%{_libdir}"
 cp -a x86_64-softmmu/qemu-system-x86_64 qemu-kvm
 %{__make} clean \
-       V=99
+       V=1
 %endif
 
 ./configure \
@@ -537,35 +596,14 @@ cp -a x86_64-softmmu/qemu-system-x86_64 qemu-kvm
        --sysconfdir=%{_sysconfdir} \
        --cc="%{__cc}" \
        --host-cc="%{__cc}" \
-       --enable-vnc \
-       --enable-vnc-tls \
-       --enable-vnc-sasl \
-       --enable-vnc-jpeg \
-       --enable-vnc-png \
-       --enable-curses \
-       --enable-bluez \
+       $common_opts \
        --disable-kvm \
-       --enable-system \
-       --enable-user \
-       --enable-mixemu \
-       --enable-uuid \
-       --enable-attr \
-       --enable-vhost-net \
-       --enable-smartcard \
-       --enable-guest-agent \
-       --enable-docs \
-       --audio-drv-list="alsa,pa,sdl,oss" \
-       --audio-card-list="ac97,es1370,sb16,cs4231a,adlib,gus,hda" \
-       --interp-prefix=%{_prefix}/qemu-%%M \
-%ifarch %{ix86} %{x8664}
-       %{__enable_disable spice} \
-%endif
-       --disable-strip
+       --enable-system
 
 # note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing;
 # --libexecdir in configure is nop
 %{__make} \
-       V=99 \
+       V=1 \
        CONFIG_QEMU_HELPERDIR="%{_libdir}"
 
 %{__cc} %{SOURCE7} %{rpmcflags} -o ksmctl
@@ -577,7 +615,7 @@ install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \
        $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}}
 
 %{__make} install \
-       V=99 \
+       V=1 \
        DESTDIR=$RPM_BUILD_ROOT \
        libexecdir=%{_libdir}
 
diff --git a/qemu-usbredir.patch b/qemu-usbredir.patch
new file mode 100644 (file)
index 0000000..ce791a4
--- /dev/null
@@ -0,0 +1,15 @@
+--- qemu-1.2.0/configure.orig  2012-10-22 19:32:36.328942334 +0200
++++ qemu-1.2.0/configure       2012-10-27 13:42:38.111694222 +0200
+@@ -2752,6 +2752,12 @@
+         usb_redir_libs=$($pkg_config --libs libusbredirparser 2>/dev/null)
+         QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
+         LIBS="$LIBS $usb_redir_libs"
++    elif $pkg_config libusbredirparser-0.5 >/dev/null 2>&1 ; then
++        usb_redir="yes"
++        usb_redir_cflags=$($pkg_config --cflags libusbredirparser-0.5 2>/dev/null)
++        usb_redir_libs=$($pkg_config --libs libusbredirparser-0.5 2>/dev/null)
++        QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags"
++        LIBS="$LIBS $usb_redir_libs"
+     else
+         if test "$usb_redir" = "yes"; then
+             feature_not_found "usb-redir"
This page took 0.050551 seconds and 4 git commands to generate.