# # 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 Patch24: 0024-fix-glibc-install-locales.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 %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 %patch24 -p1 -R %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