diff options
-rw-r--r-- | kernels/xen/09_xen | 8 | ||||
-rw-r--r-- | kernels/xen/PKGBUILD | 53 | ||||
-rw-r--r-- | kernels/xen/archinit.patch | 450 | ||||
-rw-r--r-- | kernels/xen/gdbsx-glibc-2.17.patch | 10 | ||||
-rw-r--r-- | kernels/xen/parabolainit.patch | 423 | ||||
-rw-r--r-- | kernels/xen/timer-add-lrt-lm.patch | 11 | ||||
-rw-r--r-- | kernels/xen/tmpfiles.d-xen.conf | 1 | ||||
-rw-r--r-- | kernels/xen/xen.install | 11 | ||||
-rw-r--r-- | kernels/xen/xenstored.service | 5 |
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 |