X-Git-Url: http://git.pld-linux.org/?p=packages%2Fqemu.git;a=blobdiff_plain;f=qemu.spec;h=924f3e00a6ccdf411822aee093fe8ce24e47aa48;hp=f7260ca376b77be05492ea5d9423911aa5769cd8;hb=af556ac18cd1511946fe0d6bbb1b4811e1f3509e;hpb=044c6ea87f84d823e20a95ebf7f1be045604f1d4 diff --git a/qemu.spec b/qemu.spec index f7260ca..924f3e0 100644 --- a/qemu.spec +++ b/qemu.spec @@ -6,22 +6,34 @@ %bcond_without glusterfs # GlusterFS backend %bcond_without rdma # RDMA-based migration support %bcond_with gtk2 # GTK+ 2.x instead of 3.x +%bcond_without gtk3 # Do not build GTK UI %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 +%bcond_without bluetooth # bluetooth support +%bcond_without brlapi # brlapi support +%bcond_without smartcard # smartcard-nss support +%bcond_without iscsi # iscsi support +%bcond_without seccomp # seccomp support +%bcond_without usbredir # usb network redirection support +%bcond_without system_seabios # system seabios binary + +%if %{with gtk2} +%undefine with_gtk3 +%endif Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 1.7.0 +Version: 1.7.1 Release: 2 License: GPL v2+ Group: Applications/Emulators Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -# Source0-md5: 32893941d40d052a5e649efcf06aca06 -Source2: qemu.binfmt +# Source0-md5: 9541063d999cf9659ed7fdce71314f31 +Source2: %{name}.binfmt # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm @@ -33,21 +45,24 @@ Source7: ksmctl.c Source8: ksmtuned.service Source9: ksmtuned Source10: ksmtuned.conf -Source11: qemu-guest-agent.service -Source12: 99-qemu-guest-agent.rules +Source11: %{name}-guest-agent.service +Source12: 99-%{name}-guest-agent.rules Patch0: %{name}-cflags.patch Patch1: vgabios-widescreens.patch Patch2: %{name}-whitelist.patch Patch3: %{name}-system-libcacard.patch +Patch4: vmdk3ro.patch +Patch5: %{name}-xattr.patch +Patch6: libjpeg-boolean.patch # Proof of concept, for reference, do not remove -Patch4: %{name}-kde_virtual_workspaces_hack.patch +Patch400: %{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 -BuildRequires: bcc -BuildRequires: bluez-libs-devel -BuildRequires: brlapi-devel +BuildRequires: bcc +%{?with_bluetooth:BuildRequires: bluez-libs-devel} +%{?with_brlapi:BuildRequires: brlapi-devel} %{?with_ceph:BuildRequires: ceph-devel} BuildRequires: curl-devel BuildRequires: cyrus-sasl-devel >= 2 @@ -56,27 +71,28 @@ BuildRequires: glib2-devel >= 1:2.12 %{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4} BuildRequires: gnutls-devel BuildRequires: libaio-devel -BuildRequires: libcacard-devel +%{?with_smartcard:BuildRequires: libcacard-devel} BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: libfdt-devel %{?with_rdma:BuildRequires: libibverbs-devel} -BuildRequires: libiscsi-devel +%{?with_iscsi:BuildRequires: libiscsi-devel} BuildRequires: libjpeg-devel BuildRequires: libpng-devel %{?with_rdma:BuildRequires: librdmacm-devel} -BuildRequires: libseccomp-devel +%{?with_seccomp:BuildRequires: libseccomp-devel} BuildRequires: libssh2-devel >= 1.2.8 # for usb passthrough, when available #BuildRequires: libusb-devel >= 1.0.13 BuildRequires: libuuid-devel BuildRequires: ncurses-devel -BuildRequires: nss-devel >= 3.12.8 +%{?with_smartcard:BuildRequires: nss-devel >= 3.12.8} BuildRequires: perl-Encode BuildRequires: perl-tools-pod BuildRequires: pkgconfig %{?with_pulseaudio:BuildRequires: pulseaudio-devel} BuildRequires: rpmbuild(macros) >= 1.644 +%{?with_system_seabios:BuildRequires: seabios} BuildRequires: sed >= 4.0 %if %{with spice} BuildRequires: spice-protocol >= 0.12.0 @@ -84,7 +100,7 @@ BuildRequires: spice-server-devel >= 0.12.0 %endif BuildRequires: texi2html BuildRequires: texinfo -BuildRequires: usbredir-devel >= 0.6 +%{?with_usbredir:BuildRequires: usbredir-devel >= 0.6} BuildRequires: vde2-devel BuildRequires: which %{?with_xen:BuildRequires: xen-devel >= 3.4} @@ -94,7 +110,8 @@ BuildRequires: zlib-devel %if %{with gtk2} BuildRequires: gtk+2-devel >= 2:2.18.0 BuildRequires: vte0-devel >= 0.24.0 -%else +%endif +%if %{with gtk3} BuildRequires: gtk+3-devel >= 3.0.0 BuildRequires: vte-devel >= 0.32.0 %endif @@ -120,12 +137,17 @@ Obsoletes: qemu-kvm BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define systempkg_req \ +%if %{with sdl} \ Requires: SDL >= 1.2.1 \ +%endif \ +%if %{with usbredir} \ Requires: usbredir >= 0.6 \ +%endif \ %if %{with gtk2} \ Requires: gtk+2 >= 2:2.18.0 \ Requires: vte0 >= 0.24.0 \ -%else \ +%endif \ +%if %{with gtk3} \ Requires: gtk+3 >= 3.0.0 \ Requires: vte >= 0.32.0 \ %endif @@ -200,8 +222,8 @@ Ten pakiet udostępnia wspólne pliki wymagane przez wszystkie 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 Obsoletes: qemu-kvm-img +Conflicts: qemu < 1.0-2 %description img This package provides a command line tool for manipulating disk @@ -516,6 +538,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} +%{?with_system_seabios:Requires: seabios} %systempkg_req Obsoletes: kvm Obsoletes: qemu-kvm-system-x86 @@ -558,8 +581,8 @@ Requires: systemd-units >= 38 Obsoletes: qemu-kvm-guest-agent %description guest-agent -QEMU is a generic and open source processor emulator which achieves -a good emulation speed by using dynamic translation. +QEMU is a generic and open source processor emulator which achieves a +good emulation speed by using dynamic translation. This package provides an agent to run inside guests, which communicates with the host over a virtio-serial channel named @@ -583,6 +606,9 @@ Ten pakiet nie musi być zainstalowany w systemie hosta. %patch1 -p1 %patch2 -p0 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 %{__mv} libcacard libcacard-use-system-lib @@ -599,24 +625,24 @@ ln -s ../error.h qapi/error.h --host-cc="%{__cc}" \ --disable-strip \ --enable-attr \ - --enable-bluez \ - --enable-brlapi \ + %{__enable_disable bluetooth bluez} \ + %{__enable_disable brlapi} \ --enable-cap-ng \ --enable-curl \ --enable-curses \ --enable-docs \ --enable-fdt \ %{__enable_disable glusterfs} \ - --enable-libiscsi \ + %{__enable_disable iscsi libiscsi} \ %{__enable_disable glx} \ %{__enable_disable ceph rbd} \ %{__enable_disable rdma} \ %{__enable_disable sdl} \ - --enable-seccomp \ + %{__enable_disable seccomp} \ %{__enable_disable spice} \ - --enable-smartcard-nss \ + %{__enable_disable smartcard smartcard-nss} \ --enable-tpm \ - --enable-usb-redir \ + %{__enable_disable usbredir usb-redir} \ --enable-uuid \ --enable-vde \ --enable-virtfs \ @@ -628,13 +654,18 @@ ln -s ../error.h qapi/error.h %{__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 \ +%if %{without gtk2} && %{without gtk3} + --disable-gtk +%else --with-gtkabi="%{?with_gtk2:2.0}%{!?with_gtk2:3.0}" +%endif # note: CONFIG_QEMU_HELPERDIR is used when compiling, libexecdir when installing; # --libexecdir in configure is nop %{__make} \ V=1 \ - CONFIG_QEMU_HELPERDIR="%{_libdir}" + CONFIG_QEMU_HELPERDIR="%{_libdir}" \ + %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} # rebuild patched vesa tables with additional widescreen modes. %{__make} -C roms/vgabios stdvga-bios @@ -648,6 +679,7 @@ install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \ $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}} %{__make} install \ + %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \ DESTDIR=$RPM_BUILD_ROOT \ libexecdir=%{_libdir} @@ -660,7 +692,7 @@ EOF install -p qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl/qemu.conf %ifarch %{ix86} %{x8664} -install scripts/kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir} +install -p scripts/kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir} install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %endif @@ -680,19 +712,19 @@ install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d for i in dummy \ %ifnarch %{ix86} %{x8664} - qemu-i386 \ + qemu-i386 \ %endif %ifnarch arm - qemu-arm \ + qemu-arm \ %endif %ifnarch ppc ppc64 - qemu-ppc \ + qemu-ppc \ %endif %ifnarch sparc sparc64 - qemu-sparc \ + qemu-sparc \ %endif %ifnarch sh4 - qemu-sh4 \ + qemu-sh4 \ %endif ; do test $i = dummy && continue @@ -706,9 +738,23 @@ done < %{SOURCE2} # 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} +%if %{with system_seabios} +ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios.bin +for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do + bn="$(basename $f)" + if [ -e "/usr/share/seabios/$bn" ] ; then + ln -sf "/usr/share/seabios/$bn" "$f" + fi +done +%endif + +%if %{with gtk2} || %{with gtk3} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/{de_DE,de} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/{fr_FR,fr} %find_lang %{name} +%else +: > qemu.lang +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -779,16 +825,43 @@ fi %dir %{_datadir}/qemu %{_datadir}/%{name}/keymaps %{_datadir}/%{name}/qemu-icon.bmp + # various bios images -%{_datadir}/%{name}/*.aml -%{_datadir}/%{name}/*.bin -%{_datadir}/%{name}/*.rom -%{_datadir}/%{name}/*.dtb -%{_datadir}/%{name}/qemu_logo_no_text.svg +# all should be probably moved to the right system subpackage +%{_datadir}/%{name}/QEMU,tcx.bin +%{_datadir}/%{name}/bamboo.dtb +%{_datadir}/%{name}/efi-e1000.rom +%{_datadir}/%{name}/efi-eepro100.rom +%{_datadir}/%{name}/efi-ne2k_pci.rom +%{_datadir}/%{name}/efi-pcnet.rom +%{_datadir}/%{name}/efi-rtl8139.rom +%{_datadir}/%{name}/efi-virtio.rom +%{_datadir}/%{name}/kvmvapic.bin +%{_datadir}/%{name}/linuxboot.bin +%{_datadir}/%{name}/multiboot.bin %{_datadir}/%{name}/openbios-ppc %{_datadir}/%{name}/openbios-sparc* %{_datadir}/%{name}/palcode-clipper +%{_datadir}/%{name}/petalogix-ml605.dtb +%{_datadir}/%{name}/petalogix-s3adsp1800.dtb +%{_datadir}/%{name}/ppc_rom.bin +%{_datadir}/%{name}/pxe-e1000.rom +%{_datadir}/%{name}/pxe-eepro100.rom +%{_datadir}/%{name}/pxe-ne2k_pci.rom +%{_datadir}/%{name}/pxe-pcnet.rom +%{_datadir}/%{name}/pxe-rtl8139.rom +%{_datadir}/%{name}/pxe-virtio.rom +%{_datadir}/%{name}/qemu_logo_no_text.svg %{_datadir}/%{name}/s390-ccw.img +%{_datadir}/%{name}/s390-zipl.rom +%{_datadir}/%{name}/sgabios.bin +%{_datadir}/%{name}/slof.bin +%{_datadir}/%{name}/spapr-rtas.bin +%{_datadir}/%{name}/vgabios-cirrus.bin +%{_datadir}/%{name}/vgabios-qxl.bin +%{_datadir}/%{name}/vgabios-stdvga.bin +%{_datadir}/%{name}/vgabios-vmware.bin +%{_datadir}/%{name}/vgabios.bin %files img %defattr(644,root,root,755) @@ -899,6 +972,9 @@ fi %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/80-kvm.rules %attr(755,root,root) %{_bindir}/kvm_stat %endif +%{_datadir}/%{name}/bios.bin +%{_datadir}/%{name}/acpi-dsdt.aml +%{_datadir}/%{name}/q35-acpi-dsdt.aml %files system-xtensa %defattr(644,root,root,755) @@ -906,6 +982,7 @@ fi %attr(755,root,root) %{_bindir}/qemu-system-xtensaeb %files guest-agent +%defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/99-qemu-guest-agent.rules %{systemdunitdir}/qemu-guest-agent.service %attr(755,root,root) %{_bindir}/qemu-ga