Dirk Mueller
b3401ee668
add binfmt misc handler OBS-URL: https://build.opensuse.org/request/show/86517 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=20
183 lines
5.4 KiB
RPMSpec
183 lines
5.4 KiB
RPMSpec
#
|
|
# spec file for package qemu
|
|
#
|
|
# Copyright (c) 2011 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/
|
|
#
|
|
|
|
# norootforbuild
|
|
|
|
|
|
Name: qemu
|
|
Url: http://fabrice.bellard.free.fr/qemu/
|
|
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
|
|
Group: System/Emulators/PC
|
|
Summary: Universal CPU emulator
|
|
Version: 0.14.1
|
|
Release: 1
|
|
Source: %name-%version.tar.bz2
|
|
Patch1: 0001-qemu-0.7.0-amd64.patch
|
|
Patch2: 0002-qemu-0.9.0.cvs-binfmt.patch
|
|
Patch3: 0003-qemu-cvs-alsa_bitfield.patch
|
|
Patch4: 0004-qemu-cvs-alsa_ioctl.patch
|
|
Patch5: 0005-qemu-cvs-alsa_mmap.patch
|
|
Patch6: 0006-qemu-cvs-gettimeofday.patch
|
|
Patch7: 0007-qemu-cvs-ioctl_debug.patch
|
|
Patch8: 0008-qemu-cvs-ioctl_nodirection.patch
|
|
Patch9: 0009-qemu-cvs-sched_getaffinity.patch
|
|
Patch10: 0010-qemu-cvs-mmap-amd64.patch
|
|
Patch11: 0011-qemu-img-vmdk-scsi.patch
|
|
Patch12: 0012-qemu-nonvoid_return.patch
|
|
Patch13: 0013-i386-linux-user-NPTL-support.patch
|
|
Patch15: 0015-S-390-support.patch
|
|
Patch16: 0016-fix-mipsn32-linux-user-builds.patch
|
|
Patch17: 0017-S-390-build-fix.patch
|
|
Patch18: 0018-qemu-0.14.1-mcast-udp.patch
|
|
Patch19: 0019-linux-user-fix-openat.patch
|
|
Patch20: 0020-linux-user-implement-reboot-syscall.patch
|
|
Patch21: 0021-implement-prlimit64-syscall.patch
|
|
Patch22: 0022-fixing-smp-races.patch
|
|
Patch23: 0023-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch
|
|
# this is to make lint happy
|
|
Source300: rpmlintrc
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
ExclusiveArch: %ix86 ppc sparc %arm x86_64 s390x
|
|
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
|
|
BuildRequires: libgnutls-devel
|
|
BuildRequires: libpcap-devel
|
|
BuildRequires: ncurses-devel
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildRequires: zlib-devel-static
|
|
%else
|
|
BuildRequires: zlib-devel
|
|
%endif
|
|
%if 0%{?suse_version} >= 1210
|
|
BuildRequires: glibc-devel-static
|
|
%endif
|
|
BuildRequires: libvdeplug3-devel
|
|
Requires: timezone virt-utils
|
|
|
|
%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.
|
|
|
|
|
|
|
|
Authors:
|
|
--------
|
|
Fabrice Bellard <fabrice.bellard@free.fr>
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9 -p1
|
|
%patch10 -p1
|
|
%patch11 -p1
|
|
%patch12 -p1
|
|
%patch13 -p1
|
|
%patch16 -p1
|
|
%patch18 -p1
|
|
%patch19 -p1
|
|
%patch20 -p1
|
|
%patch21 -p1
|
|
%patch22 -p1
|
|
%patch23 -p1
|
|
%ifarch s390x ppc64 x86_64
|
|
# s390 target only builds on 64-bit machines
|
|
%patch15 -p1
|
|
%patch17 -p1
|
|
%endif
|
|
|
|
%build
|
|
# build QEMU
|
|
mkdir -p dynamic
|
|
# build qemu-system
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
|
--interp-prefix=%_datadir/%name/qemu-i386 \
|
|
--audio-card-list="ac97 es1370 sb16 cs4231a adlib gus" \
|
|
--audio-drv-list="alsa sdl" --enable-mixemu --enable-vde \
|
|
--extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user \
|
|
%ifarch ppc
|
|
--disable-kvm
|
|
%endif
|
|
# curl test fails for no reason in build system
|
|
echo "CONFIG_CURL=y" >> config-host.mak
|
|
echo "CURL_LIBS=-lcurl" >> config-host.mak
|
|
echo "#define CONFIG_CURL 1" >> config-host.h
|
|
make -j1 V=1
|
|
make qemu-img V=1
|
|
mv */qemu */qemu-* qemu-io dynamic || true
|
|
make clean
|
|
# build userland emus
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
|
--interp-prefix=%_datadir/%name/qemu-i386 \
|
|
--enable-linux-user \
|
|
--disable-system \
|
|
--static --disable-linux-aio \
|
|
--extra-cflags="$QEMU_OPT_FLAGS"
|
|
make -j1 V=1
|
|
|
|
%install
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
rm -f $RPM_BUILD_ROOT/%_mandir/man1/qemu-img.1
|
|
rm -f $RPM_BUILD_ROOT/%_mandir/man8/qemu-nbd.8
|
|
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
|
|
install -m 755 */qemu $RPM_BUILD_ROOT/%_bindir
|
|
ln -sf qemu $RPM_BUILD_ROOT/%_bindir/qemu-system-i386
|
|
install -m 755 */qemu-*[^.]? $RPM_BUILD_ROOT/%_bindir
|
|
install -d -m 755 $RPM_BUILD_ROOT/%_sbindir
|
|
install -m 755 dynamic/qemu-binfmt-conf.sh $RPM_BUILD_ROOT/%_sbindir
|
|
%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
|
|
|
|
%clean
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
%files
|
|
%defattr(-, root, root)
|
|
%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html
|
|
%_bindir/qemu
|
|
%_bindir/qemu-*
|
|
%_sbindir/qemu*
|
|
%doc %_mandir/man[18]/qemu*.[18].gz
|
|
%_datadir/%name
|
|
%ifnarch %ix86 x86_64 ia64
|
|
%dir /emul/ia32-linux
|
|
%endif
|
|
%dir %_sysconfdir/%name
|
|
%config %_sysconfdir/%name/target-x86_64.conf
|
|
|
|
%changelog
|