- Require seabios-bin >= 0.6.0-2 (#741992)
- Replace init scripts with systemd units (#741920) - Update to 0.15.1 stable upstream - Enable full relro and PIE (rhbz #738812)
This commit is contained in:
parent
307d8081ac
commit
2a5d7215d6
1
.gitignore
vendored
1
.gitignore
vendored
@ -9,3 +9,4 @@ qemu-kvm-0.13.0-25fdf4a.tar.gz
|
||||
/qemu-kvm-0.15.0-59fadcc.tar.gz
|
||||
/qemu-kvm-0.15.0-0af4922.tar.gz
|
||||
/qemu-kvm-0.15.0.tar.gz
|
||||
/qemu-kvm-0.15.1.tar.gz
|
||||
|
104
ksm.init
104
ksm.init
@ -1,104 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# ksm Kernel Samepage Merging
|
||||
#
|
||||
# Author: Dan Kenigsberg <danken@redhat.com>
|
||||
#
|
||||
# Copyright 2009 Red Hat, Inc. and/or its affiliates.
|
||||
# Released under the GPL
|
||||
#
|
||||
# chkconfig: 345 84 16
|
||||
# description: The KSM init script starts and stops the ksm kernel thread.
|
||||
# config: /etc/sysconfig/ksm
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ksm
|
||||
# Required-Start:
|
||||
# Required-Stop:
|
||||
# Should-Start:
|
||||
# Default-Start: 3 4 5
|
||||
# Short-Description: start and stop ksm
|
||||
# Description: The KSM init script starts and stops the ksm kernel thread.
|
||||
### END INIT INFO
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
if [ -f /etc/sysconfig/ksm ]; then
|
||||
. /etc/sysconfig/ksm
|
||||
fi
|
||||
|
||||
prog=ksm
|
||||
RETVAL=0
|
||||
|
||||
# unless KSM_MAX_KERNEL_PAGES is set, let ksm munch up to half of total memory.
|
||||
default_max_kernel_pages () {
|
||||
local total pagesize
|
||||
total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
|
||||
pagesize=`getconf PAGESIZE`
|
||||
echo $[total * 1024 / pagesize / 2]
|
||||
}
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
if [ -f /sys/kernel/mm/ksm/max_kernel_pages ]; then
|
||||
KSM_MAX_KERNEL_PAGES=${KSM_MAX_KERNEL_PAGES:-`default_max_kernel_pages`}
|
||||
echo $KSM_MAX_KERNEL_PAGES > /sys/kernel/mm/ksm/max_kernel_pages
|
||||
fi
|
||||
echo 1 > /sys/kernel/mm/ksm/run
|
||||
RETVAL=$?
|
||||
[ $RETVAL = 0 ] && success $"$prog startup" || failure $"$prog startup"
|
||||
echo
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
echo 0 > /sys/kernel/mm/ksm/run
|
||||
RETVAL=$?
|
||||
[ $RETVAL = 0 ] && success $"$prog shutdown" || failure $"$prog shutdown"
|
||||
echo
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ ! -f /sys/kernel/mm/ksm/run ] ; then
|
||||
echo $"$prog not supported"
|
||||
RETVAL=1
|
||||
else if [ "$(cat /sys/kernel/mm/ksm/run 2>/dev/null)" != "1" ]; then
|
||||
echo $"$prog is not running"
|
||||
RETVAL=1
|
||||
else
|
||||
echo $"$prog is running"
|
||||
RETVAL=0
|
||||
fi; fi
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
status >/dev/null 2>&1 || exit 0
|
||||
restart
|
||||
;;
|
||||
force-reload)
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status|help}"
|
||||
RETVAL=2
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
10
ksm.service
Normal file
10
ksm.service
Normal file
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Kernel Samepage Merging
|
||||
ConditionPathExists=/sys/kernel/mm/ksm
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=-/etc/sysconfig/ksm
|
||||
ExecStart=/lib/systemd/ksmctl start
|
||||
ExecStop=/lib/systemd/ksmctl stop
|
77
ksmctl.c
Normal file
77
ksmctl.c
Normal file
@ -0,0 +1,77 @@
|
||||
/* Start/stop KSM, for systemd.
|
||||
* Copyright (C) 2009, 2011 Red Hat, Inc.
|
||||
* Written by Paolo Bonzini <pbonzini@redhat.com>.
|
||||
* Based on the original sysvinit script by Dan Kenigsberg <danken@redhat.com>
|
||||
* This file is distributed under the GNU General Public License, version 2
|
||||
* or later. */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define KSM_MAX_KERNEL_PAGES_FILE "/sys/kernel/mm/ksm/max_kernel_pages"
|
||||
#define KSM_RUN_FILE "/sys/kernel/mm/ksm/run"
|
||||
|
||||
char *program_name;
|
||||
|
||||
int usage(void)
|
||||
{
|
||||
fprintf(stderr, "Usage: %s {start|stop}\n", program_name);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int write_value(uint64_t value, char *filename)
|
||||
{
|
||||
FILE *fp;
|
||||
if (!(fp = fopen(filename, "w")) ||
|
||||
fprintf(fp, "%llu\n", (unsigned long long) value) == EOF ||
|
||||
fflush(fp) == EOF ||
|
||||
fclose(fp) == EOF)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64_t ksm_max_kernel_pages()
|
||||
{
|
||||
char *var = getenv("KSM_MAX_KERNEL_PAGES");
|
||||
char *endptr;
|
||||
uint64_t value;
|
||||
if (var && *var) {
|
||||
value = strtoll(var, &endptr, 0);
|
||||
if (value < LLONG_MAX && !*endptr)
|
||||
return value;
|
||||
}
|
||||
/* Unless KSM_MAX_KERNEL_PAGES is set, let KSM munch up to half of
|
||||
* total memory. */
|
||||
return sysconf(_SC_PHYS_PAGES) / 2;
|
||||
}
|
||||
|
||||
int start(void)
|
||||
{
|
||||
if (access(KSM_MAX_KERNEL_PAGES_FILE, R_OK) >= 0)
|
||||
write_value(ksm_max_kernel_pages(), KSM_MAX_KERNEL_PAGES_FILE);
|
||||
return write_value(1, KSM_RUN_FILE);
|
||||
}
|
||||
|
||||
int stop(void)
|
||||
{
|
||||
return write_value(0, KSM_RUN_FILE);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
program_name = argv[0];
|
||||
if (argc < 2) {
|
||||
return usage();
|
||||
} else if (!strcmp(argv[1], "start")) {
|
||||
return start();
|
||||
} else if (!strcmp(argv[1], "stop")) {
|
||||
return stop();
|
||||
} else {
|
||||
return usage();
|
||||
}
|
||||
}
|
@ -1,94 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# ksmtuned Kernel Samepage Merging (KSM) Tuning Daemon
|
||||
#
|
||||
# Author: Dan Kenigsberg <danken@redhat.com>
|
||||
#
|
||||
# Copyright 2009 Red Hat, Inc. and/or its affiliates.
|
||||
# Released under the GPL
|
||||
#
|
||||
# chkconfig: 345 85 15
|
||||
# description: The KSM tuning daemon controls whether (and with what vigor) \
|
||||
# ksm should ksm search duplicated pages.
|
||||
# processname: ksmtuned
|
||||
# config: /etc/ksmtuned.conf
|
||||
# pidfile: /var/run/ksmtuned.pid
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: ksmtuned
|
||||
# Required-Start:
|
||||
# Required-Stop:
|
||||
# Should-Start:
|
||||
# Default-Start: 3 4 5
|
||||
# Short-Description: tune the speed of ksm
|
||||
# Description: The Kernel Samepage Merging control Daemon is a simple script
|
||||
# that controls whether (and with what vigor) should ksm search duplicated
|
||||
# memory pages.
|
||||
# needs testing and ironing. contact danken@redhat.com if something breaks.
|
||||
### END INIT INFO
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
prog=ksmtuned
|
||||
ksmtuned=/usr/sbin/ksmtuned
|
||||
pidfile=${PIDFILE-/var/run/ksmtune.pid}
|
||||
RETVAL=0
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $prog: "
|
||||
daemon --pidfile=${pidfile} $ksmtuned
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $prog: "
|
||||
killproc -p ${pidfile}
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
condrestart() {
|
||||
[ -e /var/lock/subsys/$prog ] && restart || :
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status -p ${pidfile} $prog
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart|force-reload)
|
||||
restart
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
condrestart
|
||||
;;
|
||||
retune)
|
||||
pid=`cat ${pidfile} 2> /dev/null`
|
||||
RETVAL=$?
|
||||
if [ -z "$pid" ]; then
|
||||
echo $"Cannot retune, service is not running."
|
||||
else
|
||||
kill -SIGUSR1 $pid
|
||||
RETVAL=$?
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status|retune|help}"
|
||||
RETVAL=2
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
12
ksmtuned.service
Normal file
12
ksmtuned.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Kernel Samepage Merging (KSM) Tuning Daemon
|
||||
After=ksm.service
|
||||
Requires=ksm.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/ksmtuned
|
||||
ExecReload=/bin/kill -USR1 $MAINPID
|
||||
Type=forking
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
6
qemu.binfmt
Normal file
6
qemu.binfmt
Normal file
@ -0,0 +1,6 @@
|
||||
:qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-i386:
|
||||
:qemu-i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-i386:
|
||||
:qemu-arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-arm:
|
||||
:qemu-ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-ppc:
|
||||
:qemu-sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-sparc:
|
||||
:qemu-sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:/usr/bin/qemu-sh4:
|
102
qemu.init
102
qemu.init
@ -1,102 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# qemu Allow users to run non-native Linux programs by just clicking on them
|
||||
# (or typing ./file.exe)
|
||||
#
|
||||
# chkconfig: 2345 35 98
|
||||
# description: Allow users to run non-native Linux programs by just clicking \
|
||||
# on them (or typing ./file.exe)
|
||||
|
||||
. /etc/rc.d/init.d/functions
|
||||
RETVAL=0
|
||||
QEMU=/usr/bin
|
||||
|
||||
start() {
|
||||
cpu=`uname -m`
|
||||
case "$cpu" in
|
||||
i386|i486|i586|i686|i86pc|BePC)
|
||||
cpu="i386"
|
||||
;;
|
||||
"Power Macintosh"|ppc|ppc64)
|
||||
cpu="ppc"
|
||||
;;
|
||||
armv4l|armv5l)
|
||||
cpu="arm"
|
||||
;;
|
||||
sh4)
|
||||
cpu="sh4"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo -n $"Registering binary handler for qemu applications"
|
||||
/sbin/modprobe binfmt_misc &>/dev/null
|
||||
if [ "$cpu" != i386 -a -x $QEMU/qemu-i386 -a -d /usr/qemu-i386 ] ; then
|
||||
echo ":qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-i386:" > /proc/sys/fs/binfmt_misc/register
|
||||
echo ":qemu-i486:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-i386:" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ "$cpu" != arm -a -x $QEMU/qemu-arm -a -d /usr/qemu-arm ] ; then
|
||||
echo ":qemu-arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-arm:" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ "$cpu" != ppc -a -x $QEMU/qemu-ppc -a -d /usr/qemu-ppc ] ; then
|
||||
echo ":ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-ppc:" > /proc/sys/fs/binfmt_misc/register
|
||||
echo do ppc
|
||||
fi
|
||||
if [ "$cpu" != sparc -a -x $QEMU/qemu-sparc -a -d /usr/qemu-sparc ] ; then
|
||||
echo ":qemu-sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-sparc:" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
if [ "$cpu" != sh4 -a -x $QEMU/qemu-sh4 -a -d /usr/qemu-sh4 ] ; then
|
||||
echo ":qemu-sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfa\xff\xff\xff:$QEMU/qemu-sh4:" > /proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Unregistering binary handler for qemu applications"
|
||||
for a in i386 i486 ppc arm sparc sh4 ] ; do
|
||||
[ -r /proc/sys/fs/binfmt_misc/qemu-$a ] && echo "-1" >/proc/sys/fs/binfmt_misc/qemu-$a
|
||||
done
|
||||
echo
|
||||
}
|
||||
|
||||
reload() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
qemu_status() {
|
||||
if ls /proc/sys/fs/binfmt_misc/qemu-* &>/dev/null; then
|
||||
echo $"qemu binary format handlers are registered."
|
||||
return 0
|
||||
else
|
||||
echo $"qemu binary format handlers are not registered."
|
||||
return 3
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
qemu_status
|
||||
RETVAL=$?
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
condrestart)
|
||||
if qemu_status &>/dev/null; then
|
||||
stop
|
||||
start
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $prog {start|stop|status|restart|condrestart}"
|
||||
exit 1
|
||||
esac
|
||||
exit $RETVAL
|
||||
|
105
qemu.spec
105
qemu.spec
@ -1,7 +1,7 @@
|
||||
Summary: QEMU is a FAST! processor emulator
|
||||
Name: qemu
|
||||
Version: 0.15.0
|
||||
Release: 6%{?dist}
|
||||
Version: 0.15.1
|
||||
Release: 1%{?dist}
|
||||
# Epoch because we pushed a qemu-1.0 package
|
||||
Epoch: 2
|
||||
License: GPLv2+ and LGPLv2+ and BSD
|
||||
@ -19,7 +19,7 @@ URL: http://www.qemu.org/
|
||||
|
||||
Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz
|
||||
|
||||
Source1: qemu.init
|
||||
Source1: qemu.binfmt
|
||||
|
||||
# Loads kvm kernel modules at boot
|
||||
Source2: kvm.modules
|
||||
@ -28,11 +28,12 @@ Source2: kvm.modules
|
||||
Source3: 80-kvm.rules
|
||||
|
||||
# KSM control scripts
|
||||
Source4: ksm.init
|
||||
Source4: ksm.service
|
||||
Source5: ksm.sysconfig
|
||||
Source6: ksmtuned.init
|
||||
Source7: ksmtuned
|
||||
Source8: ksmtuned.conf
|
||||
Source6: ksmctl.c
|
||||
Source7: ksmtuned.service
|
||||
Source8: ksmtuned
|
||||
Source9: ksmtuned.conf
|
||||
|
||||
Source10: qemu-guest-agent.service
|
||||
Source11: 99-qemu-guest-agent.rules
|
||||
@ -210,7 +211,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release}
|
||||
Provides: kvm = 85
|
||||
Obsoletes: kvm < 85
|
||||
Requires: vgabios >= 0.6c-2
|
||||
Requires: seabios-bin
|
||||
Requires: seabios-bin >= 0.6.0-2
|
||||
Requires: /usr/share/gpxe/8086100e.rom
|
||||
Requires: /usr/share/gpxe/rtl8029.rom
|
||||
Requires: /usr/share/gpxe/pcnet32.rom
|
||||
@ -354,8 +355,8 @@ sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure
|
||||
--sysconfdir=%{_sysconfdir} \
|
||||
--audio-drv-list=pa,sdl,alsa,oss \
|
||||
--disable-strip \
|
||||
--extra-ldflags=$extraldflags \
|
||||
--extra-cflags="%{optflags}" \
|
||||
--extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
|
||||
--extra-cflags="%{optflags} -fPIE -DPIE" \
|
||||
%ifarch x86_64
|
||||
--enable-spice \
|
||||
%endif
|
||||
@ -385,8 +386,8 @@ make clean
|
||||
--audio-drv-list=pa,sdl,alsa,oss \
|
||||
--disable-kvm \
|
||||
--disable-strip \
|
||||
--extra-ldflags=$extraldflags \
|
||||
--extra-cflags="%{optflags}" \
|
||||
--extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
|
||||
--extra-cflags="%{optflags} -fPIE -DPIE" \
|
||||
--disable-xen \
|
||||
%ifarch x86_64
|
||||
--enable-spice \
|
||||
@ -401,15 +402,19 @@ echo "==="
|
||||
|
||||
make V=1 %{?_smp_mflags} $buildldflags
|
||||
|
||||
gcc %{SOURCE6} -O2 -g -o ksmctl
|
||||
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
install -D -p -m 0755 %{SOURCE4} $RPM_BUILD_ROOT%{_initddir}/ksm
|
||||
install -D -p -m 0755 %{SOURCE4} $RPM_BUILD_ROOT/lib/systemd/system/ksm.service
|
||||
install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/ksm
|
||||
install -D -p -m 0755 ksmctl $RPM_BUILD_ROOT/lib/systemd/ksmctl
|
||||
|
||||
install -D -p -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_initddir}/ksmtuned
|
||||
install -D -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT%{_sbindir}/ksmtuned
|
||||
install -D -p -m 0644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysconfdir}/ksmtuned.conf
|
||||
install -D -p -m 0755 %{SOURCE7} $RPM_BUILD_ROOT/lib/systemd/system/ksmtuned.service
|
||||
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
|
||||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/modules
|
||||
@ -433,7 +438,6 @@ make prefix="${RPM_BUILD_ROOT}%{_prefix}" \
|
||||
datadir="${RPM_BUILD_ROOT}%{_datadir}/%{name}" \
|
||||
sysconfdir="${RPM_BUILD_ROOT}%{_sysconfdir}" install
|
||||
chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/*
|
||||
install -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initddir}/qemu
|
||||
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
|
||||
@ -472,6 +476,30 @@ ln -s ../vgabios/VGABIOS-lgpl-latest.stdvga.bin %{buildroot}/%{_datadir}/%{name}
|
||||
ln -s ../vgabios/VGABIOS-lgpl-latest.vmware.bin %{buildroot}/%{_datadir}/%{name}/vgabios-vmware.bin
|
||||
ln -s ../seabios/bios.bin %{buildroot}/%{_datadir}/%{name}/bios.bin
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT%{_exec_prefix}/lib/binfmt.d
|
||||
for i in dummy \
|
||||
%ifnarch %{ix86} x86_64
|
||||
qemu-i386 \
|
||||
%endif
|
||||
%if !%{with_x86only}
|
||||
%ifnarch arm
|
||||
qemu-arm \
|
||||
%endif
|
||||
%ifnarch ppc ppc64
|
||||
qemu-ppc \
|
||||
%endif
|
||||
%ifnarch sparc sparc64
|
||||
qemu-sparc \
|
||||
%endif
|
||||
%ifnarch sh4
|
||||
qemu-sh4 \
|
||||
%endif
|
||||
%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}
|
||||
|
||||
# For the qemu-guest-agent subpackage install the systemd
|
||||
# service and udev rules.
|
||||
@ -498,36 +526,28 @@ getent passwd qemu >/dev/null || \
|
||||
useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
||||
-c "qemu user" qemu
|
||||
|
||||
/sbin/chkconfig --add ksm
|
||||
/sbin/chkconfig --add ksmtuned
|
||||
/bin/systemctl --global enable ksm.service
|
||||
/bin/systemctl --global enable ksmtuned.service
|
||||
|
||||
%preun common
|
||||
if [ $1 -eq 0 ]; then
|
||||
/sbin/service ksmtuned stop &>/dev/null || :
|
||||
/sbin/chkconfig --del ksmtuned
|
||||
/sbin/service ksm stop &>/dev/null || :
|
||||
/sbin/chkconfig --del ksm
|
||||
/bin/systemctl --system stop ksmtuned.service &>/dev/null || :
|
||||
/bin/systemctl --system stop ksm.service &>/dev/null || :
|
||||
/bin/systemctl --global disable ksmtuned.service
|
||||
/bin/systemctl --global disable ksm.service
|
||||
fi
|
||||
|
||||
%postun common
|
||||
if [ $1 -ge 1 ]; then
|
||||
/sbin/service ksm condrestart &>/dev/null || :
|
||||
/sbin/service ksmtuned condrestart &>/dev/null || :
|
||||
/bin/systemctl --system try-restart ksm.service &>/dev/null || :
|
||||
/bin/systemctl --system try-restart ksmtuned.service &>/dev/null || :
|
||||
fi
|
||||
|
||||
%post user
|
||||
/sbin/chkconfig --add qemu
|
||||
|
||||
%preun user
|
||||
if [ $1 -eq 0 ]; then
|
||||
/sbin/service qemu stop &>/dev/null || :
|
||||
/sbin/chkconfig --del qemu
|
||||
fi
|
||||
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
||||
|
||||
%postun user
|
||||
if [ $1 -ge 1 ]; then
|
||||
/sbin/service qemu condrestart &>/dev/null || :
|
||||
fi
|
||||
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
@ -552,9 +572,10 @@ fi
|
||||
%{_mandir}/man8/qemu-nbd.8*
|
||||
%{_bindir}/qemu-nbd
|
||||
%config(noreplace) %{_sysconfdir}/sasl2/qemu.conf
|
||||
%{_initddir}/ksm
|
||||
/lib/systemd/system/ksm.service
|
||||
/lib/systemd/ksmctl
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/ksm
|
||||
%{_initddir}/ksmtuned
|
||||
/lib/systemd/system/ksmtuned.service
|
||||
%{_sbindir}/ksmtuned
|
||||
%config(noreplace) %{_sysconfdir}/ksmtuned.conf
|
||||
%dir %{_sysconfdir}/qemu
|
||||
@ -568,7 +589,7 @@ fi
|
||||
|
||||
%files user
|
||||
%defattr(-,root,root)
|
||||
%{_initddir}/qemu
|
||||
%{_exec_prefix}/lib/binfmt.d/qemu-*.conf
|
||||
%{_bindir}/qemu-i386
|
||||
%{_bindir}/qemu-x86_64
|
||||
%if !%{with_x86only}
|
||||
@ -677,6 +698,14 @@ fi
|
||||
%{_mandir}/man1/qemu-img.1*
|
||||
|
||||
%changelog
|
||||
* Fri Oct 21 2011 Justin M. Forbes <jforbes@redhat.com> - 2:0.15.1-1
|
||||
- Require seabios-bin >= 0.6.0-2 (#741992)
|
||||
- Replace init scripts with systemd units (#741920)
|
||||
- Update to 0.15.1 stable upstream
|
||||
|
||||
* Fri Oct 21 2011 Paul Moore <pmoore@redhat.com>
|
||||
- Enable full relro and PIE (rhbz #738812)
|
||||
|
||||
* Wed Oct 12 2011 Daniel P. Berrange <berrange@redhat.com> - 2:0.15.0-6
|
||||
- Add BR on ceph-devel to enable RBD block device
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user