2011-12-14 02:35:41 +01:00
|
|
|
#
|
|
|
|
# spec file for package qemu
|
|
|
|
#
|
2012-02-28 05:13:32 +01:00
|
|
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
2011-12-14 02:35:41 +01:00
|
|
|
#
|
|
|
|
# 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/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
Name: qemu
|
2012-05-15 14:58:40 +02:00
|
|
|
Url: http://www.qemu.org/
|
2011-12-14 02:35:41 +01:00
|
|
|
Summary: Universal CPU emulator
|
2012-02-28 05:13:32 +01:00
|
|
|
License: BSD-3-Clause ; GPL-2.0+ ; LGPL-2.1+ ; MIT
|
|
|
|
Group: System/Emulators/PC
|
2012-09-06 02:28:20 +02:00
|
|
|
Version: 1.2.0
|
2011-12-14 02:35:41 +01:00
|
|
|
Release: 0
|
2012-09-06 02:28:20 +02:00
|
|
|
Source: %name-%version.tar.bz2
|
2011-12-14 02:35:41 +01:00
|
|
|
PATCH_FILES
|
|
|
|
# this is to make lint happy
|
|
|
|
Source300: rpmlintrc
|
2012-06-10 14:13:56 +02:00
|
|
|
Source302: bridge.conf
|
2012-02-28 05:13:32 +01:00
|
|
|
Source400: update_git.sh
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
BuildRequires: SDL-devel
|
|
|
|
BuildRequires: bison
|
|
|
|
BuildRequires: bluez-devel
|
|
|
|
BuildRequires: curl-devel
|
|
|
|
BuildRequires: cyrus-sasl-devel
|
|
|
|
BuildRequires: e2fsprogs-devel
|
|
|
|
BuildRequires: libaio
|
|
|
|
BuildRequires: libaio-devel
|
|
|
|
BuildRequires: libattr-devel
|
2012-09-09 19:55:25 +02:00
|
|
|
BuildRequires: libcap-devel
|
|
|
|
BuildRequires: libcap-ng-devel
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: libgnutls-devel
|
2012-09-09 19:55:25 +02:00
|
|
|
BuildRequires: libjpeg-devel
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: libpcap-devel
|
2012-09-09 19:55:25 +02:00
|
|
|
BuildRequires: libpng-devel
|
2012-10-09 21:59:49 +02:00
|
|
|
%if 0%{?suse_version} > 1220
|
|
|
|
BuildRequires: makeinfo
|
|
|
|
%endif
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: ncurses-devel
|
2012-08-15 22:57:27 +02:00
|
|
|
# we must not install the qemu package when under qemu build
|
|
|
|
%if 0%{?qemu_user_space_build:1}
|
|
|
|
BuildRequires: -post-build-checks
|
|
|
|
%endif
|
2011-12-14 02:35:41 +01:00
|
|
|
%if 0%{?suse_version} >= 1120
|
|
|
|
BuildRequires: zlib-devel-static
|
|
|
|
%else
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
%endif
|
|
|
|
%if 0%{?suse_version} >= 1210
|
|
|
|
BuildRequires: glibc-devel-static
|
2012-03-04 00:28:15 +01:00
|
|
|
BuildRequires: libattr-devel-static
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: libfdt1-devel
|
|
|
|
%endif
|
|
|
|
%if 0%{?suse_version} >= 1140
|
|
|
|
BuildRequires: glib2-devel-static
|
|
|
|
%endif
|
2012-05-15 14:58:40 +02:00
|
|
|
%if 0%{?suse_version} >= 1220
|
|
|
|
BuildRequires: pcre-devel-static
|
|
|
|
%endif
|
2012-02-28 05:13:32 +01:00
|
|
|
%if 0%{?suse_version} >= 1130
|
|
|
|
%ifarch %ix86 x86_64
|
|
|
|
BuildRequires: libspice-server-devel
|
|
|
|
BuildRequires: spice-protocol-devel
|
|
|
|
%endif
|
|
|
|
%endif
|
2012-06-19 14:55:26 +02:00
|
|
|
%ifarch ppc ppc64
|
|
|
|
#we need that for -M pseries support in SLES
|
|
|
|
BuildRequires: libfdt1-devel
|
|
|
|
%endif
|
2012-03-04 00:28:15 +01:00
|
|
|
BuildRequires: fdupes
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: glib2-devel
|
2012-03-04 00:28:15 +01:00
|
|
|
BuildRequires: libvdeplug3-devel
|
2012-06-10 14:13:56 +02:00
|
|
|
BuildRequires: pwdutils
|
2011-12-14 02:35:41 +01:00
|
|
|
BuildRequires: python
|
2012-08-15 22:57:27 +02:00
|
|
|
Requires: /usr/sbin/groupadd
|
2012-06-10 14:13:56 +02:00
|
|
|
Requires: pwdutils
|
2012-02-27 16:51:17 +01:00
|
|
|
Requires: timezone
|
2012-06-26 10:33:26 +02:00
|
|
|
Recommends: qemu-tools
|
2011-12-14 02:35:41 +01:00
|
|
|
|
|
|
|
%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.
|
|
|
|
|
2012-06-10 14:13:56 +02:00
|
|
|
%package tools
|
|
|
|
Summary: Universal CPU emulator -- Tools
|
|
|
|
Group: System/Emulators/PC
|
|
|
|
Provides: qemu:%_libexecdir/qemu-bridge-helper
|
2012-06-14 00:00:33 +02:00
|
|
|
PreReq: permissions
|
2012-06-10 14:13:56 +02:00
|
|
|
|
|
|
|
%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.
|
|
|
|
|
2012-06-26 10:33:26 +02:00
|
|
|
%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.
|
|
|
|
|
2011-12-14 02:35:41 +01:00
|
|
|
%package linux-user
|
|
|
|
Summary: Universal CPU emulator -- Linux User binaries
|
2012-03-04 00:28:15 +01:00
|
|
|
Group: System/Emulators/PC
|
2011-12-14 02:35:41 +01:00
|
|
|
Provides: qemu:%_bindir/qemu-arm
|
|
|
|
|
|
|
|
%description linux-user
|
|
|
|
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.
|
|
|
|
|
2012-06-10 14:13:56 +02:00
|
|
|
This sub-package contains statically linked binaries for running linux-user
|
2012-03-04 00:28:15 +01:00
|
|
|
emulations. This can be used together with the OBS build script to
|
2012-06-10 14:13:56 +02:00
|
|
|
run cross-architecture builds.
|
2011-12-14 02:35:41 +01:00
|
|
|
|
|
|
|
%prep
|
2012-09-06 02:28:20 +02:00
|
|
|
%setup -q -n %name-%version
|
2011-12-14 02:35:41 +01:00
|
|
|
PATCH_EXEC
|
|
|
|
|
|
|
|
%build
|
|
|
|
# build QEMU
|
|
|
|
mkdir -p dynamic
|
|
|
|
# build qemu-system
|
2012-03-04 00:28:15 +01:00
|
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
2012-06-10 14:13:56 +02:00
|
|
|
--libexecdir=%_libexecdir \
|
2012-03-04 00:28:15 +01:00
|
|
|
--audio-card-list="ac97 es1370 sb16 cs4231a adlib gus" \
|
|
|
|
--audio-drv-list="alsa sdl" --enable-mixemu --enable-vde \
|
2012-05-18 10:36:15 +02:00
|
|
|
--enable-curl \
|
2012-09-09 19:55:25 +02:00
|
|
|
--enable-virtfs \
|
2012-03-04 00:28:15 +01:00
|
|
|
--extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user \
|
2012-02-28 05:13:32 +01:00
|
|
|
%if 0%{?suse_version} >= 1130
|
|
|
|
%ifarch %ix86 x86_64
|
2012-03-04 00:28:15 +01:00
|
|
|
--enable-spice
|
2012-02-28 05:13:32 +01:00
|
|
|
%else
|
2012-03-04 00:28:15 +01:00
|
|
|
--disable-spice
|
2012-02-28 05:13:32 +01:00
|
|
|
%endif
|
|
|
|
%else
|
2012-03-04 00:28:15 +01:00
|
|
|
--disable-spice
|
2012-02-28 05:13:32 +01:00
|
|
|
%endif
|
2011-12-14 02:35:41 +01:00
|
|
|
make %{?jobs:-j%jobs} V=1
|
2012-06-26 10:33:26 +02:00
|
|
|
mv *-softmmu/qemu-system-* dynamic
|
|
|
|
mv qemu-io qemu-img qemu-nbd qemu-bridge-helper dynamic
|
|
|
|
mv qemu-img.1 qemu-nbd.8 dynamic
|
|
|
|
mv qemu-ga dynamic
|
2012-09-09 19:55:25 +02:00
|
|
|
mv fsdev/virtfs-proxy-helper{,.1} dynamic
|
2011-12-14 02:35:41 +01:00
|
|
|
make clean
|
|
|
|
# build userland emus
|
2012-03-04 00:28:15 +01:00
|
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
2012-06-10 14:13:56 +02:00
|
|
|
--libexecdir=%_libexecdir \
|
2012-03-04 00:28:15 +01:00
|
|
|
--enable-linux-user \
|
|
|
|
--disable-system \
|
|
|
|
--static --disable-linux-aio \
|
2012-10-09 21:59:49 +02:00
|
|
|
--disable-strip \
|
2011-12-14 02:35:41 +01:00
|
|
|
--extra-cflags="$QEMU_OPT_FLAGS"
|
2012-05-15 14:58:40 +02:00
|
|
|
%if 0%{?suse_version} == 1140
|
|
|
|
# -lrt needs to come after -lglib-2.0 to avoid undefined clock_gettime
|
|
|
|
sed -i "s/-lglib-2.0/-lglib-2.0 -lrt/" config-host.mak
|
|
|
|
%endif
|
2011-12-14 02:35:41 +01:00
|
|
|
make %{?jobs:-j%jobs} V=1
|
|
|
|
|
|
|
|
%install
|
2012-06-10 14:13:56 +02:00
|
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
2011-12-14 02:35:41 +01:00
|
|
|
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
2012-05-15 14:58:40 +02:00
|
|
|
install -m 755 dynamic/qemu-system-* $RPM_BUILD_ROOT/%_bindir
|
|
|
|
install -m 755 dynamic/qemu-io $RPM_BUILD_ROOT/%_bindir
|
2012-06-26 10:33:26 +02:00
|
|
|
install -m 755 dynamic/qemu-img $RPM_BUILD_ROOT/%_bindir
|
|
|
|
install -m 755 dynamic/qemu-nbd $RPM_BUILD_ROOT/%_bindir
|
|
|
|
install -m 755 dynamic/qemu-ga $RPM_BUILD_ROOT/%_bindir
|
2012-09-09 19:55:25 +02:00
|
|
|
install -m 755 dynamic/virtfs-proxy-helper $RPM_BUILD_ROOT/%_bindir
|
2011-12-14 02:35:41 +01:00
|
|
|
install -d -m 755 $RPM_BUILD_ROOT/%_sbindir
|
2012-05-15 14:58:40 +02:00
|
|
|
install -m 755 scripts/qemu-binfmt-conf.sh $RPM_BUILD_ROOT/%_sbindir
|
|
|
|
install -d -m 755 $RPM_BUILD_ROOT/%_libexecdir
|
|
|
|
install -m 755 dynamic/qemu-bridge-helper $RPM_BUILD_ROOT/%_libexecdir
|
2012-06-26 10:33:26 +02:00
|
|
|
install -d -m 755 $RPM_BUILD_ROOT/%_mandir/man1
|
|
|
|
install -m 644 dynamic/qemu-img.1 $RPM_BUILD_ROOT/%_mandir/man1
|
2012-09-09 19:55:25 +02:00
|
|
|
install -m 644 dynamic/virtfs-proxy-helper.1 $RPM_BUILD_ROOT/%_mandir/man1
|
2012-06-26 10:33:26 +02:00
|
|
|
install -d -m 755 $RPM_BUILD_ROOT/%_mandir/man8
|
|
|
|
install -m 644 dynamic/qemu-nbd.8 $RPM_BUILD_ROOT/%_mandir/man8
|
2012-06-10 14:13:56 +02:00
|
|
|
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
|
2011-12-14 02:35:41 +01:00
|
|
|
%ifnarch %ix86 x86_64
|
|
|
|
ln -sf ../../../emul/ia32-linux $RPM_BUILD_ROOT/usr/share/qemu/qemu-i386
|
|
|
|
%endif
|
|
|
|
%ifnarch ia64
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/emul/ia32-linux
|
|
|
|
%endif
|
|
|
|
%fdupes -s $RPM_BUILD_ROOT
|
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
|
2012-06-10 14:13:56 +02:00
|
|
|
%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
|
|
|
|
|
2011-12-14 02:35:41 +01:00
|
|
|
%files
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html
|
|
|
|
%_bindir/qemu-system-*
|
2012-06-26 10:33:26 +02:00
|
|
|
%doc %_mandir/man1/qemu.1.gz
|
2011-12-14 02:35:41 +01:00
|
|
|
%_datadir/%name
|
|
|
|
%ifnarch %ix86 x86_64 ia64
|
|
|
|
%dir /emul/ia32-linux
|
|
|
|
%endif
|
|
|
|
%dir %_sysconfdir/%name
|
|
|
|
%config %_sysconfdir/%name/target-x86_64.conf
|
|
|
|
|
2012-06-10 14:13:56 +02:00
|
|
|
%files tools
|
|
|
|
%defattr(-, root, root)
|
2012-06-26 10:33:26 +02:00
|
|
|
%doc %_mandir/man1/qemu-img.1.gz
|
2012-09-09 19:55:25 +02:00
|
|
|
%doc %_mandir/man1/virtfs-proxy-helper.1.gz
|
2012-06-26 10:33:26 +02:00
|
|
|
%doc %_mandir/man8/qemu-nbd.8.gz
|
2012-06-10 14:13:56 +02:00
|
|
|
%_bindir/qemu-io
|
2012-06-26 10:33:26 +02:00
|
|
|
%_bindir/qemu-img
|
|
|
|
%_bindir/qemu-nbd
|
2012-09-09 19:55:25 +02:00
|
|
|
%_bindir/virtfs-proxy-helper
|
2012-06-15 17:39:33 +02:00
|
|
|
%verify(not mode) %_libexecdir/qemu-bridge-helper
|
2012-06-26 10:33:26 +02:00
|
|
|
%dir %_sysconfdir/%name
|
2012-06-10 14:13:56 +02:00
|
|
|
%config %_sysconfdir/%name/bridge.conf
|
|
|
|
|
2012-06-26 10:33:26 +02:00
|
|
|
%files guest-agent
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%attr(755,root,kvm) %_bindir/qemu-ga
|
|
|
|
|
2011-12-14 02:35:41 +01:00
|
|
|
%files linux-user
|
|
|
|
%defattr(-, root, root)
|
|
|
|
%_bindir/qemu-alpha
|
|
|
|
%_bindir/qemu-arm
|
|
|
|
%_bindir/qemu-armeb
|
|
|
|
%_bindir/qemu-cris
|
|
|
|
%_bindir/qemu-i386
|
|
|
|
%_bindir/qemu-m68k
|
|
|
|
%_bindir/qemu-microblaze
|
|
|
|
%_bindir/qemu-microblazeel
|
|
|
|
%_bindir/qemu-mips
|
|
|
|
%_bindir/qemu-mipsel
|
|
|
|
%_bindir/qemu-mipsn32
|
|
|
|
%_bindir/qemu-mipsn32el
|
2012-08-17 18:42:52 +02:00
|
|
|
%_bindir/qemu-or32
|
2011-12-14 02:35:41 +01:00
|
|
|
%_bindir/qemu-ppc64abi32
|
|
|
|
%_bindir/qemu-ppc64
|
|
|
|
%_bindir/qemu-ppc
|
|
|
|
%_bindir/qemu-s390x
|
|
|
|
%_bindir/qemu-sh4
|
|
|
|
%_bindir/qemu-sh4eb
|
|
|
|
%_bindir/qemu-sparc32plus
|
|
|
|
%_bindir/qemu-sparc64
|
|
|
|
%_bindir/qemu-sparc
|
|
|
|
%_bindir/qemu-unicore32
|
|
|
|
%_bindir/qemu-x86_64
|
|
|
|
%_bindir/qemu-*-binfmt
|
|
|
|
%_sbindir/qemu-binfmt-conf.sh
|
|
|
|
|
|
|
|
%changelog
|