restructure conditionals for bug 859314
This commit is contained in:
parent
74cc437ed3
commit
2803fc8daa
32
kvm.modules
32
kvm.modules
|
@ -1,14 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
grep vmx /proc/cpuinfo >/dev/null 2>&1 && vmx=1
|
||||
grep svm /proc/cpuinfo >/dev/null 2>&1 && svm=1
|
||||
case $(uname -m) in
|
||||
i?86|x86_64)
|
||||
grep vmx /proc/cpuinfo >/dev/null 2>&1 && vmx=1
|
||||
grep svm /proc/cpuinfo >/dev/null 2>&1 && svm=1
|
||||
|
||||
if [ "$vmx" ] || [ "$svm" ]; then
|
||||
[ "$vmx" ] && modprobe -b kvm-intel >/dev/null 2>&1
|
||||
[ "$svm" ] && modprobe -b kvm-amd >/dev/null 2>&1
|
||||
if [ "$vmx" ] || [ "$svm" ]; then
|
||||
[ "$vmx" ] && modprobe -b kvm-intel >/dev/null 2>&1
|
||||
[ "$svm" ] && modprobe -b kvm-amd >/dev/null 2>&1
|
||||
|
||||
# no reason why vhost should not work with TCG, but currently it does not
|
||||
modprobe -b vhost-net >/dev/null 2>&1
|
||||
kvm=1
|
||||
fi
|
||||
;;
|
||||
ppc64)
|
||||
grep OPAL /proc/cpuinfo >/dev/null 2>&1 && opal=1
|
||||
|
||||
if [ "$opal" ]; then
|
||||
modprobe -b kvm >/dev/null 2>&1
|
||||
kvm=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$kvm" ]; then
|
||||
# no reason why vhost should not work with TCG, but currently it does not
|
||||
modprobe -b vhost-net >/dev/null 2>&1
|
||||
else
|
||||
exit 0
|
||||
exit 0
|
||||
fi
|
||||
|
|
368
qemu.spec
368
qemu.spec
|
@ -1,53 +1,112 @@
|
|||
# build-time settings that support --with or --without:
|
||||
#
|
||||
# = x86only =
|
||||
# Build only x86 Qemu targets.
|
||||
# = kvmonly =
|
||||
# Build only KVM-enabled QEMU targets, on KVM-enabled architectures.
|
||||
#
|
||||
# Disabled by default.
|
||||
#
|
||||
# = exclusive_x86_64 =
|
||||
# ExclusiveArch: x86_64
|
||||
#
|
||||
# Disabled by default, except on RHEL.
|
||||
# Disabled by default, except on RHEL. Only makes sense with kvmonly.
|
||||
#
|
||||
# = rbd =
|
||||
# Enable rbd support.
|
||||
#
|
||||
# Enable by default, except on RHEL.
|
||||
#
|
||||
# = fdt =
|
||||
# Enable fdt support.
|
||||
#
|
||||
# Enabled by default, except on RHEL.
|
||||
|
||||
%if 0%{?rhel}
|
||||
# RHEL-specific defaults:
|
||||
%bcond_without x86only # enabled
|
||||
%bcond_without kvmonly # enabled
|
||||
%bcond_without exclusive_x86_64 # enabled
|
||||
%bcond_with rbd # disabled
|
||||
%bcond_with fdt # disabled
|
||||
%bcond_without spice # enabled
|
||||
%bcond_without seccomp # enabled
|
||||
%else
|
||||
# General defaults:
|
||||
%bcond_with x86only # disabled
|
||||
%bcond_with kvmonly # disabled
|
||||
%bcond_with exclusive_x86_64 # disabled
|
||||
%bcond_without rbd # enabled
|
||||
%bcond_without fdt # enabled
|
||||
%bcond_without spice # enabled
|
||||
%bcond_without seccomp # enabled
|
||||
%endif
|
||||
|
||||
%global SLOF_gittagdate 20120731
|
||||
|
||||
%if %{with exclusive_x86_64}
|
||||
%global kvm_archs x86_64
|
||||
%else
|
||||
# TODO: s390
|
||||
%global kvm_archs %{ix86} x86_64 ppc64
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%if %{with seccomp}
|
||||
%global have_seccomp 1
|
||||
%endif
|
||||
%if %{with spice}
|
||||
%global have_spice 1
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%global need_qemu_kvm %{with kvmonly}
|
||||
|
||||
# These values for system_xyz are overridden below for non-kvmonly builds.
|
||||
# Instead, these values for kvm_package are overridden below for kvmonly builds.
|
||||
# Somewhat confusing, but avoids complicated nested conditionals.
|
||||
|
||||
%ifarch %{ix86}
|
||||
%global system_x86 kvm
|
||||
%global kvm_package system-x86
|
||||
%global kvm_target i386
|
||||
%global need_qemu_kvm 1
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%global system_x86 kvm
|
||||
%global kvm_package system-x86
|
||||
%global kvm_target x86_64
|
||||
%global need_qemu_kvm 1
|
||||
%endif
|
||||
%ifarch ppc64
|
||||
%global system_ppc kvm
|
||||
%global kvm_package system-ppc
|
||||
%global kvm_target ppc64
|
||||
%endif
|
||||
|
||||
%if %{with kvmonly}
|
||||
# If kvmonly, put the qemu-kvm binary in the qemu-kvm package
|
||||
%global kvm_package kvm
|
||||
%else
|
||||
# If not kvmonly, build all packages and give them normal names. qemu-kvm
|
||||
# is a simple wrapper package and is only build for archs that support KVM.
|
||||
%global user user
|
||||
%global system_arm system-arm
|
||||
%global system_cris system-cris
|
||||
%global system_m68k system-m68k
|
||||
%global system_mips system-mips
|
||||
%global system_ppc system-ppc
|
||||
%global system_sh4 system-sh4
|
||||
%global system_sparc system-sparc
|
||||
%global system_x86 system-x86
|
||||
%endif
|
||||
|
||||
# libfdt is only needed to build ARM and PPC emulators
|
||||
%if 0%{?system_arm:1}%{?system_ppc:1}
|
||||
%global need_fdt 1
|
||||
%endif
|
||||
|
||||
Summary: QEMU is a FAST! processor emulator
|
||||
Name: qemu
|
||||
Version: 1.2.0
|
||||
Release: 12%{?dist}
|
||||
Release: 13%{?dist}
|
||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||
Epoch: 2
|
||||
License: GPLv2+ and LGPLv2+ and BSD
|
||||
Group: Development/Tools
|
||||
URL: http://www.qemu.org/
|
||||
# RHEL will build Qemu only on x86_64:
|
||||
%if %{with exclusive_x86_64}
|
||||
ExclusiveArch: x86_64
|
||||
%if %{with kvmonly}
|
||||
ExclusiveArch: %{kvm_archs}
|
||||
%endif
|
||||
|
||||
# OOM killer breaks builds with parallel make on s390(x)
|
||||
|
@ -230,9 +289,11 @@ BuildRequires: ncurses-devel
|
|||
BuildRequires: libattr-devel
|
||||
BuildRequires: usbredir-devel >= 0.5.2
|
||||
BuildRequires: texinfo
|
||||
%ifarch %{ix86} x86_64
|
||||
%if 0%{?have_spice:1}
|
||||
BuildRequires: spice-protocol >= 0.12.2
|
||||
BuildRequires: spice-server-devel >= 0.12.0
|
||||
%endif
|
||||
%if 0%{?have_seccomp:1}
|
||||
BuildRequires: libseccomp-devel >= 1.0.0
|
||||
%endif
|
||||
# For network block driver
|
||||
|
@ -258,7 +319,7 @@ BuildRequires: libuuid-devel
|
|||
BuildRequires: bluez-libs-devel
|
||||
# For Braille device support
|
||||
BuildRequires: brlapi-devel
|
||||
%if %{with fdt}
|
||||
%if 0%{?need_fdt:1}
|
||||
# For FDT device tree support
|
||||
BuildRequires: libfdt-devel
|
||||
%endif
|
||||
|
@ -266,16 +327,32 @@ BuildRequires: libfdt-devel
|
|||
BuildRequires: check-devel
|
||||
# For virtfs
|
||||
BuildRequires: libcap-devel
|
||||
Requires: %{name}-user = %{epoch}:%{version}-%{release}
|
||||
%if %{without x86only}
|
||||
Requires: %{name}-system-arm = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-cris = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-m68k = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-mips = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-ppc = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-sh4 = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-sparc = %{epoch}:%{version}-%{release}
|
||||
Requires: %{name}-system-x86 = %{epoch}:%{version}-%{release}
|
||||
%if 0%{?user:1}
|
||||
Requires: %{name}-%{user} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_arm:1}
|
||||
Requires: %{name}-%{system_arm} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_cris:1}
|
||||
Requires: %{name}-%{system_cris} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_m68k:1}
|
||||
Requires: %{name}-%{system_m68k} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_mips:1}
|
||||
Requires: %{name}-%{system_mips} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_ppc:1}
|
||||
Requires: %{name}-%{system_ppc} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_sh4:1}
|
||||
Requires: %{name}-%{system_sh4} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_sparc:1}
|
||||
Requires: %{name}-%{system_sparc} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
%if 0%{?system_x86:1}
|
||||
Requires: %{name}-%{system_x86} = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
Requires: %{name}-img = %{epoch}:%{version}-%{release}
|
||||
|
||||
|
@ -294,17 +371,19 @@ emulation speed by using dynamic translation. QEMU has two operating modes:
|
|||
|
||||
As QEMU requires no host kernel patches to run, it is safe and easy to use.
|
||||
|
||||
%if %{without kvmonly}
|
||||
%ifarch %{kvm_archs}
|
||||
%package kvm
|
||||
Summary: QEMU metapackage for KVM support
|
||||
Group: Development/Tools
|
||||
%ifarch %{ix86} x86_64
|
||||
Requires: qemu-system-x86 = %{epoch}:%{version}-%{release}
|
||||
%endif
|
||||
Requires: qemu-%{kvm_package} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description kvm
|
||||
This is a meta-package that provides a qemu-system-<arch> package for native
|
||||
architectures where kvm can be enabled. For example, in an x86 system, this
|
||||
will install qemu-system-x86
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%package img
|
||||
Summary: QEMU command line tool for manipulating disk images
|
||||
|
@ -372,19 +451,22 @@ fi
|
|||
|
||||
|
||||
|
||||
%package user
|
||||
%if 0%{?user:1}
|
||||
%package %{user}
|
||||
Summary: QEMU user mode emulation of qemu targets
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
Requires(post): systemd-units
|
||||
Requires(postun): systemd-units
|
||||
%description user
|
||||
%description %{user}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the user mode emulation of qemu targets
|
||||
%endif
|
||||
|
||||
%package system-x86
|
||||
%if 0%{?system_x86:1}
|
||||
%package %{system_x86}
|
||||
Summary: QEMU system emulator for x86
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
|
@ -394,94 +476,107 @@ Requires: vgabios >= 0.6c-2
|
|||
Requires: seabios-bin >= 0.6.0-2
|
||||
Requires: sgabios-bin
|
||||
Requires: ipxe-roms-qemu
|
||||
%ifarch %{ix86} x86_64
|
||||
%if 0%{?have_seccomp:1}
|
||||
Requires: libseccomp >= 1.0.0
|
||||
%endif
|
||||
|
||||
%description system-x86
|
||||
%description %{system_x86}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for x86. When being run in a x86
|
||||
machine that supports it, this package also provides the KVM virtualization
|
||||
platform.
|
||||
%endif
|
||||
|
||||
%if %{without x86only}
|
||||
%package system-arm
|
||||
%if 0%{?system_arm:1}
|
||||
%package %{system_arm}
|
||||
Summary: QEMU system emulator for arm
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
%description system-arm
|
||||
%description %{system_arm}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for arm
|
||||
%endif
|
||||
|
||||
%package system-mips
|
||||
%if 0%{?system_mips:1}
|
||||
%package %{system_mips}
|
||||
Summary: QEMU system emulator for mips
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
%description system-mips
|
||||
%description %{system_mips}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for mips
|
||||
%endif
|
||||
|
||||
%package system-cris
|
||||
%if 0%{?system_cris:1}
|
||||
%package %{system_cris}
|
||||
Summary: QEMU system emulator for cris
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
%description system-cris
|
||||
%description %{system_cris}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for cris
|
||||
%endif
|
||||
|
||||
%package system-m68k
|
||||
%if 0%{?system_m68k:1}
|
||||
%package %{system_m68k}
|
||||
Summary: QEMU system emulator for m68k
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
%description system-m68k
|
||||
%description %{system_m68k}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for m68k
|
||||
%endif
|
||||
|
||||
%package system-sh4
|
||||
%if 0%{?system_sh4:1}
|
||||
%package %{system_sh4}
|
||||
Summary: QEMU system emulator for sh4
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
%description system-sh4
|
||||
%description %{system_sh4}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for sh4
|
||||
%endif
|
||||
|
||||
%package system-sparc
|
||||
%if 0%{?system_sparc:1}
|
||||
%package %{system_sparc}
|
||||
Summary: QEMU system emulator for sparc
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
Requires: openbios
|
||||
%description system-sparc
|
||||
%description %{system_sparc}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for sparc and sparc64
|
||||
%endif
|
||||
|
||||
%package system-ppc
|
||||
%if 0%{?system_ppc:1}
|
||||
%package %{system_ppc}
|
||||
Summary: QEMU system emulator for PPC
|
||||
Group: Development/Tools
|
||||
Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
Requires: openbios
|
||||
Requires: SLOF = 0-0.1.git%{SLOF_gittagdate}%{?dist}
|
||||
%description system-ppc
|
||||
%description %{system_ppc}
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
emulation speed by using dynamic translation.
|
||||
|
||||
This package provides the system emulator for ppc
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%ifarch %{kvm_archs}
|
||||
%package kvm-tools
|
||||
Summary: KVM debugging and diagnostics tools
|
||||
Group: Development/Tools
|
||||
|
@ -616,6 +711,9 @@ such as kvm_stat.
|
|||
|
||||
|
||||
%build
|
||||
%if %{with kvmonly}
|
||||
buildarch="%{kvm_target}-softmmu"
|
||||
%else
|
||||
buildarch="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu \
|
||||
m68k-softmmu mips-softmmu mipsel-softmmu mips64-softmmu \
|
||||
mips64el-softmmu sh4-softmmu sh4eb-softmmu sparc-softmmu sparc64-softmmu \
|
||||
|
@ -625,8 +723,6 @@ buildarch="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu \
|
|||
mipsel-linux-user ppc-linux-user ppc64-linux-user \
|
||||
ppc64abi32-linux-user sh4-linux-user sh4eb-linux-user \
|
||||
sparc-linux-user sparc64-linux-user sparc32plus-linux-user"
|
||||
%if %{with x86only}
|
||||
buildarch="i386-softmmu x86_64-softmmu i386-linux-user x86_64-linux-user"
|
||||
%endif
|
||||
|
||||
# Targets we don't build as of qemu 1.1.50
|
||||
|
@ -656,15 +752,19 @@ dobuild() {
|
|||
--disable-strip \
|
||||
--extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
|
||||
--extra-cflags="%{optflags} -fPIE -DPIE" \
|
||||
%ifarch %{ix86} x86_64
|
||||
%if 0%{?have_spice:1}
|
||||
--enable-spice \
|
||||
%endif
|
||||
--enable-mixemu \
|
||||
%if 0%{?have_seccomp:1}
|
||||
--enable-seccomp \
|
||||
%endif
|
||||
%if %{without rbd}
|
||||
--disable-rbd \
|
||||
%endif
|
||||
%if %{without fdt}
|
||||
%if 0%{?need_fdt:1}
|
||||
--enable-fdt \
|
||||
%else
|
||||
--disable-fdt \
|
||||
%endif
|
||||
--enable-trace-backend=dtrace \
|
||||
|
@ -691,20 +791,24 @@ dobuild() {
|
|||
# to do these double builds. But then I'm not sure how we are going to
|
||||
# generate a back compat qemu-kvm binary...
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%if 0%{?need_qemu_kvm}
|
||||
# Build qemu-kvm back compat binary
|
||||
dobuild --target-list=x86_64-softmmu
|
||||
dobuild --target-list=%{kvm_target}-softmmu
|
||||
|
||||
# Setup back compat qemu-kvm binary which defaults to KVM=on
|
||||
./scripts/tracetool.py --backend dtrace --format stap \
|
||||
--binary %{_bindir}/qemu-kvm --target-arch x86_64 --target-type system \
|
||||
--binary %{_bindir}/qemu-kvm --target-arch %{kvm_target} --target-type system \
|
||||
--probe-prefix qemu.kvm < ./trace-events > qemu-kvm.stp
|
||||
cp -a x86_64-softmmu/qemu-system-x86_64 qemu-kvm
|
||||
make clean
|
||||
|
||||
cp -a %{kvm_target}-softmmu/qemu-system-%{kvm_target} qemu-kvm
|
||||
%endif
|
||||
|
||||
%if %{without kvmonly}
|
||||
make clean
|
||||
# Build qemu-system-* with consistent default of kvm=off
|
||||
dobuild --target-list="$buildarch" --disable-kvm-options
|
||||
%endif
|
||||
|
||||
gcc %{SOURCE6} -O2 -g -o ksmctl
|
||||
|
||||
|
||||
|
@ -720,34 +824,36 @@ install -D -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/lib/systemd/system/ksmtuned.ser
|
|||
install -D -p -m 0755 %{SOURCE8} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
|
||||
install -D -p -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%ifarch %{kvm_archs}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
|
||||
mkdir -p $RPM_BUILD_ROOT%{_bindir}/
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_udevdir}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset
|
||||
|
||||
install -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules/kvm.modules
|
||||
install -m 0755 scripts/kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m 0755 qemu-kvm $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m 0644 qemu-kvm.stp $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/
|
||||
install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_udevdir}
|
||||
%endif
|
||||
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
|
||||
%if 0%{?need_qemu_kvm}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset
|
||||
|
||||
install -m 0755 qemu-kvm $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m 0644 qemu-kvm.stp $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/
|
||||
%endif
|
||||
|
||||
%if %{with kvmonly}
|
||||
rm $RPM_BUILD_ROOT%{_bindir}/qemu-system-%{kvm_target}
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/qemu-system-%{kvm_target}.stp
|
||||
%endif
|
||||
|
||||
chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/*
|
||||
install -D -p -m 0644 -t ${RPM_BUILD_ROOT}%{qemudocdir} Changelog README TODO COPYING COPYING.LIB LICENSE
|
||||
|
||||
install -D -p -m 0644 qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl2/qemu.conf
|
||||
|
||||
# Provided by package ipxe
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom
|
||||
# Provided by package vgabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/vgabios*bin
|
||||
# Provided by package seabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bios.bin
|
||||
# Provided by package sgabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/sgabios.bin
|
||||
# Provided by package openbios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-ppc
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc32
|
||||
|
@ -755,8 +861,8 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc64
|
|||
# Provided by package SLOF
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/slof.bin
|
||||
|
||||
# remove unpackaged files on x86only:
|
||||
%if %{with x86only}
|
||||
# remove possibly unpackaged files:
|
||||
%if 0%{!?system_ppc:1}
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bamboo.dtb
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/ppc_rom.bin
|
||||
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/spapr-rtas.bin
|
||||
|
@ -770,7 +876,16 @@ rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/palcode-clipper
|
|||
# Binary device trees for microblaze target
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/petalogix*.dtb
|
||||
|
||||
# Provided by package ipxe
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*rom
|
||||
# Provided by package vgabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/vgabios*bin
|
||||
# Provided by package seabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bios.bin
|
||||
# Provided by package sgabios
|
||||
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/sgabios.bin
|
||||
|
||||
%if 0%{?system_x86:1}
|
||||
# the pxe gpxe images will be symlinks to the images on
|
||||
# /usr/share/ipxe, as QEMU doesn't know how to look
|
||||
# for other paths, yet.
|
||||
|
@ -795,13 +910,14 @@ rom_link ../vgabios/VGABIOS-lgpl-latest.stdvga.bin vgabios-stdvga.bin
|
|||
rom_link ../vgabios/VGABIOS-lgpl-latest.vmware.bin vgabios-vmware.bin
|
||||
rom_link ../seabios/bios.bin bios.bin
|
||||
rom_link ../sgabios/sgabios.bin sgabios.bin
|
||||
%endif
|
||||
|
||||
%if 0%{?user:1}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d
|
||||
for i in dummy \
|
||||
%ifnarch %{ix86} x86_64
|
||||
qemu-i386 \
|
||||
%endif
|
||||
%if %{without x86only}
|
||||
%ifnarch alpha
|
||||
qemu-alpha \
|
||||
%endif
|
||||
|
@ -831,12 +947,12 @@ for i in dummy \
|
|||
qemu-sh4 \
|
||||
%endif
|
||||
qemu-sh4eb \
|
||||
%endif
|
||||
; do
|
||||
test $i = dummy && continue
|
||||
grep /$i:\$ %{SOURCE1} > $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d/$i.conf
|
||||
chmod 644 $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d/$i.conf
|
||||
done < %{SOURCE1}
|
||||
%endif
|
||||
|
||||
# For the qemu-guest-agent subpackage install the systemd
|
||||
# service and udev rules.
|
||||
|
@ -848,8 +964,8 @@ install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_udevdir}
|
|||
%check
|
||||
make check
|
||||
|
||||
%post system-x86
|
||||
%ifarch %{ix86} x86_64
|
||||
%ifarch %{kvm_archs}
|
||||
%post %{kvm_package}
|
||||
# load kvm modules now, so we can make sure no reboot is needed.
|
||||
# If there's already a kvm module installed, we don't mess with it
|
||||
sh %{_sysconfdir}/sysconfig/modules/kvm.modules || :
|
||||
|
@ -887,18 +1003,31 @@ if [ $1 -ge 1 ] ; then
|
|||
fi
|
||||
|
||||
|
||||
%post user
|
||||
%if 0%{?user:1}
|
||||
%post %{user}
|
||||
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
||||
|
||||
%postun user
|
||||
%postun %{user}
|
||||
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
||||
%endif
|
||||
|
||||
%global kvm_files \
|
||||
%{_sysconfdir}/sysconfig/modules/kvm.modules \
|
||||
%{_udevdir}/80-kvm.rules
|
||||
|
||||
%if 0%{?need_qemu_kvm}
|
||||
%global qemu_kvm_files \
|
||||
%{_bindir}/qemu-kvm \
|
||||
%{_datadir}/systemtap/tapset/qemu-kvm.stp
|
||||
%endif
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
|
||||
%ifarch %{kvm_archs}
|
||||
%files kvm
|
||||
%defattr(-,root,root)
|
||||
%endif
|
||||
|
||||
%files common
|
||||
%defattr(-,root,root)
|
||||
|
@ -936,14 +1065,12 @@ fi
|
|||
%{_unitdir}/qemu-guest-agent.service
|
||||
%{_udevdir}/99-qemu-guest-agent.rules
|
||||
|
||||
%files user
|
||||
%if 0%{?user:1}
|
||||
%files %{user}
|
||||
%defattr(-,root,root)
|
||||
%if %{without x86only}
|
||||
%{_exec_prefix}/lib/binfmt.d/qemu-*.conf
|
||||
%endif
|
||||
%{_bindir}/qemu-i386
|
||||
%{_bindir}/qemu-x86_64
|
||||
%if %{without x86only}
|
||||
%{_bindir}/qemu-alpha
|
||||
%{_bindir}/qemu-arm
|
||||
%{_bindir}/qemu-armeb
|
||||
|
@ -959,10 +1086,8 @@ fi
|
|||
%{_bindir}/qemu-sparc
|
||||
%{_bindir}/qemu-sparc32plus
|
||||
%{_bindir}/qemu-sparc64
|
||||
%endif
|
||||
%{_datadir}/systemtap/tapset/qemu-i386.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-x86_64.stp
|
||||
%if %{without x86only}
|
||||
%{_datadir}/systemtap/tapset/qemu-alpha.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-arm.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-armeb.stp
|
||||
|
@ -980,10 +1105,15 @@ fi
|
|||
%{_datadir}/systemtap/tapset/qemu-sparc64.stp
|
||||
%endif
|
||||
|
||||
%files system-x86
|
||||
%if 0%{?system_x86:1}
|
||||
%files %{system_x86}
|
||||
%defattr(-,root,root)
|
||||
%if %{without kvmonly}
|
||||
%{_bindir}/qemu-system-i386
|
||||
%{_bindir}/qemu-system-x86_64
|
||||
%{_datadir}/systemtap/tapset/qemu-system-i386.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-x86_64.stp
|
||||
%endif
|
||||
%{_datadir}/%{name}/bios.bin
|
||||
%{_datadir}/%{name}/sgabios.bin
|
||||
%{_datadir}/%{name}/linuxboot.bin
|
||||
|
@ -1002,30 +1132,27 @@ fi
|
|||
%{_datadir}/%{name}/cpus-x86_64.conf
|
||||
%{_datadir}/%{name}/qemu-icon.bmp
|
||||
%config(noreplace) %{_sysconfdir}/qemu/target-x86_64.conf
|
||||
%{_datadir}/systemtap/tapset/qemu-system-i386.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-x86_64.stp
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_bindir}/qemu-kvm
|
||||
%{_sysconfdir}/sysconfig/modules/kvm.modules
|
||||
%{_udevdir}/80-kvm.rules
|
||||
%{_datadir}/systemtap/tapset/qemu-kvm.stp
|
||||
%{?kvm_files:}
|
||||
%{?qemu_kvm_files:}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%ifarch %{kvm_archs}
|
||||
%files kvm-tools
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/kvm_stat
|
||||
%endif
|
||||
|
||||
%if %{without x86only}
|
||||
|
||||
%files system-arm
|
||||
%if 0%{?system_arm:1}
|
||||
%files %{system_arm}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-arm
|
||||
%{_datadir}/systemtap/tapset/qemu-system-arm.stp
|
||||
%endif
|
||||
|
||||
%files system-mips
|
||||
%if 0%{?system_mips:1}
|
||||
%files %{system_mips}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-mips
|
||||
%{_bindir}/qemu-system-mipsel
|
||||
|
@ -1035,43 +1162,58 @@ fi
|
|||
%{_datadir}/systemtap/tapset/qemu-system-mipsel.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-mips64el.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-mips64.stp
|
||||
%endif
|
||||
|
||||
%files system-cris
|
||||
%if 0%{?system_cris:1}
|
||||
%files %{system_cris}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-cris
|
||||
%{_datadir}/systemtap/tapset/qemu-system-cris.stp
|
||||
%endif
|
||||
|
||||
%files system-m68k
|
||||
%if 0%{?system_m68k:1}
|
||||
%files %{system_m68k}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-m68k
|
||||
%{_datadir}/systemtap/tapset/qemu-system-m68k.stp
|
||||
%endif
|
||||
|
||||
%files system-sh4
|
||||
%if 0%{?system_sh4:1}
|
||||
%files %{system_sh4}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-sh4
|
||||
%{_bindir}/qemu-system-sh4eb
|
||||
%{_datadir}/systemtap/tapset/qemu-system-sh4.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-sh4eb.stp
|
||||
%endif
|
||||
|
||||
%files system-sparc
|
||||
%if 0%{?system_sparc:1}
|
||||
%files %{system_sparc}
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/qemu-system-sparc
|
||||
%{_bindir}/qemu-system-sparc64
|
||||
%{_datadir}/systemtap/tapset/qemu-system-sparc.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-sparc64.stp
|
||||
%endif
|
||||
|
||||
%files system-ppc
|
||||
%if 0%{?system_ppc:1}
|
||||
%files %{system_ppc}
|
||||
%defattr(-,root,root)
|
||||
%if %{without kvmonly}
|
||||
%{_bindir}/qemu-system-ppc
|
||||
%{_bindir}/qemu-system-ppc64
|
||||
%{_bindir}/qemu-system-ppcemb
|
||||
%{_datadir}/%{name}/bamboo.dtb
|
||||
%{_datadir}/%{name}/ppc_rom.bin
|
||||
%{_datadir}/%{name}/spapr-rtas.bin
|
||||
%{_datadir}/systemtap/tapset/qemu-system-ppc.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-ppc64.stp
|
||||
%{_datadir}/systemtap/tapset/qemu-system-ppcemb.stp
|
||||
|
||||
%endif
|
||||
%{_datadir}/%{name}/bamboo.dtb
|
||||
%{_datadir}/%{name}/ppc_rom.bin
|
||||
%{_datadir}/%{name}/spapr-rtas.bin
|
||||
%ifarch ppc64
|
||||
%{?kvm_files:}
|
||||
%{?qemu_kvm_files:}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%files img
|
||||
|
@ -1082,6 +1224,14 @@ fi
|
|||
%{_mandir}/man1/qemu-img.1*
|
||||
|
||||
%changelog
|
||||
* Thu Oct 11 2012 Paolo Bonzini <pbonzini@redhat.com> - 2:1.2.0-13
|
||||
- Add ppc support to kvm.modules (original patch by David Gibson)
|
||||
- Replace x86only build with kvmonly build: add separate defines and
|
||||
conditionals for all packages, so that they can be chosen and
|
||||
renamed in kvmonly builds and so that qemu has the appropriate requires
|
||||
- Automatically pick libfdt dependancy
|
||||
- Add knob to disable spice+seccomp
|
||||
|
||||
* Fri Sep 28 2012 Paolo Bonzini <pbonzini@redhat.com> - 2:1.2.0-12
|
||||
- Call udevadm on post, fixing bug 860658
|
||||
|
||||
|
|
Loading…
Reference in New Issue