summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kernels/xen/09_xen8
-rw-r--r--kernels/xen/PKGBUILD53
-rw-r--r--kernels/xen/archinit.patch450
-rw-r--r--kernels/xen/gdbsx-glibc-2.17.patch10
-rw-r--r--kernels/xen/parabolainit.patch423
-rw-r--r--kernels/xen/timer-add-lrt-lm.patch11
-rw-r--r--kernels/xen/tmpfiles.d-xen.conf1
-rw-r--r--kernels/xen/xen.install11
-rw-r--r--kernels/xen/xenstored.service5
9 files changed, 65 insertions, 907 deletions
diff --git a/kernels/xen/09_xen b/kernels/xen/09_xen
index 42309149c..43d050904 100644
--- a/kernels/xen/09_xen
+++ b/kernels/xen/09_xen
@@ -17,7 +17,13 @@ CLASS="--class gnu-linux --class gnu --class os"
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
else
- OS="${GRUB_DISTRIBUTOR}"
+ if [ "${GRUB_DISTRIBUTOR}" = "Parabola" ] ; then
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
+ elif [ "${GRUB_DISTRIBUTOR}" = "parabola" ] ; then
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux-libre"
+ else
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
+ fi
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr '[A-Z]' '[a-z]' | cut -d' ' -f1) ${CLASS}"
fi
diff --git a/kernels/xen/PKGBUILD b/kernels/xen/PKGBUILD
index 33a2dccb1..42ff5aaa5 100644
--- a/kernels/xen/PKGBUILD
+++ b/kernels/xen/PKGBUILD
@@ -1,61 +1,69 @@
# Maintainer: Limao Luo <luolimao+AUR@gmail.com>
# Contributor: Luceo
# Contributor: Revellion
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgname=xen
-pkgver=4.2.0
-pkgrel=12
+pkgver=4.2.1
+pkgrel=4
pkgdesc="Xen Hypervisor & Tools"
arch=(i686 x86_64)
-url=http://xen.org
-license=(GPL)
+url=http://www.xen.org/
+license=(GPL2)
depends=(bin86 bluez bridge-utils glib2 gnutls libaio libjpeg-turbo libpng lzo2 sdl wget vde2 yajl)
[[ "$CARCH" == "x86_64" ]] && depends+=(lib32-glibc)
makedepends=(dev86 git iasl markdown ocaml-findlib)
optdepends=('xen-docs: Official Xen Documentation')
conflicts=(xen-4.2{,-testing-hg} xen-{gdbsx,hg-unstable,rc})
-backup=(etc/$pkgname/xend-{config,pci-{permissive,quirks}}.sxp etc/modules-load.d/$pkgname.conf)
-options=(!buildflags !emptydirs !strip)
+backup=(etc/$pkgname/xend-{config,pci-{permissive,quirks}}.sxp etc/modules-load.d/$pkgname.conf etc/$pkgname/xl.conf)
+options=(!buildflags !strip)
install=$pkgname.install
source=(http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
09_xen
- archinit.patch
+ gdbsx-glibc-2.17.patch
texi2html.patch
+ timer-add-lrt-lm.patch
proc-xen.mount
var-lib-xenstored.mount
xenconsoled.service
xendomains.service
xendomU@.service
xenstored.service
+ tmpfiles.d-$pkgname.conf
$pkgname.conf)
-sha256sums=('43f4a086e4e0330145a27b7ace8365c42b5afbc95cefadafe067be91bd3e5cfb'
- 'e8dd740c0f18ea41bb80afad36ca981669e6ab86eb3848fbb40f0dff3b8aa3e6'
- '35900d3ae2f2cc27834b8a7cb11f134b582f01bde033598c407c8e58ad58fdb9'
+sha256sums=('fb8df5827ce3e2d2d3b078d9e5afde502beb5e7ab9442e51a94087061bd450c6'
+ 'cee994b4c788808c0148caeb5f798cc98b9268bb9f04448ff7c3ed479bfb7821'
+ 'f78593f1b3b4d6201644ecce77c6dd5bb7378dc53eff7cc940a80e3cd1bf72f4'
'08e5bf65c833a608470ad118ce369e32f9c267e1787f2900c06708af321225e6'
+ '4d55132a8e47fbfe415bf3c88824b6dcf48e4da1fff86d2b07e0c2c9e42c0a63'
'139eed988bfaf8edc8ccdfd0b668382bd63db48ce17be91776182a7e28e9d88c'
'c19146931c6ab8e53092bd9b2ebbfda5c76fd22ad3b1d42dcda3dd1b61f123ff'
'ba8f1c10b3f3df1f9fda0782a691fed67661e36f49be74471c86850639fee3ba'
'0bd45d9de6456c4f9adf32e726f2db3a3cd0423c1d161b442e8a1666d2e68e3f'
'1862a14607582d14247b74435dfb16411fd68904aa19e2a93c5e6ac301169d3c'
- '0a1960fd51a2f4e8e856c7392e33cc9607ac4a80e9d68b316b6a4281f34728e0'
+ 'a0ad5a7d9262c2d22a8875a47cff2c821885ddb65c0c9eb7518befb0f42fcce7'
+ '6bddcea43922f72a1c8ab556c3f20067d7f817220bcd9c1c61d18f3a58dfaa9d'
'50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c')
-sha512sums=('4fb56c79d722fb307bc657f16d02079c6636427e7650c4354193632d38d2d1db8e588f844ff0ca6e757c108ed639a528565ec9fc7c00bb4d5b6fbc9d122d8a70'
- '23402f54e1a40c058566d6c0f18ac2e89ea85eea8bedf669f059e30ad76b3b90d81b7ff34d8e8c07ab4fea7f82ae32c80a66df2fd95fb3b296e982cdcc93d0b6'
- '9ce0c009f055c9be42435be9eeeec980285cbef4fb52cbd8d81f76ae1e7760575b5c9f958e3d44612d2740eafa1e18ee48f30a5571f0c06bd031d4e102abb22f'
+sha512sums=('fe27a965e2b34035bd025482eda9fc4d4e82523c929323fd30813367d5ffbe2fa1ed3d7d4479f2632e8b5625972448b7bd6a7768e8dc1dcd1b6747d281cc1a9e'
+ '9f8f53ffbf19dbd56fcc56e994385b99fff537a3e295756c1e9d886f7a5f454577ec20bbd7c26516e4f80f1cf24e6d5af7dae251e32470872128eb52f6e1866f'
+ 'fb7dbd3d9ca610c0b476cf7202e4bd051d85de2de8e92c0c3ac59dc327bc47820eddfa67a8dc01fde21d1a3209f83b6f8533bdc7ecd0634ff503f2fac61fee6d'
'562f12e723116c705fc9d0fd4a2afd382a93465be7f616d1e20e87daf39c11029fbc57ec46e38d3ff61c482fdc9ac4df9e07600a77515867d9da6f0faf3da7f9'
+ 'a0baec71e9240fa9a72aa67e0783fe1200afb2ff61c625f5e96e536a8839213ada9908e776ed243a866065084f61a06d286ae2488c158730c1dd2d424cf4b0dc'
'6afdf16e32bb837faf6333334f86855a746f1f46fee9673a4fddc62eecf41f9856bc34397807203c6f5071f0b1ce74532214084042154585c0d39514450db25c'
'00e340f4d3635e3850ca24baea1da08467523c17815feb74161e18397b607fef904db2165fd9bf4632a6e8a6e37aeddad4e56965e1c99b5213c98b3f9afc6aad'
'27d7289a8bf6e15bddcb360287001429205b57ee4d791b0337328879ffd76b8e375e3c1dd0de0ab57dd4bd1e2a2bc1748c44cc05b2528632a3e6af60f626de9d'
'f00034f8b826b828659a0177f0a6454113c625e69a817dfe32e461767f6643e0288bfc2a22d23358504240df627af6e3b8f5ffa0077e241e590b33d3f252e74c'
'31fefc739f0f0e568df03dcf9aa02e0265ff4fbf77e7ae62d6a318fcc34e87a0ffd3fc4b84ff8c9cc95511e2e74b7b61e6b5471cd0b3cd47ee0da86b1ea90268'
- '87aceb1c646e49940bfbc47da85d7e20c9436449b152c0842b357033f66aba68a590f1d56c4a3f437d093047a611f28fd67d381692d9b21a582e598ecf1a72a2'
+ 'd93509c53a3f80ab266f75a54633bba070a7ef48f629168f074c7c37d36ee9c98d2d30703bed41b1c163d960f2a3ac9f435b335db6e7b8a6e9c97044ede8b76e'
+ '97fb10771fad1c59c1168ede6e4a37710937821c0a053e77df7907b0a33137a190731b0130fb1d373c196a04450360a9cd3202617a77b1726613c523613cd194'
'ccaa2ff82e4203b11e5dec9aeccac2e165721d8067e0094603ecaa7a70b78c9eb9e2287a32687883d26b6ceae6f8d2ad7636ddf949eb658637b3ceaa6999711b')
build() {
cd "$srcdir"/$pkgname-$pkgver/
- patch -Np1 -i ../archinit.patch
+ patch -Np1 -i ../gdbsx-glibc-2.17.patch
patch -Np1 -i ../texi2html.patch
+ patch -Np1 -i ../timer-add-lrt-lm.patch
./autogen.sh
./configure PYTHON=/usr/bin/python2
@@ -64,14 +72,13 @@ build() {
package() {
cd "$srcdir"/$pkgname-$pkgver/
- make PYTHON=python2 DESTDIR="$pkgdir" install-xen install-tools
- # stubdom won't build with multiple makethreads
- make -j1 PYTHON=python2 DESTDIR="$pkgdir" install-stubdom
+ make DESTDIR="$pkgdir" LANG=C PYTHON=python2 install-{xen,tools,stubdom}
cd ../
for f in ${source[@]}; do
[[ $f =~ .mount || $f =~ .service ]] && install -Dm644 $f "$pkgdir"/usr/lib/systemd/system/$f
done
+ install -Dm644 tmpfiles.d-$pkgname.conf "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf
install -Dm644 $pkgname.conf "$pkgdir"/etc/modules-load.d/$pkgname.conf
install -Dm755 09_xen "$pkgdir"/etc/grub.d/09_xen
@@ -108,9 +115,9 @@ package() {
# qemu stuff (unused or available from upstream)
rm -rf usr/share/xen/man
rm -rf usr/bin/qemu-*-xen
- for file in bios.bin openbios-sparc32 openbios-sparc64 ppc_rom.bin \
- pxe-e1000.bin pxe-ne2k_pci.bin pxe-pcnet.bin pxe-rtl8139.bin \
- vgabios.bin vgabios-cirrus.bin video.x openbios-ppc bamboo.dtb; do
+ for file in bamboo.dtb bios.bin openbios-ppc openbios-sparc32 openbios-sparc64 \
+ ppc_rom.bin pxe-e1000.bin pxe-ne2k_pci.bin pxe-pcnet.bin pxe-rtl8139.bin \
+ vgabios-cirrus.bin vgabios.bin video.x; do
rm -f usr/share/xen/qemu/$file
done
@@ -119,4 +126,6 @@ package() {
# Fix errors from deprecated xend
rm etc/udev/rules.d/xend.rules
+
+ rmdir usr/local/etc etc/xen/auto var/xen/dump var/lock/subsys usr/share/doc var/lib/xen/xenpaging var/run/xend/boot var/log/xen
}
diff --git a/kernels/xen/archinit.patch b/kernels/xen/archinit.patch
deleted file mode 100644
index f5bece6e2..000000000
--- a/kernels/xen/archinit.patch
+++ /dev/null
@@ -1,450 +0,0 @@
---- a/tools/hotplug/Linux/init.d/xencommons 2011-07-03 03:08:44.953747064 -0700
-+++ b/tools/hotplug/Linux/init.d/xencommons 2011-07-05 13:47:54.627029164 -0700
-@@ -17,6 +17,8 @@
- # Short-Description: Start/stop xenstored and xenconsoled
- # Description: Starts and stops the daemons neeeded for xl/xend
- ### END INIT INFO
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-
- if [ -d /etc/sysconfig ]; then
- xencommons_config=/etc/sysconfig
-@@ -26,7 +28,7 @@
-
- test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
-
--XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
-+XENCONSOLED_PIDFILE=/run/daemons/xenconsoled.pid
- shopt -s extglob
-
- # not running in Xen dom0 or domU
-@@ -69,7 +71,7 @@
- modprobe pciback 2>/dev/null
- modprobe xen-acpi-processor 2>/dev/null
- modprobe blktap2 2>/dev/null || modprobe blktap 2>/dev/null
-- mkdir -p /var/run/xen
-+ #mkdir -p /var/run/xen
-
- if ! `xenstore-read -s / >/dev/null 2>&1`
- then
-@@ -78,55 +80,66 @@
- test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
-
- if [ -n "$XENSTORED" ] ; then
-- echo -n Starting $XENSTORED...
-- $XENSTORED --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
-+ #echo -n Starting $XENSTORED...
-+ stat_busy "Starting $XENSTORED"
-+ $XENSTORED --pid-file /run/daemons/xenstored.pid $XENSTORED_ARGS
- elif [ -x /usr/sbin/oxenstored ] ; then
-- echo -n Starting oxenstored...
-- /usr/sbin/oxenstored --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
-+ #echo -n Starting oxenstored...
-+ stat_busy "Starting oxenstored"
-+ /usr/sbin/oxenstored --pid-file /run/daemons/xenstored.pid $XENSTORED_ARGS
- elif [ -x /usr/sbin/xenstored ] ; then
-- echo -n Starting C xenstored...
-- /usr/sbin/xenstored --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
-+ #echo -n Starting C xenstored...
-+ stat_busy "Starting C xenstored"
-+ /usr/sbin/xenstored --pid-file /run/daemons/xenstored.pid $XENSTORED_ARGS
- else
-- echo "No xenstored found"
-+ #echo "No xenstored found"
-+ stat_fail
- exit 1
- fi
-
- # Wait for xenstored to actually come up, timing out after 30 seconds
- while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do
-- echo -n .
-+ #echo -n .
- time=$(($time+1))
- sleep 1
- done
-- echo
-+ #echo
-
- # Exit if we timed out
- if ! [ $time -lt $timeout ] ; then
-- echo Could not start xenstored
-+ #echo Could not start xenstored
-+ stat_fail
- exit 1
- fi
-
-- echo Setting domain 0 name...
-+ #echo Setting domain 0 name...
-+ stat_busy "Setting domain0 name"
- xenstore-write "/local/domain/0/name" "Domain-0"
- fi
-
-- echo Starting xenconsoled...
-+ #echo Starting xenconsoled...
-+ stat_busy "Starting xenconsoled"
- test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
- xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
- test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
- test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
-- echo Starting QEMU as disk backend for dom0
-+ #echo Starting QEMU as disk backend for dom0
-+ stat_busy "Starting QEMU as disk backend for dom0"
- test -z "$QEMU_XEN" && QEMU_XEN=/usr/lib/xen/bin/qemu-system-i386
- $QEMU_XEN -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null
-+ stat_done
- }
- do_stop () {
-- echo Stopping xenconsoled
-+ #echo Stopping xenconsoled
-+ stat_busy "Stopping xenconsoled"
- if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then
- kill $pid
- while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done
- rm -f $XENCONSOLED_PIDFILE
- fi
-+ stat_done
-
-- echo WARNING: Not stopping xenstored, as it cannot be restarted.
-+ #echo WARNING: Not stopping xenstored, as it cannot be restarted.
- }
-
- case "$1" in
---- a/tools/hotplug/Linux/init.d/xend 2011-07-03 03:08:44.953747064 -0700
-+++ b/tools/hotplug/Linux/init.d/xend 2011-07-05 01:47:40.981951191 -0700
-@@ -18,6 +18,10 @@
- # Description: Starts and stops the Xen control daemon.
- ### END INIT INFO
-
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
-+
- shopt -s extglob
-
- # Wait for Xend to be up
-@@ -37,23 +41,30 @@
- case "$1" in
- start)
- if [ -z "`ps -C xenconsoled -o pid=`" ]; then
-- echo "xencommons should be started first."
-+ printhl "xencommons should be started first."
- exit 1
- fi
- # mkdir shouldn't be needed as most distros have this already created. Default to using subsys.
- # See docs/misc/distro_mapping.txt
-- mkdir -p /var/lock
-- if [ -d /var/lock/subsys ] ; then
-- touch /var/lock/subsys/xend
-+ if [ -d /run/lock/subsys ] ; then
-+ touch /run/lock/subsys/xend
- else
-- touch /var/lock/xend
-+ touch /run/lock/xend
- fi
-+ stat_busy "Starting xend"
- xend start
- await_daemons_up
-+ stat_done
-+ add_daemon xend
- ;;
-+
-+
- stop)
-+ stat_busy "Stopping xend"
- xend stop
-- rm -f /var/lock/subsys/xend /var/lock/xend
-+ rm -f /run/lock/xend /var/lock/xend
-+ stat_done
-+ rm_daemon xend
- ;;
- status)
- xend status
-@@ -62,8 +73,10 @@
- xend reload
- ;;
- restart|force-reload)
-+ stat_busy "Restarting xend"
- xend restart
- await_daemons_up
-+ stat_done
- ;;
- *)
- # do not advertise unreasonable commands that there is no reason
---- a/tools/hotplug/Linux/init.d/xendomains 2011-07-03 03:08:44.953747064 -0700
-+++ b/tools/hotplug/Linux/init.d/xendomains 2011-07-05 13:46:36.208222760 -0700
-@@ -26,6 +26,9 @@
- # Description: Start / stop domains automatically when domain 0
- # boots / shuts down.
- ### END INIT INFO
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
-
- CMD=xm
- $CMD list &> /dev/null
-@@ -46,93 +49,52 @@
- exit 0
- fi
-
--# See docs/misc/distro_mapping.txt
--if [ -d /var/lock/subsys ]; then
-- LOCKFILE=/var/lock/subsys/xendomains
--else
-- LOCKFILE=/var/lock/xendomains
--fi
--
--if [ -d /etc/sysconfig ]; then
-- XENDOM_CONFIG=/etc/sysconfig/xendomains
--else
-- XENDOM_CONFIG=/etc/default/xendomains
--fi
-+LOCKFILE=/run/lock/xendomains
-+XENDOM_CONFIG=/etc/default/xendomains
-
--test -r $XENDOM_CONFIG || { echo "$XENDOM_CONFIG not existing";
-+test -r $XENDOM_CONFIG || {
-+ printhl "$XENDOM_CONFIG not existing";
- if [ "$1" = "stop" ]; then exit 0;
- else exit 6; fi; }
-
- . $XENDOM_CONFIG
-
--# Use the SUSE rc_ init script functions;
--# emulate them on LSB, RH and other systems
--if test -e /etc/rc.status; then
-- # SUSE rc script library
-- . /etc/rc.status
--else
-- _cmd=$1
-- declare -a _SMSG
-- if test "${_cmd}" = "status"; then
-+_cmd=$1
-+declare -a _SMSG
-+if test "${_cmd}" = "status"; then
- _SMSG=(running dead dead unused unknown)
- _RC_UNUSED=3
-- else
-+else
- _SMSG=(done failed failed missed failed skipped unused failed failed)
- _RC_UNUSED=6
-- fi
-- if test -e /etc/init.d/functions; then
-- # REDHAT
-- . /etc/init.d/functions
-- echo_rc()
-- {
-- #echo -n " [${_SMSG[${_RC_RV}]}] "
-- if test ${_RC_RV} = 0; then
-- success " [${_SMSG[${_RC_RV}]}] "
-- else
-- failure " [${_SMSG[${_RC_RV}]}] "
-- fi
-- }
-- elif test -e /lib/lsb/init-functions; then
-- # LSB
-- . /lib/lsb/init-functions
-- if alias log_success_msg >/dev/null 2>/dev/null; then
-- echo_rc()
-- {
-- echo " [${_SMSG[${_RC_RV}]}] "
-- }
-- else
-- echo_rc()
-- {
-- if test ${_RC_RV} = 0; then
-- log_success_msg " [${_SMSG[${_RC_RV}]}] "
-- else
-- log_failure_msg " [${_SMSG[${_RC_RV}]}] "
-- fi
-- }
-- fi
-- else
-- # emulate it
-- echo_rc()
-- {
-- echo " [${_SMSG[${_RC_RV}]}] "
-- }
-- fi
-- rc_reset() { _RC_RV=0; }
-- rc_failed()
-- {
-+fi
-+
-+
-+
-+echo_rc() {
-+ echo
-+ printhl "Return Status: ${_SMSG[${_RC_RV}]}"
-+}
-+
-+
-+rc_reset() { _RC_RV=0; }
-+
-+
-+rc_failed() {
- if test -z "$1"; then
-- _RC_RV=1;
-+ _RC_RV=1;
- elif test "$1" != "0"; then
-- _RC_RV=$1;
-- fi
-+ _RC_RV=$1;
-+ fi
- return ${_RC_RV}
-- }
-- rc_check()
-- {
-+}
-+
-+rc_check() {
- return rc_failed $?
-- }
-- rc_status()
-- {
-+}
-+
-+
-+rc_status() {
- rc_failed $?
- if test "$1" = "-r"; then _RC_RV=0; shift; fi
- if test "$1" = "-s"; then rc_failed 5; echo_rc; rc_failed 3; shift; fi
-@@ -140,26 +102,24 @@
- if test "$1" = "-v"; then echo_rc; shift; fi
- if test "$1" = "-r"; then _RC_RV=0; shift; fi
- return ${_RC_RV}
-- }
-- rc_exit() { exit ${_RC_RV}; }
-- rc_active()
-- {
-+}
-+
-+
-+rc_exit() { exit ${_RC_RV}; }
-+
-+
-+rc_active() {
- if test -z "$RUNLEVEL"; then read RUNLEVEL REST < <(/sbin/runlevel); fi
- if test -e /etc/init.d/S[0-9][0-9]${1}; then return 0; fi
- return 1
-- }
--fi
-+}
-
--if ! which usleep >&/dev/null
--then
-- usleep()
-- {
-- if [ -n "$1" ]
-- then
-- sleep $(( $1 / 1000000 ))
-- fi
-- }
--fi
-+usleep() {
-+ if [ -n "$1" ]
-+ then
-+ sleep $(( $1 / 1000000 ))
-+ fi
-+}
-
- # Reset status of this service
- rc_reset
-@@ -240,10 +200,12 @@
- start()
- {
- if [ -f $LOCKFILE ]; then
-- echo -e "xendomains already running (lockfile exists)"
-+ stat_busy "xendomains already running (lockfile exists)"
-+ stat_fail
- return;
- fi
-
-+ printhl "Starting Xen Domains"
- saved_domains=" "
- if [ "$XENDOMAINS_RESTORE" = "true" ] &&
- contains_something "$XENDOMAINS_SAVE"
-@@ -304,6 +266,7 @@
- fi
- done
- fi
-+ add_daemon xendomains
- }
-
- all_zombies()
-@@ -357,7 +320,7 @@
- if test "$XENDOMAINS_AUTO_ONLY" = "true"; then
- rdnames
- fi
-- echo -n "Shutting down Xen domains:"
-+ printhl "Shutting down Xen domains"
- name=;id=
- while read LN; do
- parseln "$LN" || continue
-@@ -470,6 +433,7 @@
- rm -f $LOCKFILE
-
- exec 2>&3
-+ rm_daemon xendomains
- }
-
- check_domain_up()
---- a/tools/hotplug/Linux/init.d/xen-watchdog 2011-07-03 03:08:44.957080397 -0700
-+++ b/tools/hotplug/Linux/init.d/xen-watchdog 2011-07-05 13:20:22.515289867 -0700
-@@ -17,49 +17,32 @@
- ### END INIT INFO
- #
-
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
- DAEMON=/usr/sbin/xenwatchdogd
- base=$(basename $DAEMON)
-+initname="xen-watchdog"
-
--# Source function library.
--if [ -e /etc/init.d/functions ] ; then
-- . /etc/init.d/functions
--elif [ -e /lib/lsb/init-functions ] ; then
-- . /lib/lsb/init-functions
-- success () {
-- log_success_msg $*
-- }
-- failure () {
-- log_failure_msg $*
-- }
--else
-- success () {
-- echo $*
-- }
-- failure () {
-- echo $*
-- }
--fi
-
- start() {
- local r
-- echo -n $"Starting domain watchdog daemon: "
-+ stat_busy "Starting domain watchdog daemon"
-
- $DAEMON 30 15
- r=$?
-- [ "$r" -eq 0 ] && success $"$base startup" || failure $"$base startup"
-- echo
-+ [ "$r" -eq 0 ] && stat_done ; add_daemon $initname || stat_fail
-
- return $r
- }
-
- stop() {
- local r
-- echo -n $"Stopping domain watchdog daemon: "
-+ stat_busy "Stopping domain watchdog daemon"
-
- killall -USR1 $base 2>/dev/null
- r=$?
-- [ "$r" -eq 0 ] && success $"$base stop" || failure $"$base stop"
-- echo
-+ [ "$r" -eq 0 ] && stat_done ; rm_daemon $initname || stat_fail
-
- return $r
- }
diff --git a/kernels/xen/gdbsx-glibc-2.17.patch b/kernels/xen/gdbsx-glibc-2.17.patch
new file mode 100644
index 000000000..310010180
--- /dev/null
+++ b/kernels/xen/gdbsx-glibc-2.17.patch
@@ -0,0 +1,10 @@
+--- a/tools/debugger/gdbsx/xg/xg_main.c
++++ b/tools/debugger/gdbsx/xg/xg_main.c
+@@ -34,6 +34,7 @@
+ * XGTRC(): generic trace utility
+ */
+
++#include <sys/types.h>
+ #include <stdio.h>
+ #include <stddef.h>
+ #include <stdarg.h>
diff --git a/kernels/xen/parabolainit.patch b/kernels/xen/parabolainit.patch
deleted file mode 100644
index 645a66edd..000000000
--- a/kernels/xen/parabolainit.patch
+++ /dev/null
@@ -1,423 +0,0 @@
-diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xencommons xen-4.1.1//tools/hotplug/Linux/init.d/xencommons
---- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xencommons 2011-07-03 03:08:44.953747064 -0700
-+++ xen-4.1.1//tools/hotplug/Linux/init.d/xencommons 2011-07-05 13:47:54.627029164 -0700
-@@ -18,6 +18,9 @@
- # Description: Starts and stops the daemons neeeded for xl/xend
- ### END INIT INFO
-
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
- if [ -d /etc/sysconfig ]; then
- xencommons_config=/etc/sysconfig
- else
-@@ -26,7 +29,7 @@
-
- test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
-
--XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
-+XENCONSOLED_PIDFILE=/run/daemons/xenconsoled.pid
- shopt -s extglob
-
- if test "x$1" = xstart && \
-@@ -51,8 +54,9 @@
- rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
- test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
-
-- echo -n Starting xenstored...
-- xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
-+ #echo -n Starting xenstored...
-+ stat_busy "Starting xenstored"
-+ xenstored --pid-file=/run/daemons/xenstored.pid $XENSTORED_ARGS
-
- # Wait for xenstored to actually come up, timing out after 30 seconds
- while [ $time -lt $timeout ] && ! `xenstore-read -s / >/dev/null 2>&1` ; do
-@@ -60,33 +64,39 @@
- time=$(($time+1))
- sleep 1
- done
-- echo
--
- # Exit if we timed out
- if ! [ $time -lt $timeout ] ; then
-- echo Could not start xenstored
-+ #echo Could not start xenstored
-+ stat_fail
- exit 1
- fi
-+ stat_done
-
-- echo Setting domain 0 name...
-+ stat_busy "Setting domain 0 name..."
- xenstore-write "/local/domain/0/name" "Domain-0"
-+ stat_done
- fi
-
-- echo Starting xenconsoled...
-+ #echo Starting xenconsoled...
-+ stat_busy "Starting xenconsoled"
- test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
- xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
- test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
- test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
-+ stat_done
-+ add_daemon xencommons
- }
- do_stop () {
-- echo Stopping xenconsoled
-+ stat_busy "Stopping xenconsoled"
- if read 2>/dev/null <$XENCONSOLED_PIDFILE pid; then
- kill $pid
- while kill -9 $pid >/dev/null 2>&1; do sleep 0.1; done
- rm -f $XENCONSOLED_PIDFILE
- fi
-+ stat_done
-
-- echo WARNING: Not stopping xenstored, as it cannot be restarted.
-+ printhl "WARNING: Not stopping xenstored, as it cannot be restarted."
-+ rm_daemon xencommons
- }
-
- case "$1" in
-diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xend xen-4.1.1//tools/hotplug/Linux/init.d/xend
---- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xend 2011-07-03 03:08:44.953747064 -0700
-+++ xen-4.1.1//tools/hotplug/Linux/init.d/xend 2011-07-05 01:47:40.981951191 -0700
-@@ -18,6 +18,10 @@
- # Description: Starts and stops the Xen control daemon.
- ### END INIT INFO
-
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
-+
- shopt -s extglob
-
- # Wait for Xend to be up
-@@ -37,23 +41,30 @@
- case "$1" in
- start)
- if [ -z "`ps -C xenconsoled -o pid=`" ]; then
-- echo "xencommons should be started first."
-+ printhl "xencommons should be started first."
- exit 1
- fi
- # mkdir shouldn't be needed as most distros have this already created. Default to using subsys.
- # See docs/misc/distro_mapping.txt
-- mkdir -p /var/lock
-- if [ -d /var/lock/subsys ] ; then
-- touch /var/lock/subsys/xend
-+ if [ -d /run/lock/subsys ] ; then
-+ touch /run/lock/subsys/xend
- else
-- touch /var/lock/xend
-+ touch /run/lock/xend
- fi
-+ stat_busy "Starting xend"
- xend start
- await_daemons_up
-+ stat_done
-+ add_daemon xend
- ;;
-+
-+
- stop)
-+ stat_busy "Stopping xend"
- xend stop
-- rm -f /var/lock/subsys/xend /var/lock/xend
-+ rm -f /run/lock/xend /var/lock/xend
-+ stat_done
-+ rm_daemon xend
- ;;
- status)
- xend status
-@@ -62,8 +73,10 @@
- xend reload
- ;;
- restart|force-reload)
-+ stat_busy "Restarting xend"
- xend restart
- await_daemons_up
-+ stat_done
- ;;
- *)
- # do not advertise unreasonable commands that there is no reason
-diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xendomains xen-4.1.1//tools/hotplug/Linux/init.d/xendomains
---- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xendomains 2011-07-03 03:08:44.953747064 -0700
-+++ xen-4.1.1//tools/hotplug/Linux/init.d/xendomains 2011-07-05 13:46:36.208222760 -0700
-@@ -26,6 +26,9 @@
- # Description: Start / stop domains automatically when domain 0
- # boots / shuts down.
- ### END INIT INFO
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
-
- CMD=xm
- $CMD list &> /dev/null
-@@ -46,93 +49,52 @@
- exit 0
- fi
-
--# See docs/misc/distro_mapping.txt
--if [ -d /var/lock/subsys ]; then
-- LOCKFILE=/var/lock/subsys/xendomains
--else
-- LOCKFILE=/var/lock/xendomains
--fi
--
--if [ -d /etc/sysconfig ]; then
-- XENDOM_CONFIG=/etc/sysconfig/xendomains
--else
-- XENDOM_CONFIG=/etc/default/xendomains
--fi
-+LOCKFILE=/run/lock/xendomains
-+XENDOM_CONFIG=/etc/default/xendomains
-
--test -r $XENDOM_CONFIG || { echo "$XENDOM_CONFIG not existing";
-+test -r $XENDOM_CONFIG || {
-+ printhl "$XENDOM_CONFIG not existing";
- if [ "$1" = "stop" ]; then exit 0;
- else exit 6; fi; }
-
- . $XENDOM_CONFIG
-
--# Use the SUSE rc_ init script functions;
--# emulate them on LSB, RH and other systems
--if test -e /etc/rc.status; then
-- # SUSE rc script library
-- . /etc/rc.status
--else
-- _cmd=$1
-- declare -a _SMSG
-- if test "${_cmd}" = "status"; then
-+_cmd=$1
-+declare -a _SMSG
-+if test "${_cmd}" = "status"; then
- _SMSG=(running dead dead unused unknown)
- _RC_UNUSED=3
-- else
-+else
- _SMSG=(done failed failed missed failed skipped unused failed failed)
- _RC_UNUSED=6
-- fi
-- if test -e /etc/init.d/functions; then
-- # REDHAT
-- . /etc/init.d/functions
-- echo_rc()
-- {
-- #echo -n " [${_SMSG[${_RC_RV}]}] "
-- if test ${_RC_RV} = 0; then
-- success " [${_SMSG[${_RC_RV}]}] "
-- else
-- failure " [${_SMSG[${_RC_RV}]}] "
-- fi
-- }
-- elif test -e /lib/lsb/init-functions; then
-- # LSB
-- . /lib/lsb/init-functions
-- if alias log_success_msg >/dev/null 2>/dev/null; then
-- echo_rc()
-- {
-- echo " [${_SMSG[${_RC_RV}]}] "
-- }
-- else
-- echo_rc()
-- {
-- if test ${_RC_RV} = 0; then
-- log_success_msg " [${_SMSG[${_RC_RV}]}] "
-- else
-- log_failure_msg " [${_SMSG[${_RC_RV}]}] "
-- fi
-- }
-- fi
-- else
-- # emulate it
-- echo_rc()
-- {
-- echo " [${_SMSG[${_RC_RV}]}] "
-- }
-- fi
-- rc_reset() { _RC_RV=0; }
-- rc_failed()
-- {
-+fi
-+
-+
-+
-+echo_rc() {
-+ echo
-+ printhl "Return Status: ${_SMSG[${_RC_RV}]}"
-+}
-+
-+
-+rc_reset() { _RC_RV=0; }
-+
-+
-+rc_failed() {
- if test -z "$1"; then
-- _RC_RV=1;
-+ _RC_RV=1;
- elif test "$1" != "0"; then
-- _RC_RV=$1;
-- fi
-+ _RC_RV=$1;
-+ fi
- return ${_RC_RV}
-- }
-- rc_check()
-- {
-+}
-+
-+rc_check() {
- return rc_failed $?
-- }
-- rc_status()
-- {
-+}
-+
-+
-+rc_status() {
- rc_failed $?
- if test "$1" = "-r"; then _RC_RV=0; shift; fi
- if test "$1" = "-s"; then rc_failed 5; echo_rc; rc_failed 3; shift; fi
-@@ -140,26 +102,24 @@
- if test "$1" = "-v"; then echo_rc; shift; fi
- if test "$1" = "-r"; then _RC_RV=0; shift; fi
- return ${_RC_RV}
-- }
-- rc_exit() { exit ${_RC_RV}; }
-- rc_active()
-- {
-+}
-+
-+
-+rc_exit() { exit ${_RC_RV}; }
-+
-+
-+rc_active() {
- if test -z "$RUNLEVEL"; then read RUNLEVEL REST < <(/sbin/runlevel); fi
- if test -e /etc/init.d/S[0-9][0-9]${1}; then return 0; fi
- return 1
-- }
--fi
-+}
-
--if ! which usleep >&/dev/null
--then
-- usleep()
-- {
-- if [ -n "$1" ]
-- then
-- sleep $(( $1 / 1000000 ))
-- fi
-- }
--fi
-+usleep() {
-+ if [ -n "$1" ]
-+ then
-+ sleep $(( $1 / 1000000 ))
-+ fi
-+}
-
- # Reset status of this service
- rc_reset
-@@ -235,10 +195,12 @@
- start()
- {
- if [ -f $LOCKFILE ]; then
-- echo -e "xendomains already running (lockfile exists)"
-+ stat_busy "xendomains already running (lockfile exists)"
-+ stat_fail
- return;
- fi
-
-+ printhl "Starting Xen Domains"
- saved_domains=" "
- if [ "$XENDOMAINS_RESTORE" = "true" ] &&
- contains_something "$XENDOMAINS_SAVE"
-@@ -299,6 +261,7 @@
- fi
- done
- fi
-+ add_daemon xendomains
- }
-
- all_zombies()
-@@ -352,7 +315,7 @@
- if test "$XENDOMAINS_AUTO_ONLY" = "true"; then
- rdnames
- fi
-- echo -n "Shutting down Xen domains:"
-+ printhl "Shutting down Xen domains"
- name=;id=
- while read LN; do
- parseln "$LN" || continue
-@@ -465,6 +428,7 @@
- rm -f $LOCKFILE
-
- exec 2>&3
-+ rm_daemon xendomains
- }
-
- check_domain_up()
-diff -Naur orig.xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog
---- orig.xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog 2011-07-03 03:08:44.957080397 -0700
-+++ xen-4.1.1//tools/hotplug/Linux/init.d/xen-watchdog 2011-07-05 13:20:22.515289867 -0700
-@@ -17,49 +17,32 @@
- ### END INIT INFO
- #
-
-+. /etc/rc.conf
-+. /etc/rc.d/functions
-+
- DAEMON=/usr/sbin/xenwatchdogd
- base=$(basename $DAEMON)
-+initname="xen-watchdog"
-
--# Source function library.
--if [ -e /etc/init.d/functions ] ; then
-- . /etc/init.d/functions
--elif [ -e /lib/lsb/init-functions ] ; then
-- . /lib/lsb/init-functions
-- success () {
-- log_success_msg $*
-- }
-- failure () {
-- log_failure_msg $*
-- }
--else
-- success () {
-- echo $*
-- }
-- failure () {
-- echo $*
-- }
--fi
-
- start() {
- local r
-- echo -n $"Starting domain watchdog daemon: "
-+ stat_busy "Starting domain watchdog daemon"
-
- $DAEMON 30 15
- r=$?
-- [ "$r" -eq 0 ] && success $"$base startup" || failure $"$base startup"
-- echo
-+ [ "$r" -eq 0 ] && stat_done ; add_daemon $initname || stat_fail
-
- return $r
- }
-
- stop() {
- local r
-- echo -n $"Stopping domain watchdog daemon: "
-+ stat_busy "Stopping domain watchdog daemon"
-
- killall -USR1 $base 2>/dev/null
- r=$?
-- [ "$r" -eq 0 ] && success $"$base stop" || failure $"$base stop"
-- echo
-+ [ "$r" -eq 0 ] && stat_done ; rm_daemon $initname || stat_fail
-
- return $r
- }
diff --git a/kernels/xen/timer-add-lrt-lm.patch b/kernels/xen/timer-add-lrt-lm.patch
new file mode 100644
index 000000000..4a170f9fe
--- /dev/null
+++ b/kernels/xen/timer-add-lrt-lm.patch
@@ -0,0 +1,11 @@
+--- a/tools/qemu-xen-traditional/Makefile.target
++++ b/tools/qemu-xen-traditional/Makefile.target
+@@ -520,7 +520,7 @@
+ OBJS+=block-raw-posix.o
+ endif
+
+-LIBS+=-lz
++LIBS+=-lz -lm -lrt
+ ifdef CONFIG_ALSA
+ LIBS += -lasound
+ endif
diff --git a/kernels/xen/tmpfiles.d-xen.conf b/kernels/xen/tmpfiles.d-xen.conf
new file mode 100644
index 000000000..504101772
--- /dev/null
+++ b/kernels/xen/tmpfiles.d-xen.conf
@@ -0,0 +1 @@
+d /run/xen 0755 root root -
diff --git a/kernels/xen/xen.install b/kernels/xen/xen.install
index 5664948c7..6a109ac63 100644
--- a/kernels/xen/xen.install
+++ b/kernels/xen/xen.install
@@ -5,13 +5,13 @@ install_msg() {
In order to complete the installation, and enable Xen,
at the very least you must:
1. Edit your GRUB2 config files as specified at
- https://wiki.archlinux.org/index.php/Xen#Bootloader_Configuration
+ https://wiki.parabolagnulinux.org/index.php/Xen#Bootloader_Configuration
2. Issue the following commands to allow you to create and start VMs:
systemctl enable xenstored.service
systemctl enable xenconsoled.service
systemctl enable xendomains.service
For more information refer to the Wiki:
- https://wiki.archlinux.org/index.php/Xen
+ https://wiki.parabolagnulinux.org/index.php/Xen
__EOF__
}
@@ -20,13 +20,6 @@ post_upgrade() {
install_msg
}
-pre_remove() {
- for i in xen{stored,consoled,domains}.service; do
- systemctl disable $serv
- systemctl stop $serv
- done
-}
-
post_remove() {
cat << __EOF__
===> IMPORTANT NOTICE:
diff --git a/kernels/xen/xenstored.service b/kernels/xen/xenstored.service
index 9025f2244..c898fd24b 100644
--- a/kernels/xen/xenstored.service
+++ b/kernels/xen/xenstored.service
@@ -1,7 +1,7 @@
[Unit]
Description=Xenstored - daemon managing xenstore file system
-Requires=proc-xen.mount var-lib-xenstored.mount
-After=proc-xen.mount var-lib-xenstored.mount
+Requires=proc-xen.mount var-lib-xenstored.mount systemd-tmpfiles-setup.service
+After=proc-xen.mount var-lib-xenstored.mount systemd-tmpfiles-setup.service
Before=libvirtd.service libvirt-guests.service
RefuseManualStop=true
ConditionPathExists=/proc/xen
@@ -13,6 +13,7 @@ EnvironmentFile=-/etc/conf.d/xenstored
PIDFile=/var/run/xenstored.pid
ExecStartPre=/usr/bin/grep -q control_d /proc/xen/capabilities
ExecStart=/usr/sbin/xenstored --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
+ExecStartPost=/usr/bin/xenstore-write "/local/domain/0/name" "Domain-0"
[Install]
WantedBy=multi-user.target