2013-05-23 15:25:41 +02:00
|
|
|
#
|
|
|
|
# spec file for package qemu-linux-user
|
|
|
|
#
|
2017-01-11 19:17:11 +01:00
|
|
|
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
2013-05-23 15:25:41 +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.
|
|
|
|
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
|
|
Name: qemu-linux-user
|
|
|
|
Url: http://www.qemu.org/
|
|
|
|
Summary: Universal CPU emulator
|
2013-05-25 20:15:40 +02:00
|
|
|
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
|
2013-05-23 15:25:41 +02:00
|
|
|
Group: System/Emulators/PC
|
2017-03-15 20:38:55 +01:00
|
|
|
Version: 2.8.0
|
2013-05-23 15:25:41 +02:00
|
|
|
Release: 0
|
2017-03-15 20:38:55 +01:00
|
|
|
Source: qemu-2.8.0.tar.bz2
|
|
|
|
# Upstream First -- http://wiki.qemu-project.org/Contribute/SubmitAPatch
|
2013-07-22 13:46:11 +02:00
|
|
|
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
|
2014-04-01 17:08:49 +02:00
|
|
|
Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
|
2016-09-19 19:06:58 +02:00
|
|
|
Patch0002: 0002-qemu-binfmt-conf-Modify-default-pat.patch
|
2016-07-14 17:50:35 +02:00
|
|
|
Patch0003: 0003-qemu-cvs-alsa_bitfield.patch
|
|
|
|
Patch0004: 0004-qemu-cvs-alsa_ioctl.patch
|
|
|
|
Patch0005: 0005-qemu-cvs-alsa_mmap.patch
|
|
|
|
Patch0006: 0006-qemu-cvs-gettimeofday.patch
|
|
|
|
Patch0007: 0007-qemu-cvs-ioctl_debug.patch
|
|
|
|
Patch0008: 0008-qemu-cvs-ioctl_nodirection.patch
|
2016-09-19 19:06:58 +02:00
|
|
|
Patch0009: 0009-linux-user-add-binfmt-wrapper-for-a.patch
|
|
|
|
Patch0010: 0010-PPC-KVM-Disable-mmu-notifier-check.patch
|
|
|
|
Patch0011: 0011-linux-user-fix-segfault-deadlock.patch
|
|
|
|
Patch0012: 0012-linux-user-binfmt-support-host-bina.patch
|
2017-03-15 20:38:55 +01:00
|
|
|
Patch0013: 0013-linux-user-Fake-proc-cpuinfo.patch
|
|
|
|
Patch0014: 0014-linux-user-XXX-disable-fiemap.patch
|
|
|
|
Patch0015: 0015-slirp-nooutgoing.patch
|
|
|
|
Patch0016: 0016-vnc-password-file-and-incoming-conn.patch
|
|
|
|
Patch0017: 0017-linux-user-use-target_ulong.patch
|
|
|
|
Patch0018: 0018-block-Add-support-for-DictZip-enabl.patch
|
|
|
|
Patch0019: 0019-block-Add-tar-container-format.patch
|
|
|
|
Patch0020: 0020-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
|
|
|
|
Patch0021: 0021-console-add-question-mark-escape-op.patch
|
|
|
|
Patch0022: 0022-Make-char-muxer-more-robust-wrt-sma.patch
|
|
|
|
Patch0023: 0023-linux-user-lseek-explicitly-cast-no.patch
|
|
|
|
Patch0024: 0024-virtfs-proxy-helper-Provide-__u64-f.patch
|
|
|
|
Patch0025: 0025-configure-Enable-PIE-for-ppc-and-pp.patch
|
|
|
|
Patch0026: 0026-AIO-Reduce-number-of-threads-for-32.patch
|
|
|
|
Patch0027: 0027-dictzip-Fix-on-big-endian-systems.patch
|
|
|
|
Patch0028: 0028-xen_disk-Add-suse-specific-flush-di.patch
|
|
|
|
Patch0029: 0029-qemu-bridge-helper-reduce-security-.patch
|
|
|
|
Patch0030: 0030-qemu-binfmt-conf-use-qemu-ARCH-binf.patch
|
|
|
|
Patch0031: 0031-configure-Fix-detection-of-seccomp-.patch
|
|
|
|
Patch0032: 0032-linux-user-properly-test-for-infini.patch
|
|
|
|
Patch0033: 0033-linux-user-remove-all-traces-of-qem.patch
|
|
|
|
Patch0034: 0034-dma-rc4030-limit-interval-timer-rel.patch
|
|
|
|
Patch0035: 0035-net-imx-limit-buffer-descriptor-cou.patch
|
|
|
|
Patch0036: 0036-roms-Makefile-pass-a-packaging-time.patch
|
|
|
|
Patch0037: 0037-Raise-soft-address-space-limit-to-h.patch
|
|
|
|
Patch0038: 0038-increase-x86_64-physical-bits-to-42.patch
|
|
|
|
Patch0039: 0039-vga-Raise-VRAM-to-16-MiB-for-pc-0.1.patch
|
|
|
|
Patch0040: 0040-i8254-Fix-migration-from-SLE11-SP2.patch
|
|
|
|
Patch0041: 0041-acpi_piix4-Fix-migration-from-SLE11.patch
|
|
|
|
Patch0042: 0042-Fix-tigervnc-long-press-issue.patch
|
|
|
|
Patch0043: 0043-fix-xen-hvm-direct-kernel-boot.patch
|
|
|
|
Patch0044: 0044-ARM-KVM-Enable-in-kernel-timers-wit.patch
|
|
|
|
Patch0045: 0045-virtio-gpu-call-cleanup-mapping-fun.patch
|
|
|
|
Patch0046: 0046-string-input-visitor-Fix-uint64-par.patch
|
|
|
|
Patch0047: 0047-test-string-input-visitor-Add-int-t.patch
|
|
|
|
Patch0048: 0048-test-string-input-visitor-Add-uint6.patch
|
|
|
|
Patch0049: 0049-tests-Add-QOM-property-unit-tests.patch
|
|
|
|
Patch0050: 0050-tests-Add-scsi-disk-test.patch
|
|
|
|
Patch0051: 0051-virtio-gpu-fix-information-leak-in-.patch
|
|
|
|
Patch0052: 0052-display-cirrus-ignore-source-pitch-.patch
|
|
|
|
Patch0053: 0053-s390x-kvm-fix-small-race-reboot-vs..patch
|
|
|
|
Patch0054: 0054-target-s390x-use-qemu-cpu-model-in-.patch
|
|
|
|
Patch0055: 0055-linux-user-exclude-cpu-model-code-w.patch
|
|
|
|
Patch0056: 0056-tests-check-path-to-avoid-a-failing.patch
|
|
|
|
Patch0057: 0057-display-virtio-gpu-3d-check-virgl-c.patch
|
|
|
|
Patch0058: 0058-watchdog-6300esb-add-exit-function.patch
|
|
|
|
Patch0059: 0059-virtio-gpu-3d-fix-memory-leak-in-re.patch
|
|
|
|
Patch0060: 0060-virtio-gpu-fix-memory-leak-in-resou.patch
|
|
|
|
Patch0061: 0061-virtio-fix-vq-inuse-recalc-after-mi.patch
|
|
|
|
Patch0062: 0062-audio-es1370-add-exit-function.patch
|
|
|
|
Patch0063: 0063-audio-ac97-add-exit-function.patch
|
|
|
|
Patch0064: 0064-megasas-fix-guest-triggered-memory-.patch
|
|
|
|
Patch0065: 0065-cirrus-handle-negative-pitch-in-cir.patch
|
|
|
|
Patch0066: 0066-cirrus-fix-blit-address-mask-handli.patch
|
|
|
|
Patch0067: 0067-cirrus-fix-oob-access-issue-CVE-201.patch
|
|
|
|
Patch0068: 0068-usb-ccid-check-ccid-apdu-length.patch
|
|
|
|
Patch0069: 0069-sd-sdhci-check-data-length-during-d.patch
|
|
|
|
Patch0070: 0070-virtio-gpu-fix-resource-leak-in-vir.patch
|
|
|
|
Patch0071: 0071-cirrus-fix-patterncopy-checks.patch
|
|
|
|
Patch0072: 0072-cirrus-add-blit_is_unsafe-call-to-c.patch
|
|
|
|
# Please do not add QEMU patches manually here.
|
|
|
|
# Run update_git.sh to regenerate this queue.
|
2013-05-23 15:25:41 +02:00
|
|
|
Source400: update_git.sh
|
2017-03-15 20:38:55 +01:00
|
|
|
ExcludeArch: s390
|
2013-05-23 15:25:41 +02:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
2017-03-15 20:38:55 +01:00
|
|
|
#!BuildIgnore: gcc-PIE
|
2013-05-23 15:25:41 +02:00
|
|
|
BuildRequires: e2fsprogs-devel
|
2013-05-24 21:22:32 +02:00
|
|
|
BuildRequires: fdupes
|
2014-03-24 12:07:57 +01:00
|
|
|
BuildRequires: gcc-c++
|
2013-05-24 21:22:32 +02:00
|
|
|
%if 0%{?suse_version} >= 1140
|
|
|
|
BuildRequires: glib2-devel-static
|
|
|
|
%else
|
|
|
|
BuildRequires: glib2-devel
|
|
|
|
%endif
|
|
|
|
%if 0%{?suse_version} >= 1210
|
|
|
|
BuildRequires: glibc-devel-static
|
|
|
|
%endif
|
|
|
|
%if 0%{?suse_version} >= 1210
|
|
|
|
BuildRequires: libattr-devel-static
|
|
|
|
%else
|
2013-05-23 15:25:41 +02:00
|
|
|
BuildRequires: libattr-devel
|
2013-05-24 21:22:32 +02:00
|
|
|
%endif
|
2013-05-23 15:25:41 +02:00
|
|
|
%if 0%{?suse_version} > 1220
|
|
|
|
BuildRequires: makeinfo
|
|
|
|
%endif
|
|
|
|
BuildRequires: ncurses-devel
|
2013-05-24 21:22:32 +02:00
|
|
|
%if 0%{?suse_version} >= 1220
|
|
|
|
BuildRequires: pcre-devel-static
|
2013-05-23 15:25:41 +02:00
|
|
|
%endif
|
2013-05-24 21:22:32 +02:00
|
|
|
BuildRequires: python
|
2013-05-23 15:25:41 +02:00
|
|
|
%if 0%{?suse_version} >= 1120
|
|
|
|
BuildRequires: zlib-devel-static
|
|
|
|
%else
|
|
|
|
BuildRequires: zlib-devel
|
|
|
|
%endif
|
2013-05-24 21:22:32 +02:00
|
|
|
# we must not install the qemu-linux-user package when under QEMU build
|
|
|
|
%if 0%{?qemu_user_space_build:1}
|
|
|
|
#!BuildIgnore: post-build-checks
|
2013-05-23 15:25:41 +02:00
|
|
|
%endif
|
|
|
|
Provides: qemu:%_bindir/qemu-arm
|
|
|
|
|
|
|
|
%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.
|
|
|
|
|
|
|
|
This sub-package contains statically linked binaries for running linux-user
|
|
|
|
emulations. This can be used together with the OBS build script to
|
|
|
|
run cross-architecture builds.
|
|
|
|
|
|
|
|
%prep
|
2017-03-15 20:38:55 +01:00
|
|
|
%setup -q -n qemu-2.8.0
|
2013-05-23 15:25:41 +02:00
|
|
|
%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
|
|
|
|
%patch0034 -p1
|
|
|
|
%patch0035 -p1
|
|
|
|
%patch0036 -p1
|
2015-01-14 01:42:12 +01:00
|
|
|
%patch0037 -p1
|
2015-09-08 00:17:20 +02:00
|
|
|
%patch0038 -p1
|
2016-09-27 15:43:15 +02:00
|
|
|
%patch0039 -p1
|
2016-09-28 00:31:52 +02:00
|
|
|
%patch0040 -p1
|
2016-11-21 18:05:46 +01:00
|
|
|
%patch0041 -p1
|
|
|
|
%patch0042 -p1
|
|
|
|
%patch0043 -p1
|
|
|
|
%patch0044 -p1
|
|
|
|
%patch0045 -p1
|
|
|
|
%patch0046 -p1
|
|
|
|
%patch0047 -p1
|
|
|
|
%patch0048 -p1
|
|
|
|
%patch0049 -p1
|
|
|
|
%patch0050 -p1
|
|
|
|
%patch0051 -p1
|
|
|
|
%patch0052 -p1
|
|
|
|
%patch0053 -p1
|
|
|
|
%patch0054 -p1
|
|
|
|
%patch0055 -p1
|
|
|
|
%patch0056 -p1
|
|
|
|
%patch0057 -p1
|
|
|
|
%patch0058 -p1
|
|
|
|
%patch0059 -p1
|
|
|
|
%patch0060 -p1
|
|
|
|
%patch0061 -p1
|
|
|
|
%patch0062 -p1
|
|
|
|
%patch0063 -p1
|
|
|
|
%patch0064 -p1
|
|
|
|
%patch0065 -p1
|
|
|
|
%patch0066 -p1
|
|
|
|
%patch0067 -p1
|
|
|
|
%patch0068 -p1
|
|
|
|
%patch0069 -p1
|
2017-03-15 20:38:55 +01:00
|
|
|
%patch0070 -p1
|
|
|
|
%patch0071 -p1
|
|
|
|
%patch0072 -p1
|
2013-05-23 15:25:41 +02:00
|
|
|
|
|
|
|
%build
|
|
|
|
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
|
|
|
|
--libexecdir=%_libexecdir \
|
|
|
|
--enable-linux-user \
|
2017-03-15 20:38:55 +01:00
|
|
|
--disable-stack-protector \
|
2013-05-23 15:25:41 +02:00
|
|
|
--disable-system \
|
|
|
|
--disable-tools \
|
|
|
|
--disable-guest-agent \
|
|
|
|
--static --disable-linux-aio \
|
|
|
|
--disable-fdt \
|
|
|
|
--without-pixman \
|
|
|
|
--disable-blobs \
|
|
|
|
--disable-strip \
|
2017-03-15 20:38:55 +01:00
|
|
|
--extra-cflags="%{optflags}"
|
2013-05-23 15:25:41 +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
|
2013-05-24 19:25:32 +02:00
|
|
|
make %{?_smp_mflags} V=1
|
2013-05-23 15:25:41 +02:00
|
|
|
|
2015-05-11 14:00:30 +02:00
|
|
|
%ifarch %ix86
|
|
|
|
%define qemu_arch i386
|
|
|
|
%endif
|
|
|
|
%ifarch x86_64
|
|
|
|
%define qemu_arch x86_64
|
|
|
|
%endif
|
|
|
|
%ifarch %arm
|
|
|
|
%define qemu_arch arm
|
|
|
|
%endif
|
|
|
|
%ifarch aarch64
|
|
|
|
%define qemu_arch aarch64
|
|
|
|
%endif
|
|
|
|
%ifarch ppc
|
|
|
|
%define qemu_arch ppc
|
|
|
|
%endif
|
|
|
|
%ifarch ppc64
|
|
|
|
%define qemu_arch ppc64
|
|
|
|
%endif
|
|
|
|
%ifarch ppc64le
|
|
|
|
%define qemu_arch ppc64le
|
|
|
|
%endif
|
|
|
|
%ifarch s390x
|
|
|
|
%define qemu_arch s390x
|
|
|
|
%endif
|
|
|
|
|
2015-05-14 19:45:59 +02:00
|
|
|
%ifarch %ix86 x86_64 %arm aarch64 ppc ppc64 ppc64le s390x
|
2015-05-11 14:00:30 +02:00
|
|
|
%if 0%{?suse_version} >= 1310
|
|
|
|
%check
|
|
|
|
%{qemu_arch}-linux-user/qemu-%{qemu_arch} %_bindir/ls > /dev/null
|
|
|
|
%endif
|
2015-05-14 19:45:59 +02:00
|
|
|
%endif
|
2015-05-11 14:00:30 +02:00
|
|
|
|
2013-05-23 15:25:41 +02:00
|
|
|
%install
|
2017-03-15 20:38:55 +01:00
|
|
|
make install DESTDIR=%{buildroot}
|
|
|
|
%{__rm} -rf %{buildroot}%_datadir/doc
|
|
|
|
%{__rm} -rf %{buildroot}%_mandir/man1/qemu.1
|
|
|
|
%{__rm} -rf %{buildroot}%_mandir/man1/qemu-img.1
|
|
|
|
%{__rm} -rf %{buildroot}%_mandir/man8/qemu-nbd.8
|
|
|
|
%{__rm} -rf %{buildroot}%_datadir/qemu/keymaps
|
|
|
|
%{__rm} -rf %{buildroot}%_datadir/qemu/trace-events-all
|
|
|
|
%{__rm} -rf %{buildroot}%_sysconfdir/qemu/target-x86_64.conf
|
|
|
|
%{__rm} -rf %{buildroot}%_libexecdir/qemu-bridge-helper
|
|
|
|
%{__install} -d -m 755 %{buildroot}%_sbindir
|
|
|
|
%{__install} -m 755 scripts/qemu-binfmt-conf.sh %{buildroot}%_sbindir
|
2013-05-23 15:25:41 +02:00
|
|
|
%ifnarch %ix86 x86_64
|
2017-03-15 20:38:55 +01:00
|
|
|
ln -sf ../../../emul/ia32-linux %{buildroot}%_datadir/qemu/qemu-i386
|
2013-05-23 15:25:41 +02:00
|
|
|
%endif
|
|
|
|
%ifnarch ia64
|
2017-03-15 20:38:55 +01:00
|
|
|
%{__mkdir} -p %{buildroot}/emul/ia32-linux
|
2013-05-23 15:25:41 +02:00
|
|
|
%endif
|
2017-03-15 20:38:55 +01:00
|
|
|
%fdupes -s %{buildroot}
|
2013-05-23 15:25:41 +02:00
|
|
|
|
|
|
|
%clean
|
2017-03-15 20:38:55 +01:00
|
|
|
%{__rm} -rf %{buildroot}
|
2013-05-23 15:25:41 +02:00
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-, root, root)
|
2014-03-20 01:26:56 +01:00
|
|
|
%_bindir/qemu-aarch64
|
2013-05-23 15:25:41 +02:00
|
|
|
%_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
|
|
|
|
%_bindir/qemu-mips64
|
|
|
|
%_bindir/qemu-mips64el
|
|
|
|
%_bindir/qemu-or32
|
|
|
|
%_bindir/qemu-ppc64abi32
|
|
|
|
%_bindir/qemu-ppc64
|
2014-07-11 18:51:43 +02:00
|
|
|
%_bindir/qemu-ppc64le
|
2013-05-23 15:25:41 +02:00
|
|
|
%_bindir/qemu-ppc
|
|
|
|
%_bindir/qemu-s390x
|
|
|
|
%_bindir/qemu-sh4
|
|
|
|
%_bindir/qemu-sh4eb
|
|
|
|
%_bindir/qemu-sparc32plus
|
|
|
|
%_bindir/qemu-sparc64
|
|
|
|
%_bindir/qemu-sparc
|
2016-01-19 19:31:32 +01:00
|
|
|
%_bindir/qemu-tilegx
|
2013-05-23 15:25:41 +02:00
|
|
|
%_bindir/qemu-x86_64
|
|
|
|
%_bindir/qemu-*-binfmt
|
|
|
|
%_sbindir/qemu-binfmt-conf.sh
|
2013-05-25 15:20:26 +02:00
|
|
|
%ifnarch %ix86 x86_64 ia64
|
|
|
|
%dir /emul/ia32-linux
|
|
|
|
%endif
|
|
|
|
%ifnarch %ix86 x86_64
|
2017-03-15 20:38:55 +01:00
|
|
|
%dir %_datadir/qemu
|
|
|
|
%_datadir/qemu/qemu-i386
|
2013-05-25 15:20:26 +02:00
|
|
|
%endif
|
2013-05-23 15:25:41 +02:00
|
|
|
|
|
|
|
%changelog
|