X-Git-Url: https://git.tld-linux.org/?p=packages%2Fqemu.git;a=blobdiff_plain;f=qemu.spec;h=edaf0bd300dc46ede79cc8212c67f8b9646182ae;hp=23c31881e2a504a4647a251194ad98c0a98a95b5;hb=49cec323a70c128b446b8fb8b01796b29f36c50b;hpb=3b84a1de8cb0948b8052d70b75a8387538f6bdda diff --git a/qemu.spec b/qemu.spec index 23c3188..edaf0bd 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,19 +1,19 @@ # # Conditional build: %bcond_without sdl # SDL UI and audio support -%bcond_without glx # OpenGL/GLX support +%bcond_without gl # Don't require gl deps %bcond_without ceph # Ceph/RBD support %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 gtk3 # Do not build GTK+ UI +%bcond_without vte # VTE support in 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_with brlapi # brlapi support %bcond_without smartcard # smartcard-nss support %bcond_without iscsi # iscsi support %bcond_without libnfs # NFS support @@ -21,76 +21,86 @@ %bcond_without usbredir # usb network redirection support %bcond_without system_seabios # system seabios binary %bcond_without snappy # snappy compression library +%bcond_without user_static # build linux-user static packages +%bcond_with lttng # lttng-ust trace backend support +%bcond_with systemtap # SystemTap/dtrace trace backend support +%bcond_with virgl # build virgl support +%bcond_without xkbcommon # xkbcommon support + +%ifarch x32 +%undefine with_xen +%endif -%if %{with gtk2} -%undefine with_gtk3 +# ceph >= 14.0 no longer support 32-bit archs +%ifarch %{ix86} +%undefine with_ceph %endif Summary: QEMU CPU Emulator Summary(pl.UTF-8): QEMU - emulator procesora Name: qemu -Version: 2.1.2 -Release: 2 -License: GPL v2+ +Version: 4.0.0 +Release: 1 +License: GPL v2 Group: Applications/Emulators -Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -# Source0-md5: 0ff197c4ed4b695620bc4734e77c888f -Source2: %{name}.binfmt +Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.xz +# Source0-md5: 0afeca336fd57ae3d3086ec07f59d708 # Loads kvm kernel modules at boot Source3: kvm-modules-load.conf # Creates /dev/kvm Source4: 80-kvm.rules # KSM control scripts -Source5: ksm.service Source6: ksm.sysconfig Source7: ksmctl.c -Source8: ksmtuned.service Source9: ksmtuned Source10: ksmtuned.conf -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: %{name}-xattr.patch -Patch5: libjpeg-boolean.patch -# Proof of concept, for reference, do not remove -Patch400: %{name}-kde_virtual_workspaces_hack.patch +Patch1: %{name}-whitelist.patch +Patch2: %{name}-user-execve.patch +Patch3: %{name}-xattr.patch +Patch4: libjpeg-boolean.patch +Patch5: x32.patch URL: http://www.qemu-project.org/ -%{?with_opengl:BuildRequires: OpenGL-GLX-devel} -%{?with_sdl:BuildRequires: SDL2-devel} +%{?with_gl:BuildRequires: OpenGL-GLX-devel} +%{?with_gl:BuildRequires: OpenGL-devel} +%{?with_sdl:BuildRequires: SDL2-devel >= 2.0} BuildRequires: alsa-lib-devel -BuildRequires: bcc +BuildRequires: bcc >= 0.16.21-2 %{?with_bluetooth:BuildRequires: bluez-libs-devel} %{?with_brlapi:BuildRequires: brlapi-devel} +BuildRequires: bzip2-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: glib2-devel >= 1:2.22 %{?with_glusterfs:BuildRequires: glusterfs-devel >= 3.4} -BuildRequires: gnutls-devel > 2.10.0 +BuildRequires: gnutls-devel >= 3.1.18 BuildRequires: libaio-devel %{?with_smartcard:BuildRequires: libcacard-devel} BuildRequires: libcap-devel BuildRequires: libcap-ng-devel -BuildRequires: libfdt-devel +%{?with_gl:BuildRequires: libepoxy-devel} +BuildRequires: libfdt-devel >= 1.4.2 %{?with_rdma:BuildRequires: libibverbs-devel} %{?with_iscsi:BuildRequires: libiscsi-devel >= 1.9.0} +%{?with_rdma:BuildRequires: libibumad-devel} BuildRequires: libjpeg-devel %{?with_libnfs:BuildRequires: libnfs-devel >= 1.9.3} BuildRequires: libpng-devel %{?with_rdma:BuildRequires: librdmacm-devel} -%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.1.0} +%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.2.0} BuildRequires: libssh2-devel >= 1.2.8 BuildRequires: libusb-devel >= 1.0.13 BuildRequires: libuuid-devel +%{?with_lttng:BuildRequires: lttng-ust-devel} BuildRequires: lzo-devel >= 2 BuildRequires: ncurses-devel -%{?with_smartcard:BuildRequires: nss-devel >= 3.12.8} +%{?with_smartcard:BuildRequires: nss-devel >= 1:3.12.8} +BuildRequires: numactl-devel BuildRequires: perl-Encode BuildRequires: perl-tools-pod +BuildRequires: pixman-devel >= 0.21.8 BuildRequires: pkgconfig %{?with_pulseaudio:BuildRequires: pulseaudio-devel} BuildRequires: rpmbuild(macros) >= 1.644 @@ -101,38 +111,49 @@ BuildRequires: sed >= 4.0 BuildRequires: spice-protocol >= 0.12.3 BuildRequires: spice-server-devel >= 0.12.0 %endif +%{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: texi2html BuildRequires: texinfo %{?with_usbredir:BuildRequires: usbredir-devel >= 0.6} +%{?with_lttng:BuildRequires: userspace-rcu-devel} BuildRequires: vde2-devel BuildRequires: which +%{?with_virgl:BuildRequires: virglrenderer-devel} %{?with_xen:BuildRequires: xen-devel >= 3.4} BuildRequires: xfsprogs-devel +%{?with_xkbcommon:BuildRequires: xorg-lib-libxkbcommon-devel} BuildRequires: xorg-lib-libX11-devel BuildRequires: zlib-devel -%if %{with gtk2} -BuildRequires: gtk+2-devel >= 2:2.18.0 -BuildRequires: vte0-devel >= 0.24.0 -%endif %if %{with gtk3} -BuildRequires: gtk+3-devel >= 3.0.0 -BuildRequires: vte-devel >= 0.32.0 +BuildRequires: gtk+3-devel >= 3.14.0 +%{?with_vte:BuildRequires: vte2.90-devel >= 0.32.0} +%endif +%if %{with user_static} +BuildRequires: glib2-static +BuildRequires: glibc-static +BuildRequires: pcre-static +BuildRequires: zlib-static %endif Requires: %{name}-img = %{version}-%{release} Requires: %{name}-system-aarch64 = %{version}-%{release} Requires: %{name}-system-alpha = %{version}-%{release} Requires: %{name}-system-arm = %{version}-%{release} Requires: %{name}-system-cris = %{version}-%{release} +Requires: %{name}-system-hppa = %{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-nios2 = %{version}-%{release} +Requires: %{name}-system-or1k = %{version}-%{release} Requires: %{name}-system-ppc = %{version}-%{release} +Requires: %{name}-system-riscv32 = %{version}-%{release} +Requires: %{name}-system-riscv64 = %{version}-%{release} Requires: %{name}-system-s390x = %{version}-%{release} Requires: %{name}-system-sh4 = %{version}-%{release} Requires: %{name}-system-sparc = %{version}-%{release} +Requires: %{name}-system-tricore = %{version}-%{release} Requires: %{name}-system-unicore32 = %{version}-%{release} Requires: %{name}-system-x86 = %{version}-%{release} Requires: %{name}-system-xtensa = %{version}-%{release} @@ -144,24 +165,23 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %if %{with sdl} \ Requires: SDL2 \ %endif \ +Requires: libfdt >= 1.4.2 \ %if %{with seccomp} \ -Requires: libseccomp >= 2.1.0 \ +Requires: libseccomp >= 2.2.0 \ %endif \ Requires: libusb >= 1.0.13 \ +Requires: pixman >= 0.21.8 \ %if %{with usbredir} \ Requires: usbredir >= 0.6 \ %endif \ -%if %{with gtk2} \ -Requires: gtk+2 >= 2:2.18.0 \ -Requires: vte0 >= 0.24.0 \ -%endif \ %if %{with gtk3} \ -Requires: gtk+3 >= 3.0.0 \ -Requires: vte >= 0.32.0 \ +Requires: gtk+3 >= 3.14.0 \ +%{?with_vte:Requires: vte2.90 >= 0.32.0} \ %endif -# some PPC/SPARC boot image in ELF format -%define _noautostrip .*%{_datadir}/qemu/.*-.* +# don't strip/chrpath anything in there; these are boot images, roms etc +%define _noautostrip .*%{_datadir}/qemu/.* +%define _noautochrpath .*%{_datadir}/qemu/.* %description QEMU is a FAST! processor emulator. By using dynamic translation it @@ -198,17 +218,15 @@ aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy: 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(post,preun,postun): systemd-units >= 38 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 -Requires: glib2 >= 1:2.12 +Requires: glib2 >= 1:2.22 %{?with_libnfs:Requires: libnfs >= 1.9.3} Requires: libssh2 >= 1.2.8 -Requires: systemd-units >= 38 Provides: group(qemu) Provides: user(qemu) Obsoletes: qemu-kvm-common @@ -242,13 +260,24 @@ images. Ten pakiet udostępnia działające z linii poleceń narzędzia do operacji na obrazach dysków. +%package ivshmem +Summary: Client and server for QEMU ivshmem device +Summary(pl.UTF-8): Klient i serwer dla urządzeia ivshmem QEMU +Group: Development/Tools + +%description ivshmem +This package provides client and server tools for QEMU's ivshmem +device. + +%description ivshmem -l pl.UTF-8 +Ten pakiet udostępnia działające z linii poleceń narzędzia dla +urządzenia ivshmem QEMU. + %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} -Requires(post,postun): systemd-units >= 38 -Requires: systemd-units >= 38 Obsoletes: qemu-kvm-user %description user @@ -263,6 +292,17 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet udostępnia emulację trybu użytkownika środowisk QEMU. +%package user-static +Summary: QEMU user mode emulation of qemu targets static build +Group: Development/Tools + +%description user-static +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 built as +static binaries + %package system-aarch64 Summary: QEMU system emulator for AArch64 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem AArch64 @@ -343,6 +383,25 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem CRIS. +%package system-hppa +Summary: QEMU system emulator for HP/PA +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem HP/PA +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-hppa +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 HP/PA CPU. + +%description system-hppa -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 HP/PA. + %package system-lm32 Summary: QEMU system emulator for LM32 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem LM32 @@ -442,21 +501,41 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem Moxie. -%package system-or32 +%package system-nios2 +Summary: QEMU system emulator for Nios II +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Nios II +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-nios2 +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 Nios II CPU. + +%description system-nios2 -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 Nios II. + +%package system-or1k 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 -Obsoletes: qemu-kvm-system-or32 +Obsoletes: qemu-kvm-system-or1k +Obsoletes: qemu-system-or32 -%description system-or32 +%description system-or1k 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 +%description system-or1k -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. @@ -482,6 +561,44 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem PowerPC. +%package system-riscv32 +Summary: QEMU system emulator for RISC-V (32 bit) +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem RISC-V (32 bit) +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-riscv32 +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 RISC-V (32 bit) CPU. + +%description system-riscv32 -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 RISC-V (32 bit). + +%package system-riscv64 +Summary: QEMU system emulator for RISC-V (64 bit) +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem RISC-V (64 bit) +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-riscv64 +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 RISC-V (64 bit) CPU. + +%description system-riscv64 -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 RISC-V (64 bit). + %package system-s390x Summary: QEMU system emulator for S390 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem S390 @@ -542,6 +659,25 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej. Ten pakiet zawiera emulator systemu z procesorem SPARC/SPARC64. +%package system-tricore +Summary: QEMU system emulator for TriCore +Summary(pl.UTF-8): QEMU - emulator systemu z procesorem TriCore +Group: Development/Tools +Requires: %{name}-common = %{version}-%{release} +%systempkg_req + +%description system-tricore +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 TriCore 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 TriCore. + %package system-unicore32 Summary: QEMU system emulator for UniCore32 Summary(pl.UTF-8): QEMU - emulator systemu z procesorem UniCore32 @@ -604,9 +740,7 @@ Ten pakiet zawiera emulator systemu z procesorem Xtensa. 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 +Requires: glib2 >= 1:2.22 Obsoletes: qemu-kvm-guest-agent %description guest-agent @@ -659,7 +793,7 @@ Summary: QEMU module for 'iscsi' block devices Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'iscsi' Group: Development/Tools Requires: %{name}-common = %{version}-%{release} -Requires: libiscsi >= 1.4.0 +Requires: libiscsi >= 1.9.0 %description module-block-iscsi 'iscsi' block device support for QEMU. @@ -695,27 +829,47 @@ Moduł QEMU dla urządeń blokowych typu 'ssh'. %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p0 +%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 -%{__mv} libcacard libcacard-use-system-lib - # workaround for conflict with alsa/error.h ln -s ../error.h qapi/error.h %build -./configure \ - --extra-cflags="%{rpmcflags} -I/usr/include/ncurses" \ - --extra-ldflags="%{rpmldflags}" \ + +build() { + local target=$1 + shift + + install -d build-$target + cd build-$target + + ../configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --libexecdir=%{_libexecdir} \ --sysconfdir=%{_sysconfdir} \ + --localstatedir=%{_localstatedir} \ + --interp-prefix=%{_libdir}/qemu/lib-%%M \ --cc="%{__cc}" \ --host-cc="%{__cc}" \ --disable-strip \ + --enable-trace-backends="nop%{?with_systemtap:,dtrace}%{?with_lttng:,ust}" \ + --enable-kvm \ + "$@" + + %{__make} \ + V=1 \ + %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} + + cd .. +} + +build dynamic \ + --extra-cflags="%{rpmcflags} %{rpmcppflags} -fPIE -DPIE" \ + --extra-ldflags="%{rpmldflags} -pie -Wl,-z,relro -Wl,-z,now" \ --enable-attr \ %{__enable_disable bluetooth bluez} \ %{__enable_disable brlapi} \ @@ -726,59 +880,82 @@ ln -s ../error.h qapi/error.h --enable-fdt \ %{__enable_disable glusterfs} \ %{__enable_disable iscsi libiscsi} \ - %{__enable_disable glx} \ %{__enable_disable ceph rbd} \ %{__enable_disable rdma} \ %{__enable_disable sdl} \ - --with-sdlabi=2.0 \ %{__enable_disable seccomp} \ %{__enable_disable spice} \ - %{__enable_disable smartcard smartcard-nss} \ + %{__enable_disable smartcard smartcard} \ --enable-tpm \ %{__enable_disable usbredir usb-redir} \ - --enable-uuid \ --enable-vde \ --enable-virtfs \ --enable-vnc-jpeg \ --enable-vnc-png \ --enable-vnc-sasl \ - --enable-vnc-tls \ - --enable-kvm \ + %{!?with_vte:--disable-vte} \ + %{__enable_disable virgl virglrenderer} \ %{__enable_disable xen} \ --enable-modules \ --disable-netmap \ %{__enable_disable libnfs} \ --enable-lzo \ %{__enable_disable snappy} \ - --enable-quorum \ --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} +%if %{without gtk3} --disable-gtk -%else - --enable-gtk \ - --with-gtkabi="%{?with_gtk2:2.0}%{!?with_gtk2:3.0}" %endif -%{__make} \ - V=1 \ - %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} +%if %{with user_static} +build static \ + --disable-brlapi \ + --disable-cap-ng \ + --disable-curl \ + --disable-curses \ + --disable-gcrypt \ + --disable-gnutls \ + --disable-gtk \ + --disable-guest-agent \ + --disable-guest-agent-msi \ + --disable-libnfs \ + --disable-nettle \ + --disable-pie \ + --disable-sdl \ + --disable-spice \ + --disable-tcmalloc \ + --disable-tools \ + --enable-user \ + --disable-system \ + --static -# rebuild patched vesa tables with additional widescreen modes. -%{__make} -C roms/vgabios stdvga-bios +%endif %{__cc} %{SOURCE7} %{rpmcflags} -o ksmctl %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{systemdunitdir},/usr/lib/binfmt.d} \ - $RPM_BUILD_ROOT/etc/{sysconfig,udev/rules.d,modules-load.d} \ +install -d \ + $RPM_BUILD_ROOT/etc/{qemu,sysconfig,udev/rules.d,modules-load.d} \ $RPM_BUILD_ROOT{%{_sysconfdir}/sasl,%{_sbindir}} -%{__make} install \ +%if %{with user_static} +%{__make} -C build-static install \ %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \ DESTDIR=$RPM_BUILD_ROOT +# Give all QEMU user emulators a -static suffix +for src in $RPM_BUILD_ROOT%{_bindir}/qemu-*; do + mv $src $src-static +done + +%endif + +%{__make} -C build-dynamic install \ + %{!?with_smartcard:CONFIG_USB_SMARTCARD=n} \ + DESTDIR=$RPM_BUILD_ROOT + +echo "#allow br0" > $RPM_BUILD_ROOT/etc/qemu/bridge.conf + install -d $RPM_BUILD_ROOT%{_sysconfdir} cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup #!/bin/sh @@ -787,52 +964,19 @@ EOF install -p qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl/qemu.conf -%ifarch %{ix86} %{x8664} -install -p scripts/kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir} +%ifarch %{ix86} %{x8664} x32 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/modules-load.d/kvm.conf install -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d %endif -install -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/ksm.service install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ksm install -p ksmctl $RPM_BUILD_ROOT%{_sbindir} -install -p %{SOURCE8} $RPM_BUILD_ROOT%{systemdunitdir}/ksmtuned.service install -p %{SOURCE9} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf -# For the qemu-guest-agent subpackage install the systemd -# service and udev rules. -install -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir} -install -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/udev/rules.d - -for i in dummy \ -%ifnarch %{ix86} %{x8664} - qemu-i386 \ -%endif -%ifnarch arm - qemu-arm \ -%endif -%ifnarch ppc ppc64 - qemu-ppc \ -%endif -%ifnarch sparc sparc64 - qemu-sparc \ -%endif -%ifnarch sh4 - qemu-sh4 \ -%endif -; do - test $i = dummy && continue - grep /$i:\$ %{SOURCE2} > $RPM_BUILD_ROOT/usr/lib/binfmt.d/$i.conf -done < %{SOURCE2} - # packaged as %doc -%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{doc,tech}.html -%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qmp-commands.txt - -# 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 +%{__rm} $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-doc.html %if %{with system_seabios} ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin @@ -845,7 +989,7 @@ for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do done %endif -%if %{with gtk2} || %{with gtk3} +%if %{with gtk3} %{__mv} $RPM_BUILD_ROOT%{_localedir}/{de_DE,de} %{__mv} $RPM_BUILD_ROOT%{_localedir}/{fr_FR,fr} %find_lang %{name} @@ -853,6 +997,8 @@ done : > qemu.lang %endif +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/qemu + %clean rm -rf $RPM_BUILD_ROOT @@ -861,81 +1007,60 @@ rm -rf $RPM_BUILD_ROOT %groupadd -g 276 qemu %useradd -u 276 -g qemu -G kvm -c "QEMU User" qemu -%post common -%systemd_post ksm.service -%systemd_post ksmtuned.service - -%preun common -%systemd_preun ksm.service -%systemd_preun ksmtuned.service - %postun common if [ "$1" = "0" ]; then %userremove qemu %groupremove qemu %groupremove kvm fi -%systemd_reload - -%triggerpostun common -- qemu-common < 1.6.1-4 -%systemd_trigger ksm.service -%systemd_trigger ksmtuned.service - -%post user -%systemd_service_restart systemd-binfmt.service - -%postun user -%systemd_service_restart systemd-binfmt.service - -%post guest-agent -%systemd_reload - -%preun guest-agent -%systemd_preun qemu-guest-agent.service - -%postun guest-agent -%systemd_reload %files %defattr(644,root,root,755) %files common -f %{name}.lang %defattr(644,root,root,755) -%doc README qemu-doc.html qemu-tech.html qmp-commands.txt +%doc LICENSE README +%doc build-dynamic/qemu-doc.html %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu/target-*.conf %config(noreplace) %verify(not md5 mtime size) /etc/ksmtuned.conf %config(noreplace) %verify(not md5 mtime size) /etc/sasl/qemu.conf %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ksm -%{systemdunitdir}/ksm.service -%{systemdunitdir}/ksmtuned.service -%dir %{_sysconfdir}/qemu +%dir /etc/qemu +%attr(640,root,qemu) %config(noreplace) %verify(not md5 mtime size) /etc/qemu/bridge.conf +%attr(755,root,root) %{_bindir}/elf2dmp %attr(755,root,root) %{_bindir}/virtfs-proxy-helper +%attr(755,root,root) %{_bindir}/qemu-edid +%{?with_xkbcommon:%attr(755,root,root) %{_bindir}/qemu-keymap} %attr(755,root,root) %{_bindir}/qemu-nbd -%attr(755,root,root) %{_libdir}/qemu-bridge-helper +%attr(755,root,root) %{_bindir}/qemu-pr-helper +%attr(755,root,root) %{_bindir}/qemu-tilegx +%attr(755,root,root) %{_libexecdir}/qemu-bridge-helper %attr(755,root,root) %{_sbindir}/ksmctl %attr(755,root,root) %{_sbindir}/ksmtuned %{_mandir}/man1/qemu.1* %{_mandir}/man1/virtfs-proxy-helper.1* +%{_mandir}/man7/qemu-cpu-models.7* +%{_mandir}/man7/qemu-block-drivers.7* %{_mandir}/man8/qemu-nbd.8* %dir %{_datadir}/qemu %{_datadir}/%{name}/keymaps -%{_datadir}/%{name}/qemu-icon.bmp +%{_datadir}/%{name}/trace-events-all # various bios images # all should be probably moved to the right system subpackage -%{_datadir}/%{name}/QEMU,cgthree.bin -%{_datadir}/%{name}/QEMU,tcx.bin %{_datadir}/%{name}/bamboo.dtb +%{_datadir}/%{name}/efi-e1000e.rom %{_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}/efi-vmxnet3.rom %{_datadir}/%{name}/kvmvapic.bin %{_datadir}/%{name}/linuxboot.bin +%{_datadir}/%{name}/linuxboot_dma.bin %{_datadir}/%{name}/multiboot.bin %{_datadir}/%{name}/openbios-ppc %{_datadir}/%{name}/openbios-sparc* @@ -943,40 +1068,63 @@ fi %{_datadir}/%{name}/petalogix-ml605.dtb %{_datadir}/%{name}/petalogix-s3adsp1800.dtb %{_datadir}/%{name}/ppc_rom.bin +%{_datadir}/%{name}/pvh.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}/QEMU,cgthree.bin +%{_datadir}/%{name}/QEMU,tcx.bin %{_datadir}/%{name}/s390-ccw.img -%{_datadir}/%{name}/s390-zipl.rom %{_datadir}/%{name}/sgabios.bin +%{_datadir}/%{name}/skiboot.lid %{_datadir}/%{name}/slof.bin %{_datadir}/%{name}/spapr-rtas.bin -%{_datadir}/%{name}/u-boot.e500 +%{_datadir}/%{name}/vgabios.bin +%{_datadir}/%{name}/vgabios-bochs-display.bin %{_datadir}/%{name}/vgabios-cirrus.bin %{_datadir}/%{name}/vgabios-qxl.bin +%{_datadir}/%{name}/vgabios-ramfb.bin %{_datadir}/%{name}/vgabios-stdvga.bin +%{_datadir}/%{name}/vgabios-virtio.bin %{_datadir}/%{name}/vgabios-vmware.bin -%{_datadir}/%{name}/vgabios.bin %dir %{_libdir}/%{name} +# modules without too many external dependencies +%attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so +%{?with_libnfs:%attr(755,root,root) %{_libdir}/%{name}/block-nfs.so} + +%attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so +%{?with_pulseaudio:%attr(755,root,root) %{_libdir}/%{name}/audio-pa.so} +%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/audio-sdl.so} +%attr(755,root,root) %{_libdir}/%{name}/ui-curses.so +%if %{with gtk3} +%attr(755,root,root) %{_libdir}/%{name}/ui-gtk.so +%endif +%{?with_sdl:%attr(755,root,root) %{_libdir}/%{name}/ui-sdl.so} + %files img %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-img %{_mandir}/man1/qemu-img.1* +%files ivshmem +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/ivshmem-client +%attr(755,root,root) %{_bindir}/ivshmem-server + %files user %defattr(644,root,root,755) -/usr/lib/binfmt.d/qemu-*.conf %attr(755,root,root) %{_bindir}/qemu-aarch64 +%attr(755,root,root) %{_bindir}/qemu-aarch64_be %attr(755,root,root) %{_bindir}/qemu-alpha %attr(755,root,root) %{_bindir}/qemu-arm %attr(755,root,root) %{_bindir}/qemu-armeb %attr(755,root,root) %{_bindir}/qemu-cris +%attr(755,root,root) %{_bindir}/qemu-hppa %attr(755,root,root) %{_bindir}/qemu-i386 %attr(755,root,root) %{_bindir}/qemu-io %attr(755,root,root) %{_bindir}/qemu-m68k @@ -988,19 +1136,63 @@ fi %attr(755,root,root) %{_bindir}/qemu-mips64el %attr(755,root,root) %{_bindir}/qemu-mipsn32 %attr(755,root,root) %{_bindir}/qemu-mipsn32el -%attr(755,root,root) %{_bindir}/qemu-or32 +%attr(755,root,root) %{_bindir}/qemu-nios2 +%attr(755,root,root) %{_bindir}/qemu-or1k %attr(755,root,root) %{_bindir}/qemu-ppc %attr(755,root,root) %{_bindir}/qemu-ppc64 %attr(755,root,root) %{_bindir}/qemu-ppc64abi32 %attr(755,root,root) %{_bindir}/qemu-ppc64le +%attr(755,root,root) %{_bindir}/qemu-riscv32 +%attr(755,root,root) %{_bindir}/qemu-riscv64 %attr(755,root,root) %{_bindir}/qemu-s390x %attr(755,root,root) %{_bindir}/qemu-sh4 %attr(755,root,root) %{_bindir}/qemu-sh4eb %attr(755,root,root) %{_bindir}/qemu-sparc %attr(755,root,root) %{_bindir}/qemu-sparc32plus %attr(755,root,root) %{_bindir}/qemu-sparc64 -%attr(755,root,root) %{_bindir}/qemu-unicore32 %attr(755,root,root) %{_bindir}/qemu-x86_64 +%attr(755,root,root) %{_bindir}/qemu-xtensa +%attr(755,root,root) %{_bindir}/qemu-xtensaeb + +%if %{with user_static} +%files user-static +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-aarch64-static +%attr(755,root,root) %{_bindir}/qemu-aarch64_be-static +%attr(755,root,root) %{_bindir}/qemu-alpha-static +%attr(755,root,root) %{_bindir}/qemu-arm-static +%attr(755,root,root) %{_bindir}/qemu-armeb-static +%attr(755,root,root) %{_bindir}/qemu-cris-static +%attr(755,root,root) %{_bindir}/qemu-hppa-static +%attr(755,root,root) %{_bindir}/qemu-i386-static +%attr(755,root,root) %{_bindir}/qemu-m68k-static +%attr(755,root,root) %{_bindir}/qemu-microblaze-static +%attr(755,root,root) %{_bindir}/qemu-microblazeel-static +%attr(755,root,root) %{_bindir}/qemu-mips-static +%attr(755,root,root) %{_bindir}/qemu-mips64-static +%attr(755,root,root) %{_bindir}/qemu-mips64el-static +%attr(755,root,root) %{_bindir}/qemu-mipsel-static +%attr(755,root,root) %{_bindir}/qemu-mipsn32-static +%attr(755,root,root) %{_bindir}/qemu-mipsn32el-static +%attr(755,root,root) %{_bindir}/qemu-nios2-static +%attr(755,root,root) %{_bindir}/qemu-or1k-static +%attr(755,root,root) %{_bindir}/qemu-ppc-static +%attr(755,root,root) %{_bindir}/qemu-ppc64-static +%attr(755,root,root) %{_bindir}/qemu-ppc64abi32-static +%attr(755,root,root) %{_bindir}/qemu-ppc64le-static +%attr(755,root,root) %{_bindir}/qemu-riscv32-static +%attr(755,root,root) %{_bindir}/qemu-riscv64-static +%attr(755,root,root) %{_bindir}/qemu-s390x-static +%attr(755,root,root) %{_bindir}/qemu-sh4-static +%attr(755,root,root) %{_bindir}/qemu-sh4eb-static +%attr(755,root,root) %{_bindir}/qemu-sparc-static +%attr(755,root,root) %{_bindir}/qemu-sparc32plus-static +%attr(755,root,root) %{_bindir}/qemu-sparc64-static +%attr(755,root,root) %{_bindir}/qemu-tilegx-static +%attr(755,root,root) %{_bindir}/qemu-x86_64-static +%attr(755,root,root) %{_bindir}/qemu-xtensa-static +%attr(755,root,root) %{_bindir}/qemu-xtensaeb-static +%endif %files system-aarch64 %defattr(644,root,root,755) @@ -1018,6 +1210,11 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-cris +%files system-hppa +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-hppa +%{_datadir}/%{name}/hppa-firmware.img + %files system-lm32 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-lm32 @@ -1042,19 +1239,35 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-moxie -%files system-or32 +%files system-nios2 %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/qemu-system-or32 +%attr(755,root,root) %{_bindir}/qemu-system-nios2 + +%files system-or1k +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-or1k %files system-ppc %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-ppc %attr(755,root,root) %{_bindir}/qemu-system-ppc64 -%attr(755,root,root) %{_bindir}/qemu-system-ppcemb +%{_datadir}/%{name}/canyonlands.dtb +%{_datadir}/%{name}/qemu_vga.ndrv +%{_datadir}/%{name}/u-boot.e500 +%{_datadir}/%{name}/u-boot-sam460-20100605.bin + +%files system-riscv32 +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-riscv32 + +%files system-riscv64 +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-riscv64 %files system-s390x %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-s390x +%{_datadir}/%{name}/s390-netboot.img %files system-sh4 %defattr(644,root,root,755) @@ -1066,6 +1279,10 @@ fi %attr(755,root,root) %{_bindir}/qemu-system-sparc %attr(755,root,root) %{_bindir}/qemu-system-sparc64 +%files system-tricore +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/qemu-system-tricore + %files system-unicore32 %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-unicore32 @@ -1074,15 +1291,12 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/qemu-system-i386 %attr(755,root,root) %{_bindir}/qemu-system-x86_64 -%ifarch %{ix86} %{x8664} +%ifarch %{ix86} %{x8664} x32 %config(noreplace) %verify(not md5 mtime size) /etc/modules-load.d/kvm.conf %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}/bios-256k.bin -%{_datadir}/%{name}/acpi-dsdt.aml -%{_datadir}/%{name}/q35-acpi-dsdt.aml %files system-xtensa %defattr(644,root,root,755) @@ -1091,9 +1305,9 @@ fi %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 +%{_mandir}/man7/qemu-ga-ref.7* +%{_mandir}/man8/qemu-ga.8* %files module-block-curl %defattr(644,root,root,755)