1d0af77f71
Properly use Gtk3 (bnc#840607, bnc#849587) OBS-URL: https://build.opensuse.org/request/show/214293 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=176
401 lines
11 KiB
RPMSpec
401 lines
11 KiB
RPMSpec
#
|
|
# spec file for package qemu
|
|
#
|
|
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%ifarch %ix86 x86_64
|
|
# choice of building all from source or using provided binary x86 blobs
|
|
%define build_x86_fw_from_source 1
|
|
%else
|
|
%define build_x86_fw_from_source 0
|
|
%endif
|
|
|
|
Name: qemu
|
|
Url: http://www.qemu.org/
|
|
Summary: Universal CPU emulator
|
|
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
|
Group: System/Emulators/PC
|
|
Version: 1.7.0
|
|
Release: 0
|
|
Source: %name-1.7.0.tar.bz2
|
|
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
|
PATCH_FILES
|
|
# Please do not add patches manually here, run update_git.sh.
|
|
|
|
# roms/ipxe patches
|
|
Patch1000: ipxe-build-Work-around-bug-in-gcc-4.8.patch
|
|
Patch1001: ipxe-zbin-Fix-size-used-for-memset-in-al.patch
|
|
Patch1002: ipxe-build-Avoid-strict-aliasing-warning.patch
|
|
# end roms/ipxe patches
|
|
|
|
# this is to make lint happy
|
|
Source300: rpmlintrc
|
|
Source302: bridge.conf
|
|
Source400: update_git.sh
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: SDL-devel
|
|
BuildRequires: alsa-devel
|
|
BuildRequires: bluez-devel
|
|
%if 0%{?suse_version} >= 1130
|
|
BuildRequires: brlapi-devel
|
|
%endif
|
|
BuildRequires: curl-devel
|
|
BuildRequires: cyrus-sasl-devel
|
|
%if %{build_x86_fw_from_source}
|
|
%if 0%{?suse_version} > 1110
|
|
BuildRequires: iasl
|
|
%else
|
|
BuildRequires: pmtools
|
|
%endif
|
|
BuildRequires: dev86
|
|
%endif
|
|
BuildRequires: e2fsprogs-devel
|
|
BuildRequires: fdupes
|
|
BuildRequires: glib2-devel
|
|
%if 0%{?suse_version} >= 1220
|
|
BuildRequires: gtk3-devel
|
|
%else
|
|
BuildRequires: gtk2-devel
|
|
%endif
|
|
BuildRequires: libaio
|
|
BuildRequires: libaio-devel
|
|
BuildRequires: libattr-devel
|
|
BuildRequires: libcap-devel
|
|
BuildRequires: libcap-ng-devel
|
|
%if 0%{?suse_version} >= 1310
|
|
# 12.3 and earlier don't ship a compatible libfdt; use the bundled one there
|
|
BuildRequires: libfdt1-devel
|
|
%endif
|
|
BuildRequires: libgnutls-devel
|
|
BuildRequires: libjpeg-devel
|
|
BuildRequires: libpcap-devel
|
|
BuildRequires: libpixman-1-0-devel
|
|
BuildRequires: libpng-devel
|
|
BuildRequires: libpulse-devel
|
|
BuildRequires: libvdeplug3-devel
|
|
%if 0%{?suse_version} > 1220
|
|
BuildRequires: makeinfo
|
|
%endif
|
|
BuildRequires: ncurses-devel
|
|
BuildRequires: pwdutils
|
|
BuildRequires: python
|
|
%if 0%{?sles_version} != 11
|
|
BuildRequires: usbredir-devel
|
|
%endif
|
|
%if 0%{?suse_version} >= 1210
|
|
%if 0%{?suse_version} >= 1220
|
|
BuildRequires: vte-devel
|
|
%else
|
|
BuildRequires: vte2-devel
|
|
%endif
|
|
%endif
|
|
%ifarch x86_64
|
|
BuildRequires: xen-devel
|
|
%endif
|
|
BuildRequires: zlib-devel
|
|
%if 0%{?suse_version} >= 1140
|
|
%ifarch %ix86 x86_64
|
|
BuildRequires: libspice-server-devel
|
|
BuildRequires: spice-protocol-devel
|
|
%endif
|
|
%endif
|
|
Requires: /usr/sbin/groupadd
|
|
Requires: pwdutils
|
|
Requires: qemu-ipxe
|
|
Requires: qemu-seabios
|
|
Requires: qemu-sgabios
|
|
Requires: qemu-vgabios
|
|
Requires: timezone
|
|
Recommends: qemu-tools
|
|
|
|
%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
|
|
|
|
%description
|
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
|
choose between simulating an entire system and running userspace
|
|
binaries for different architectures under your native operating
|
|
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|
as PC and PowerMac systems.
|
|
|
|
%if 0%{?suse_version} >= 1210
|
|
%package lang
|
|
Summary: Universal CPU emulator -- Translations
|
|
Group: System/Emulators/PC
|
|
|
|
%description lang
|
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
|
choose between simulating an entire system and running userspace
|
|
binaries for different architectures under your native operating
|
|
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|
as PC and PowerMac systems.
|
|
|
|
This sub-package contains translations.
|
|
%endif
|
|
|
|
%package seabios
|
|
Summary: X86 BIOS for QEMU
|
|
Group: System/Emulators/PC
|
|
Version: 1.7.3.2
|
|
Release: 0
|
|
BuildArch: noarch
|
|
Conflicts: qemu < 1.6.0
|
|
|
|
%description seabios
|
|
SeaBIOS is an open source implementation of a 16bit x86 BIOS. SeaBIOS
|
|
is the default BIOS for QEMU.
|
|
|
|
%package vgabios
|
|
Summary: VGA BIOSes for QEMU
|
|
Group: System/Emulators/PC
|
|
Version: 0.6c
|
|
Release: 0
|
|
BuildArch: noarch
|
|
Conflicts: qemu < 1.6.0
|
|
|
|
%description vgabios
|
|
VGABIOS provides the video ROM BIOSes for the following variants of VGA
|
|
emulated devices: Std VGA, QXL, Cirrus CLGD 5446 and VMware emulated
|
|
video card.
|
|
|
|
%package sgabios
|
|
Summary: Serial Graphics Adapter BIOS for QEMU
|
|
Group: System/Emulators/PC
|
|
Version: 8
|
|
Release: 0
|
|
BuildArch: noarch
|
|
Conflicts: qemu < 1.6.0
|
|
|
|
%description sgabios
|
|
The Google Serial Graphics Adapter BIOS or SGABIOS provides a means for legacy
|
|
x86 software to communicate with an attached serial console as if a video card
|
|
were attached.
|
|
|
|
%package ipxe
|
|
Summary: PXE ROMs for QEMU NICs
|
|
Group: System/Emulators/PC
|
|
Version: 1.0.0
|
|
Release: 0
|
|
BuildArch: noarch
|
|
Conflicts: qemu < 1.6.0
|
|
|
|
%description ipxe
|
|
Preboot Execution Environment (PXE) ROM support for various emulated network
|
|
adapters available with QEMU.
|
|
|
|
%package tools
|
|
Summary: Universal CPU emulator -- Tools
|
|
Group: System/Emulators/PC
|
|
Provides: qemu:%_libexecdir/qemu-bridge-helper
|
|
PreReq: permissions
|
|
|
|
%description tools
|
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
|
choose between simulating an entire system and running userspace
|
|
binaries for different architectures under your native operating
|
|
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|
as PC and PowerMac systems.
|
|
|
|
This sub-package contains various tools, including a bridge helper.
|
|
|
|
%package guest-agent
|
|
Summary: Universal CPU emulator -- Guest agent
|
|
Group: System/Emulators/PC
|
|
Provides: qemu:%_bindir/qemu-ga
|
|
|
|
%description guest-agent
|
|
QEMU is an extremely well-performing CPU emulator that allows you to
|
|
choose between simulating an entire system and running userspace
|
|
binaries for different architectures under your native operating
|
|
system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
|
|
as PC and PowerMac systems.
|
|
|
|
This sub-package contains the guest agent.
|
|
|
|
%prep
|
|
%setup -q #-n %name-1.7.0-rc2
|
|
PATCH_EXEC
|
|
|
|
%patch1000 -p1
|
|
%patch1001 -p1
|
|
%patch1002 -p1
|
|
|
|
%if %{build_x86_fw_from_source}
|
|
# as a safeguard, delete the firmware files that we intend to build
|
|
for i in %firmware_files
|
|
do
|
|
rm -f pc-bios/$i
|
|
done
|
|
%endif
|
|
|
|
%build
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
|
--libexecdir=%_libexecdir \
|
|
--extra-cflags="%{optflags}" \
|
|
--disable-strip \
|
|
--enable-system --disable-linux-user \
|
|
--enable-tools --enable-guest-agent \
|
|
--enable-pie \
|
|
--enable-docs \
|
|
--audio-drv-list="pa alsa sdl oss" \
|
|
%if 0%{?suse_version} >= 1130
|
|
--enable-brlapi \
|
|
%endif
|
|
--enable-cap-ng \
|
|
--enable-curl \
|
|
--enable-curses \
|
|
%if 0%{?suse_version} >= 1210
|
|
--enable-gtk \
|
|
%if 0%{?suse_version} >= 1220
|
|
--with-gtkabi=3.0 \
|
|
%endif
|
|
%endif
|
|
--enable-linux-aio \
|
|
--enable-sdl \
|
|
%if 0%{?suse_version} >= 1140
|
|
%ifarch %ix86 x86_64
|
|
--enable-spice \
|
|
%else
|
|
--disable-spice \
|
|
%endif
|
|
%else
|
|
--disable-spice \
|
|
%endif
|
|
%if 0%{?sles_version} != 11
|
|
--enable-usb-redir \
|
|
%endif
|
|
--enable-vde \
|
|
--enable-virtfs \
|
|
--enable-vnc-jpeg \
|
|
--enable-vnc-png \
|
|
--enable-vnc-sasl \
|
|
--enable-vnc-tls \
|
|
--enable-vnc-ws \
|
|
%ifarch x86_64
|
|
--enable-xen \
|
|
%endif
|
|
|
|
make %{?_smp_mflags} V=1
|
|
|
|
# Firmware
|
|
%if %{build_x86_fw_from_source}
|
|
make --no-print-directory -C roms bios
|
|
make --no-print-directory -C roms lgplvgabios
|
|
make --no-print-directory -C roms pxerom
|
|
make --no-print-directory -C roms sgabios
|
|
%endif
|
|
|
|
%install
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
|
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
|
%if 0%{?suse_version} >= 1210
|
|
%find_lang %name
|
|
%endif
|
|
%fdupes -s $RPM_BUILD_ROOT
|
|
|
|
%clean
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
%pre
|
|
%{_bindir}/getent group kvm >/dev/null || %{_sbindir}/groupadd -r kvm 2>/dev/null
|
|
%{_bindir}/getent group qemu >/dev/null || %{_sbindir}/groupadd -r qemu 2>/dev/null
|
|
%{_bindir}/getent passwd qemu >/dev/null || \
|
|
%{_sbindir}/useradd -r -g qemu -G kvm -d / -s /sbin/nologin \
|
|
-c "qemu user" qemu
|
|
|
|
%if 0%{?suse_version} >= 1130
|
|
%post tools
|
|
%set_permissions %_libexecdir/qemu-bridge-helper
|
|
|
|
%verifyscript tools
|
|
%verify_permissions %_libexecdir/qemu-bridge-helper
|
|
%endif
|
|
|
|
%files
|
|
%defattr(-, root, root)
|
|
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
|
|
%_bindir/qemu-system-*
|
|
%doc %_mandir/man1/qemu.1.gz
|
|
%_datadir/%name
|
|
%exclude %_datadir/%name/bios.bin
|
|
%exclude %_datadir/%name/acpi-dsdt.aml
|
|
%exclude %_datadir/%name/q35-acpi-dsdt.aml
|
|
%exclude %_datadir/%name/vgabios.bin
|
|
%exclude %_datadir/%name/vgabios-cirrus.bin
|
|
%exclude %_datadir/%name/vgabios-qxl.bin
|
|
%exclude %_datadir/%name/vgabios-stdvga.bin
|
|
%exclude %_datadir/%name/vgabios-vmware.bin
|
|
%exclude %_datadir/%name/sgabios.bin
|
|
%exclude %_datadir/%name/pxe-e1000.rom
|
|
%exclude %_datadir/%name/pxe-eepro100.rom
|
|
%exclude %_datadir/%name/pxe-pcnet.rom
|
|
%exclude %_datadir/%name/pxe-ne2k_pci.rom
|
|
%exclude %_datadir/%name/pxe-rtl8139.rom
|
|
%exclude %_datadir/%name/pxe-virtio.rom
|
|
%dir %_sysconfdir/%name
|
|
%config %_sysconfdir/%name/target-x86_64.conf
|
|
|
|
%if 0%{?suse_version} >= 1210
|
|
%files lang -f %name.lang
|
|
%defattr(-, root, root)
|
|
%endif
|
|
|
|
%files seabios
|
|
%defattr(-, root, root)
|
|
%_datadir/%name/bios.bin
|
|
%_datadir/%name/acpi-dsdt.aml
|
|
%_datadir/%name/q35-acpi-dsdt.aml
|
|
|
|
%files vgabios
|
|
%defattr(-, root, root)
|
|
%_datadir/%name/vgabios.bin
|
|
%_datadir/%name/vgabios-cirrus.bin
|
|
%_datadir/%name/vgabios-qxl.bin
|
|
%_datadir/%name/vgabios-stdvga.bin
|
|
%_datadir/%name/vgabios-vmware.bin
|
|
|
|
%files sgabios
|
|
%defattr(-, root, root)
|
|
%_datadir/%name/sgabios.bin
|
|
|
|
%files ipxe
|
|
%defattr(-, root, root)
|
|
%_datadir/%name/pxe-e1000.rom
|
|
%_datadir/%name/pxe-eepro100.rom
|
|
%_datadir/%name/pxe-pcnet.rom
|
|
%_datadir/%name/pxe-ne2k_pci.rom
|
|
%_datadir/%name/pxe-rtl8139.rom
|
|
%_datadir/%name/pxe-virtio.rom
|
|
|
|
%files tools
|
|
%defattr(-, root, root)
|
|
%doc %_mandir/man1/qemu-img.1.gz
|
|
%doc %_mandir/man1/virtfs-proxy-helper.1.gz
|
|
%doc %_mandir/man8/qemu-nbd.8.gz
|
|
%_bindir/qemu-io
|
|
%_bindir/qemu-img
|
|
%_bindir/qemu-nbd
|
|
%_bindir/virtfs-proxy-helper
|
|
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
|
%dir %_sysconfdir/%name
|
|
%config %_sysconfdir/%name/bridge.conf
|
|
|
|
%files guest-agent
|
|
%defattr(-, root, root)
|
|
%attr(755,root,kvm) %_bindir/qemu-ga
|
|
|
|
%changelog
|