X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=qemu.spec;h=cee340b665dbd150ab9c9cf6190d555ea9ce1a62;hb=a56d4cfdb30704b94ab344815541ec8ac47019cb;hp=a1c6e5a78b40c202f5e89a2b9c84b4e30347e50d;hpb=27439af0823b2f63e22846a5cc9f09b3685b6b7c;p=packages%2Fqemu.git diff --git a/qemu.spec b/qemu.spec index a1c6e5a..cee340b 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,65 +1,110 @@ -# # TODO: -# - wait till the gcc bug http://gcc.gnu.org/PR16185 is fixed. +# - merge missing bits from qemu-kvm +# - --enable-glusterfs when glusterfs 3.4 is out +# - qemu-system-ppc -hda ac-ppc.img says: +# qemu: could not open disk image ac-ppc.img: error "Success" +# qemu-0.12.2-2.x86_64.rpm - broken +# qemu-0.12.3-3.x86_64/qemu-0.12.4-1.x86_64 - stops on "returning from prom_init" +# qemu-0.15.0-2.x86_64.rpm - qemu-system-sparc/ppc booting with -kernel, -initrd options stalls in openbios prompt +# qemu-0.11.1-*.x86_64.rpm - OK # # Conditional build: -%bcond_with kqemu # with QEMU accelerator module -%bcond_with cflags_passing # with passing rpmcflags to Makefiles -%bcond_with nosdlgui # do not use SDL gui (use X11 instead) -%bcond_with gcc4 # use gcc4 patches (broke build on gcc33) -%bcond_without dist_kernel # without distribution kernel -%bcond_without kernel # don't build kernel modules -%bcond_without smp # don't build SMP module -%bcond_without userspace # don't build userspace utilities - -%define _kqemu_version 0.7.2 -# +%bcond_without sdl # SDL UI and audio support +%bcond_without glx # OpenGL support +%bcond_without ceph # Ceph/RBD support +%bcond_with glusterfs # GlusterFS backend +%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): QEMU - emulator procesora +Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 0.8.0 -%define _rel 1 -Release: %{_rel}%{?with_kqemu:k} -License: GPL +Version: 1.5.0 +Release: 0.1 +License: GPL v2+ Group: Applications/Emulators -#Source0Download: http://fabrice.bellard.free.fr/qemu/download.html -Source0: http://fabrice.bellard.free.fr/qemu/%{name}-%{version}.tar.gz -# Source0-md5: eb175b26583280706fe7e4d8910d320d -%if %{with kqemu} -Source1: http://fabrice.bellard.free.fr/qemu/kqemu-%{_kqemu_version}.tar.gz -# NoSource1-md5: 02cfdecda90458d6393781496ec6b48b -NoSource: 1 -%endif -Patch0: %{name}-nostatic.patch -Patch1: %{name}-DESTDIR.patch -Patch2: %{name}-longjmp.patch -Patch3: %{name}-dot.patch -Patch4: %{name}-initrd_load_addr.patch -Patch5: %{name}-gcc4_x86.patch -Patch6: %{name}-gcc4_ppc.patch -Patch7: %{name}-parallel.patch -Patch8: %{name}-nosdlgui.patch -Patch9: %{name}-ifup.patch -Patch10: %{name}-gcc33.patch -URL: http://fabrice.bellard.free.fr/qemu/ -BuildRequires: SDL-devel >= 1.2.1 +Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 +# Source0-md5: b6f3265b8ed39d77e8f354f35cc26e16 +Patch0: %{name}-cflags.patch +Patch1: vgabios-widescreens.patch +Patch2: %{name}-whitelist.patch +Patch3: %{name}-system-libcacard.patch +# Proof of concept, for reference, do not remove +Patch4: %{name}-kde_virtual_workspaces_hack.patch +URL: http://www.qemu-project.org/ +%{?with_opengl:BuildRequires: OpenGL-GLX-devel} +%{?with_sdl:BuildRequires: SDL-devel >= 1.2.1} BuildRequires: alsa-lib-devel -%if %{with kqemu} && %{with dist_kernel} -BuildRequires: kernel-module-build >= 2.6.7 -%endif -BuildRequires: rpmbuild(macros) >= 1.217 +BuildRequires: bcc +BuildRequires: bluez-libs-devel +BuildRequires: brlapi-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 +%{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4} +BuildRequires: gnutls-devel +BuildRequires: libaio-devel +BuildRequires: libcacard-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: nss-devel >= 3.12.8 +BuildRequires: perl-Encode +BuildRequires: perl-tools-pod +BuildRequires: pkgconfig +%{?with_pulseaudio:BuildRequires: pulseaudio-devel} +BuildRequires: rpmbuild(macros) >= 1.202 BuildRequires: sed >= 4.0 -Requires: SDL >= 1.2.1 -ExclusiveArch: %{ix86} %{x8664} ppc -# sparc is currently unsupported (missing cpu_get_real_ticks() impl in vl.c) +%if %{with spice} +BuildRequires: spice-protocol >= 0.12.0 +BuildRequires: spice-server-devel >= 0.12.0 +%endif +BuildRequires: texi2html +BuildRequires: texinfo +BuildRequires: usbredir-devel >= 0.6 +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} +Requires: %{name}-system-cris = %{version}-%{release} +Requires: %{name}-system-lm32 = %{version}-%{release} +Requires: %{name}-system-m68k = %{version}-%{release} +Requires: %{name}-system-microblaze = %{version}-%{release} +Requires: %{name}-system-mips = %{version}-%{release} +Requires: %{name}-system-moxie = %{version}-%{release} +Requires: %{name}-system-or32 = %{version}-%{release} +Requires: %{name}-system-ppc = %{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} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -# some SPARC boot image in ELF format -%define _noautostrip .*%{_datadir}/qemu/proll.elf +%define systempkg_req \ +Requires: SDL >= 1.2.1 \ +Requires: usbredir >= 0.6 -%if !%{with kqemu} -%undefine with_kernel -%endif +# some PPC/SPARC boot image in ELF format +%define _noautostrip .*%{_datadir}/qemu/.*-.* %description QEMU is a FAST! processor emulator. By using dynamic translation it @@ -72,213 +117,616 @@ CPUs. QEMU has two operating modes: emulation) and DOSEMU (DOS emulation) are the main targets for QEMU. - Full system emulation. In this mode, QEMU emulates a full system, - including a processor and various peripherials. - It can also be used to provide virtual hosting of several - virtual PC on a single server. + including a processor and various peripherials. It can also be used to + provide virtual hosting of several virtual PC on a single server. -%description -l pl -QEMU to szybki(!) emulator procesora. Poprzez u¿ycie dynamicznego -t³umaczenia osi±ga rozs±dn± szybko¶æ i jest ³atwy do przeportowania, -aby dzia³a³ na kolejnych procesorach. QEMU ma dwa tryby pracy: +%description -l pl.UTF-8 +QEMU to szybki(!) emulator procesora. Poprzez użycie dynamicznego +tłumaczenia osiąga rozsądną szybkość i jest łatwy do przeportowania, +aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy: -- Emulacja trybu u¿ytkownika. W tym trybie QEMU mo¿e uruchamiaæ +- Emulacja trybu użytkownika. W tym trybie QEMU może uruchamiać procesy linuksowe skompilowane dla jednego procesora na innym - procesorze. Linuksowe wywo³ania systemowe s± t³umaczone ze wzglêdu - na niezgodno¶æ kolejno¶ci bajtów w s³owie i 32/64-bitowego rozmiaru - s³owa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to g³ówne + procesorze. Linuksowe wywołania systemowe są tłumaczone ze względu na + niezgodność kolejności bajtów w słowie i 32/64-bitowego rozmiaru + słowa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to główne cele QEMU. -- Pe³na emulacja systemu. W tym trybie QEMU emuluje ca³y system, - w³±czaj±c w to procesor i ró¿ne urz±dzenia peryferyjne. - Mo¿e byæ tak¿e u¿ywane do wirtualnego hostowania kilku wirtualnych - pecetów na pojedynczym serwerze. - -%package -n kernel-misc-kqemu -Summary: kqemu - kernel module -Summary(pl): kqemu - modu³ j±dra -Version: %{_kqemu_version} -Release: %{_rel}@%{_kernel_ver_str} -Group: Base/Kernel -%{?with_dist_kernel:%requires_releq_kernel_up} -License: Free to use, non-distributable -Requires(post,postun): /sbin/depmod - -%description -n kernel-misc-kqemu -kqemu - kernel module. - -%description -n kernel-misc-kqemu -l pl -kqemu - modu³ j±dra. - -%package -n kernel-smp-misc-kqemu -Summary: kqemu - SMP kernel module -Summary(pl): kqemu - modu³ j±dra SMP -Version: %{_kqemu_version} -Release: %{_rel}@%{_kernel_ver_str} -Group: Base/Kernel -%{?with_dist_kernel:%requires_releq_kernel_up} -License: Free to use, non-distributable -Requires(post,postun): /sbin/depmod - -%description -n kernel-smp-misc-kqemu -kqemu - SMP kernel module. - -%description -n kernel-smp-misc-kqemu -l pl -kqemu - modu³ j±dra SMP. +- Pełna emulacja systemu. W tym trybie QEMU emuluje cały system, + włączając w to procesor i różne urządzenia peryferyjne. Może być także + używane do wirtualnego hostowania kilku wirtualnych pecetów na + pojedynczym serwerze. + +%package common +Summary: QEMU common files needed by all QEMU targets +Summary(pl.UTF-8): Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU +Group: Development/Tools +Requires: glib2 >= 1:2.12 +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Provides: group(qemu) +Provides: user(qemu) +Conflicts: qemu < 1.0-2 + +%description common +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. + +This package provides the common files needed by all QEMU targets. + +%description common -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie +środowiska QEMU. + +%package img +Summary: QEMU command line tool for manipulating disk images +Summary(pl.UTF-8): Narzędzie QEMU do operacji na obrazach dysków +Group: Development/Tools +Conflicts: qemu < 1.0-2 + +%description img +This package provides a command line tool for manipulating disk +images. + +%description img -l pl.UTF-8 +Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji +na obrazach dysków. + +%package user +Summary: QEMU user mode emulation of qemu targets +Summary(pl.UTF-8): QEMU - emulacja trybu użytkownika środowisk qemu +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} + +%description user +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. + +This package provides the user mode emulation of QEMU targets. + +%description user -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet udostępnia emulację trybu użytkownika środowisk QEMU. + +%package system-alpha +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with Alpha CPU. + +%description system-alpha -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem Alpha. + +%package system-arm +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator for ARM. + +%description system-arm -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem ARM. + +%package system-cris +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with CRIS CPU. + +%description system-cris -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem CRIS. + +%package system-lm32 +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with LM32 CPU. + +%description system-lm32 -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem LM32. + +%package system-m68k +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with m68k CPU. + +%description system-m68k -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem m68k. + +%package system-microblaze +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with MicroBlaze CPU. + +%description system-microblaze -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem MicroBlaze. + +%package system-mips +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with MIPS CPU. + +%description system-mips -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem MIPS. + +%package system-moxie +Summary: QEMU system emulator for Moxie +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Moxie +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-moxie +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. + +This package provides the system emulator with Moxie CPU. + +%description system-moxie -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem Moxie. + +%package system-or32 +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with OpenRISC CPU. + +%description system-or32 -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem OpenRISC. + +%package system-ppc +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with PowerPC CPU. + +%description system-ppc -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem PowerPC. + +%package system-s390x +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with S390 CPU. + +%description system-s390x -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem S390. + +%package system-sh4 +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with SH4 CPU. + +%description system-sh4 -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem SH4. + +%package system-sparc +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with SPARC/SPARC64 CPU. + +%description system-sparc -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem SPARC/SPARC64. + +%package system-unicore32 +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with UniCore32 CPU. + +%description system-unicore32 -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem UniCore32. + +%package system-x86 +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 + +%description system-x86 +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. + +%description system-x86 -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +%package system-xtensa +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 +good emulation speed by using dynamic translation. + +This package provides the system emulator with Xtensa CPU. + +%description system-xtensa -l pl.UTF-8 +QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający +dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. + +Ten pakiet zawiera emulator systemu z procesorem Xtensa. %prep -%setup -q %{?with_kqemu:-a1} +%setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 +%patch2 -p0 %patch3 -p1 -%patch4 -p1 -%if %{with gcc4} -%patch5 -p0 -%patch6 -p1 -%endif -# probably not needed -# %patch7 -p1 -%{?with_nosdlgui:%patch8 -p1} -%patch9 -p1 -%patch10 -p1 - -%{__sed} -i -e 's/sdl_static=yes/sdl_static=no/' configure -%{__sed} -i 's/.*MAKE) -C kqemu$//' Makefile - -# cannot use optflags on x86 - they cause "no register to spill" errors -%if %{with cflags_passing} -%{__sed} -i -e 's/-Wall -O2 -g/-Wall %{rpmcflags}/' Makefile Makefile.target -%else -%{__sed} -i 's/-Wall -O2 -g/-Wall -O2/' Makefile Makefile.target -%endif -%{?with_kqemu:echo -n > kqemu/install.sh} +%{__mv} libcacard libcacard-use-system-lib -%build -%if %{with kernel} -cd kqemu -for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do - if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then - exit 1 - fi - rm -rf include - install -d include/{linux,config} - ln -sf %{_kernelsrcdir}/config-$cfg .config - ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h - ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm - ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers -%if %{without dist_kernel} - ln -sf %{_kernelsrcdir}/scripts -%endif - touch include/config/MARKER - %{__make} -C %{_kernelsrcdir} clean \ - RCS_FIND_IGNORE="-name 'kqemu-mod-*.*' -o" \ - M=$PWD O=$PWD - %{__make} -C %{_kernelsrcdir} modules \ - M=$PWD O=$PWD - mv kqemu.ko kqemu-mod-$cfg.ko -done -cd - -%endif +# workaround for conflict with alsa/error.h +ln -s ../error.h qapi/error.h -%if %{with userspace} -# --extra-cflags don't work (overridden by CFLAGS in Makefile*) -# they can be passed if the cflags_passing bcond is used +%build ./configure \ + --extra-cflags="%{rpmcflags} -I/usr/include/ncurses" \ + --extra-ldflags="%{rpmldflags}" \ --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir} \ --cc="%{__cc}" \ - --enable-alsa \ - %{!?with_kqemu:--disable-kqemu} \ - --make="%{__make}" \ - --interp-prefix=%{_libdir}/%{name} -%{__make} -%endif + --host-cc="%{__cc}" \ + --disable-strip \ + --enable-attr \ + --enable-bluez \ + --enable-brlapi \ + --enable-cap-ng \ + --enable-curl \ + --enable-curses \ + --enable-docs \ + --enable-fdt \ + %{__enable_disable glusterfs} \ + --enable-libiscsi \ + --enable-mixemu \ + %{__enable_disable glx} \ + %{__enable_disable ceph rbd} \ + %{__enable_disable sdl} \ + --enable-seccomp \ + %{__enable_disable spice} \ + --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_iss:,oss}%{?with_sdl:,sdl}%{?with_esd:,esd}%{?with_pulseaudio:,pa}" \ + --interp-prefix=%{_libdir}/qemu/lib-%%M +# note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing; +# --libexecdir in configure is nop +%{__make} \ + V=1 \ + CONFIG_QEMU_HELPERDIR="%{_libdir}" + +# rebuild patched vesa tables with additional widescreen modes. +%{__make} -C roms/vgabios stdvga-bios %install rm -rf $RPM_BUILD_ROOT -%if %{with userspace} %{__make} install \ - DESTDIR=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + libexecdir=%{_libdir} -install -d $RPM_BUILD_ROOT/sbin -cat <<'EOF' > $RPM_BUILD_ROOT/sbin/qemu-ifup +install -d $RPM_BUILD_ROOT%{_sysconfdir} +cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup #!/bin/sh -if [ -f /etc/sysconfig/qemu ]; then - . /etc/sysconfig/qemu -fi -# of course this will work only for one interface. a lot possible to involve -sudo /sbin/ifconfig $1 ${INTERFACE_ADDR:-172.20.0.1} + EOF -%endif -%if %{with kernel} -install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc -install kqemu/kqemu-mod-up.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/kqemu.ko -%if %{with smp} && %{with dist_kernel} -install kqemu/kqemu-mod-smp.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/kqemu.ko -%endif -%endif +# already packaged +%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{doc,tech}.html +%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qmp-commands.txt -# This dir is unneeded -rm -rf $RPM_BUILD_ROOT/usr/share/doc/qemu +# install patched vesa tables with additional widescreen modes. +cp -p roms/vgabios/VGABIOS-lgpl-latest.stdvga.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/vgabios-stdvga.bin + +%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/{de_DE,de} +%{__mv} $RPM_BUILD_ROOT%{_datadir}/locale/{fr_FR,fr} +%find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT -%if %{with kqemu} -%post -%banner %{name} -e <