2007-01-16 00:34:41 +01:00
|
|
|
#
|
2011-02-18 13:27:31 +01:00
|
|
|
# spec file for package qemu
|
2007-01-16 00:34:41 +01:00
|
|
|
#
|
2012-01-06 01:19:18 +01:00
|
|
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
2007-01-16 00:34:41 +01:00
|
|
|
#
|
2008-10-08 18:35:55 +02: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.
|
|
|
|
|
2007-01-16 00:34:41 +01:00
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
|
|
|
# norootforbuild
|
|
|
|
|
2008-03-11 17:56:39 +01:00
|
|
|
|
2007-01-16 00:34:41 +01:00
|
|
|
Name: qemu
|
2007-10-03 01:09:38 +02:00
|
|
|
Url: http://fabrice.bellard.free.fr/qemu/
|
2010-04-25 18:47:20 +02:00
|
|
|
License: BSD3c(or similar) ; GPLv2+ ; LGPLv2.1+ ; MIT License (or similar)
|
2007-07-10 18:55:54 +02:00
|
|
|
Group: System/Emulators/PC
|
2007-01-16 00:34:41 +01:00
|
|
|
Summary: Universal CPU emulator
|
2011-12-11 03:42:09 +01:00
|
|
|
Version: 1.0
|
|
|
|
Release: 0
|
2011-05-17 00:37:59 +02:00
|
|
|
Source: %name-%version.tar.bz2
|
2011-12-14 02:35:41 +01:00
|
|
|
Patch0001: 0001-Handle-CPU-interrupts-by-inline-checking-of-a-flag.patch
|
|
|
|
Patch0002: 0002-linux-user-fix-QEMU_STRACE-1-segfault.patch
|
|
|
|
Patch0003: 0003-linux-user-save-auxv-length.patch
|
|
|
|
Patch0004: 0004-linux-user-add-open-hijack-infrastructure.patch
|
|
|
|
Patch0005: 0005-linux-user-fake-proc-self-maps.patch
|
|
|
|
Patch0006: 0006-linux-user-fake-proc-self-stat.patch
|
|
|
|
Patch0007: 0007-linux-user-fake-proc-self-auxv.patch
|
|
|
|
Patch0008: 0008-XXX-dont-dump-core-on-sigabort.patch
|
|
|
|
Patch0009: 0009-linux-user-fix-wait-syscall-status-returns.patch
|
|
|
|
Patch0010: 0010-Revert-linux-user-fix-wait-syscall-status-returns.patch
|
|
|
|
Patch0011: 0011-linux-user-fix-wait-syscall-status-returns.patch
|
|
|
|
Patch0012: 0012-XXX-linux-user-fake-proc-self-maps-even-more.patch
|
|
|
|
Patch0013: 0013-XXX-work-around-SA_RESTART-race-with-boehm-gc-ARM-o.patch
|
|
|
|
Patch0014: 0014-XXX-move-qemu-binary-lower-in-address-space-so-we-ha.patch
|
|
|
|
Patch0015: 0015-linux-user-map-lower-in-address-space.patch
|
|
|
|
Patch0016: 0016-XXX-fake-proc-self-maps-also-fclose-real-file.patch
|
|
|
|
Patch0017: 0017-XXX-map-qemu-higher-again-so-we-have-space-for-brk.patch
|
|
|
|
Patch0018: 0018-qemu-0.9.0.cvs-binfmt.patch
|
|
|
|
Patch0019: 0019-qemu-cvs-alsa_bitfield.patch
|
|
|
|
Patch0020: 0020-qemu-cvs-alsa_ioctl.patch
|
|
|
|
Patch0021: 0021-qemu-cvs-alsa_mmap.patch
|
|
|
|
Patch0022: 0022-qemu-cvs-gettimeofday.patch
|
|
|
|
Patch0023: 0023-qemu-cvs-ioctl_debug.patch
|
|
|
|
Patch0024: 0024-qemu-cvs-ioctl_nodirection.patch
|
|
|
|
Patch0025: 0025-qemu-img-vmdk-scsi.patch
|
|
|
|
Patch0026: 0026-qemu-nonvoid_return.patch
|
|
|
|
Patch0027: 0027-fix-mipsn32-linux-user-builds.patch
|
|
|
|
Patch0028: 0028-Integrating-Dynamips-and-GNS3-UDP-tunnels-Patches.patch
|
|
|
|
Patch0029: 0029-linux-user-add-binfmt-wrapper-for-argv-0-handling.patch
|
|
|
|
Patch0030: 0030-linux-user-Ignore-timer_create-syscall.patch
|
|
|
|
Patch0031: 0031-linux-user-be-silent-about-capget-failures.patch
|
|
|
|
Patch0032: 0032-PPC-Fix-linker-scripts-on-ppc-hosts.patch
|
|
|
|
Patch0033: 0033-linux-user-reserve-4GB-of-vmem-for-32-on-64.patch
|
2012-01-06 01:19:18 +01:00
|
|
|
Patch0034: 0034-PPC-KVM-Disable-mmu-notifier-check.patch
|
|
|
|
Patch0035: 0035-linux-user-improve-fake-proc-self-stat-making-ps.patch
|
|
|
|
Patch0036: 0036-linux-user-target_argv-is-placed-on-ts-bprm-argv.patch
|
2012-01-10 16:43:02 +01:00
|
|
|
Patch0037: 0037-PPC-KVM-Ignore-SET_ONE_REG-failures.patch
|
2012-01-10 17:25:36 +01:00
|
|
|
Patch0038: 0038-PPC-KVM-Ignore-ENABLE_PAPR-to-support-very-old-HV.patch
|
|
|
|
Patch0039: 0039-console-Fix-segfault-on-screendump-without-VGA-adap.patch
|
|
|
|
Patch0040: 0040-pseries-Fix-array-overrun-bug-in-PCI-code.patch
|
|
|
|
Patch0041: 0041-kvm-ppc-halt-secondary-cpus-when-guest-reset.patch
|
|
|
|
Patch0042: 0042-pseries-Emit-device-tree-nodes-in-reg-order.patch
|
|
|
|
Patch0043: 0043-pseries-Add-a-routine-to-find-a-stable-default-vt.patch
|
|
|
|
Patch0044: 0044-pseries-Populate-chosen-linux-stdout-path-in-the.patch
|
2012-02-01 00:10:40 +01:00
|
|
|
Patch0045: 0045-linux-user-fix-segfault-deadlock.patch
|
|
|
|
Patch0046: 0046-linux-user-implement-device-mapper-ioctls.patch
|
|
|
|
Patch0047: 0047-linux-user-add-struct-old_dev_t-compat.patch
|
|
|
|
Patch0048: 0048-linux-user-fix-BLK-ioctl-arguments.patch
|
|
|
|
Patch0049: 0049-linux-user-add-BLKSSZGET-ioctl-wrapper.patch
|
2012-02-02 02:24:59 +01:00
|
|
|
Patch0050: 0050-linux-user-Add-ioctl-for-BLKBSZGET.patch
|
2012-02-02 03:18:00 +01:00
|
|
|
Patch0051: 0051-linux-user-take-RESERVED_VA-into-account-for-g2h_va.patch
|
2012-02-02 18:07:17 +01:00
|
|
|
Patch0052: 0052-linux-user-binfmt-support-host-binaries.patch
|
2012-02-06 22:23:05 +01:00
|
|
|
Patch0053: 0053-linux-user-fix-fallocate.patch
|
2007-07-10 18:55:54 +02:00
|
|
|
# this is to make lint happy
|
|
|
|
Source300: rpmlintrc
|
2007-01-16 00:34:41 +01:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
2011-05-17 00:37:59 +02:00
|
|
|
BuildRequires: SDL-devel
|
|
|
|
BuildRequires: bison
|
|
|
|
BuildRequires: bluez-devel
|
|
|
|
BuildRequires: curl-devel
|
|
|
|
BuildRequires: cyrus-sasl-devel
|
|
|
|
BuildRequires: e2fsprogs-devel
|
|
|
|
BuildRequires: libaio
|
|
|
|
BuildRequires: libaio-devel
|
2011-10-05 17:26:05 +02:00
|
|
|
BuildRequires: libattr-devel
|
2011-05-17 00:37:59 +02:00
|
|
|
BuildRequires: libgnutls-devel
|
|
|
|
BuildRequires: libpcap-devel
|
|
|
|
BuildRequires: ncurses-devel
|
2011-05-17 05:31:07 +02:00
|
|
|
%if 0%{?suse_version} >= 1120
|
2011-05-17 00:37:59 +02:00
|
|
|
BuildRequires: zlib-devel-static
|
2011-05-17 05:31:07 +02:00
|
|
|
%else
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
%endif
|
2011-06-20 17:09:10 +02:00
|
|
|
%if 0%{?suse_version} >= 1210
|
2011-12-11 03:42:09 +01:00
|
|
|
BuildRequires: libattr-devel-static
|
2011-06-20 17:09:10 +02:00
|
|
|
BuildRequires: glibc-devel-static
|
2011-12-11 03:42:09 +01:00
|
|
|
BuildRequires: libfdt1-devel
|
2011-12-11 04:12:27 +01:00
|
|
|
%endif
|
|
|
|
%if 0%{?suse_version} >= 1140
|
2011-12-11 03:42:09 +01:00
|
|
|
BuildRequires: glib2-devel-static
|
2011-06-20 17:09:10 +02:00
|
|
|
%endif
|
2011-05-17 00:37:59 +02:00
|
|
|
BuildRequires: libvdeplug3-devel
|
2011-12-11 03:42:09 +01:00
|
|
|
BuildRequires: glib2-devel
|
2011-12-11 04:08:04 +01:00
|
|
|
BuildRequires: python
|
|
|
|
BuildRequires: fdupes
|
2010-05-19 19:38:53 +02:00
|
|
|
Requires: timezone virt-utils
|
2007-01-16 00:34: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.
|
|
|
|
|
2011-10-29 04:47:48 +02:00
|
|
|
%package linux-user
|
|
|
|
Group: System/Emulators/PC
|
|
|
|
Summary: Universal CPU emulator -- Linux User binaries
|
|
|
|
Provides: qemu:%_bindir/qemu-arm
|
2007-01-16 00:34:41 +01:00
|
|
|
|
2011-10-29 04:47:48 +02:00
|
|
|
%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.
|
2007-01-16 00:34:41 +01:00
|
|
|
|
2011-10-29 04:47:48 +02:00
|
|
|
This sub package contains static linked binaries for runnign linux-user
|
2011-12-14 02:35:41 +01:00
|
|
|
emulations. This can be used together with the OBS build script to
|
2011-10-29 04:47:48 +02:00
|
|
|
run cross architectures builds
|
2007-01-16 00:34:41 +01:00
|
|
|
|
|
|
|
%prep
|
2011-12-14 02:35:41 +01:00
|
|
|
%setup -q
|
|
|
|
%patch0001 -p1
|
|
|
|
%patch0002 -p1
|
|
|
|
%patch0003 -p1
|
|
|
|
%patch0004 -p1
|
|
|
|
%patch0005 -p1
|
|
|
|
%patch0006 -p1
|
|
|
|
%patch0007 -p1
|
|
|
|
%patch0008 -p1
|
|
|
|
%patch0009 -p1
|
|
|
|
%patch0010 -p1
|
|
|
|
%patch0011 -p1
|
|
|
|
%patch0012 -p1
|
|
|
|
%patch0013 -p1
|
|
|
|
%patch0014 -p1
|
|
|
|
%patch0015 -p1
|
|
|
|
%patch0016 -p1
|
|
|
|
%patch0017 -p1
|
|
|
|
%patch0018 -p1
|
|
|
|
%patch0019 -p1
|
|
|
|
%patch0020 -p1
|
|
|
|
%patch0021 -p1
|
|
|
|
%patch0022 -p1
|
|
|
|
%patch0023 -p1
|
|
|
|
%patch0024 -p1
|
|
|
|
%patch0025 -p1
|
|
|
|
%patch0026 -p1
|
|
|
|
%patch0027 -p1
|
|
|
|
%patch0028 -p1
|
|
|
|
%patch0029 -p1
|
|
|
|
%patch0030 -p1
|
|
|
|
%patch0031 -p1
|
|
|
|
%patch0032 -p1
|
|
|
|
%patch0033 -p1
|
2012-01-06 01:19:18 +01:00
|
|
|
%patch0034 -p1
|
|
|
|
%patch0035 -p1
|
|
|
|
%patch0036 -p1
|
2012-01-10 16:43:02 +01:00
|
|
|
%patch0037 -p1
|
2012-01-10 17:25:36 +01:00
|
|
|
%patch0038 -p1
|
|
|
|
%patch0039 -p1
|
|
|
|
%patch0040 -p1
|
|
|
|
%patch0041 -p1
|
|
|
|
%patch0042 -p1
|
|
|
|
%patch0043 -p1
|
|
|
|
%patch0044 -p1
|
2012-02-01 00:10:40 +01:00
|
|
|
%patch0045 -p1
|
|
|
|
%patch0046 -p1
|
|
|
|
%patch0047 -p1
|
|
|
|
%patch0048 -p1
|
|
|
|
%patch0049 -p1
|
2012-02-02 02:24:59 +01:00
|
|
|
%patch0050 -p1
|
2012-02-02 03:18:00 +01:00
|
|
|
%patch0051 -p1
|
2012-02-02 18:07:17 +01:00
|
|
|
%patch0052 -p1
|
2012-02-06 22:23:05 +01:00
|
|
|
%patch0053 -p1
|
2007-01-16 00:34:41 +01:00
|
|
|
|
|
|
|
%build
|
|
|
|
# build QEMU
|
2007-07-10 18:55:54 +02:00
|
|
|
mkdir -p dynamic
|
2009-08-11 17:37:13 +02:00
|
|
|
# build qemu-system
|
2011-12-14 02:35:41 +01:00
|
|
|
./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
|
2009-08-11 17:37:13 +02:00
|
|
|
# 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
|
2011-12-11 03:42:09 +01:00
|
|
|
make %{?jobs:-j%jobs} V=1
|
2009-04-01 18:57:34 +02:00
|
|
|
make qemu-img V=1
|
2010-05-19 19:38:53 +02:00
|
|
|
mv */qemu */qemu-* qemu-io dynamic || true
|
2007-07-10 18:55:54 +02:00
|
|
|
make clean
|
2007-01-16 00:34:41 +01:00
|
|
|
# build userland emus
|
2011-12-14 02:35:41 +01:00
|
|
|
./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"
|
2011-12-11 03:42:09 +01:00
|
|
|
make %{?jobs:-j%jobs} V=1
|
2007-01-16 00:34:41 +01:00
|
|
|
|
|
|
|
%install
|
2009-08-11 17:37:13 +02:00
|
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
2011-05-17 00:37:59 +02:00
|
|
|
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
|
2011-12-11 03:42:09 +01:00
|
|
|
# otherwise we get: install: omitting directory `dynamic/qemu-palcode'
|
|
|
|
rm -fr dynamic/qemu-palcode
|
2011-05-17 00:37:59 +02:00
|
|
|
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
|
2007-01-16 00:34: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
|
2011-12-11 04:08:04 +01:00
|
|
|
%fdupes -s $RPM_BUILD_ROOT
|
2007-01-16 00:34:41 +01:00
|
|
|
|
|
|
|
%clean
|
|
|
|
rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-, root, root)
|
2009-08-11 17:37:13 +02:00
|
|
|
%doc COPYING COPYING.LIB Changelog README TODO VERSION qemu-doc.html qemu-tech.html
|
2011-10-29 04:47:48 +02:00
|
|
|
%_bindir/qemu-io
|
|
|
|
%_bindir/qemu-system-*
|
2011-05-17 00:37:59 +02:00
|
|
|
%doc %_mandir/man[18]/qemu*.[18].gz
|
|
|
|
%_datadir/%name
|
2007-01-16 00:34:41 +01:00
|
|
|
%ifnarch %ix86 x86_64 ia64
|
|
|
|
%dir /emul/ia32-linux
|
|
|
|
%endif
|
2011-05-17 00:37:59 +02:00
|
|
|
%dir %_sysconfdir/%name
|
|
|
|
%config %_sysconfdir/%name/target-x86_64.conf
|
2007-12-11 00:34:25 +01:00
|
|
|
|
2011-10-29 04:47:48 +02: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
|
2011-12-11 03:42:09 +01:00
|
|
|
%_bindir/qemu-microblazeel
|
2011-10-29 04:47:48 +02:00
|
|
|
%_bindir/qemu-mips
|
|
|
|
%_bindir/qemu-mipsel
|
|
|
|
%_bindir/qemu-mipsn32
|
|
|
|
%_bindir/qemu-mipsn32el
|
|
|
|
%_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
|
2011-12-11 03:42:09 +01:00
|
|
|
%_bindir/qemu-unicore32
|
2011-10-29 04:47:48 +02:00
|
|
|
%_bindir/qemu-x86_64
|
|
|
|
%_bindir/qemu-*-binfmt
|
|
|
|
%_bindir/qemu-binfmt-conf.sh
|
|
|
|
%_sbindir/qemu-binfmt-conf.sh
|
|
|
|
|
2007-02-26 11:44:43 +01:00
|
|
|
%changelog
|