Mail archive
alpine-devel

[alpine-devel] [PATCH 1/3] OpenRC xencommons init.d script

From: Guillaume Sellier <guillaume_at_ophane.net>
Date: Mon, 22 Aug 2011 22:14:51 +0200

Found here https://bugs.gentoo.org/show_bug.cgi?id=361345
a more "gentoo´sh" script that the default provided one.
---
 main/xen/xencommons.initd |   91 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 0 deletions(-)
 create mode 100755 main/xen/xencommons.initd
diff --git a/main/xen/xencommons.initd b/main/xen/xencommons.initd
new file mode 100755
index 0000000..1ad0fb8
--- /dev/null
+++ b/main/xen/xencommons.initd
_at_@ -0,0 +1,91 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+opts="start stop status restart"
+
+if [ -d /etc/sysconfig ]; then
+        xencommons_config=/etc/sysconfig
+else
+        xencommons_config=/etc/default
+fi
+
+test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
+
+XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
+#shopt -s extglob
+
+if test "x$1" = xstart && \
+     test -d /proc/xen && \
+   ! test -f /proc/xen/capabilities && \
+   ! grep '^xenfs ' /proc/mounts >/dev/null;
+then
+        mount -t xenfs xenfs /proc/xen
+fi
+
+if ! grep -q "control_d" /proc/xen/capabilities ; then
+        exit 0
+fi
+
+depend() {
+        need net
+        before xend
+}
+
+start() {
+        local time=0
+        local timeout=30
+
+        if ! `xenstore-read -s / >/dev/null 2>&1`
+        then
+                test -z "$XENSTORED_ROOTDIR" || XENSTORED_ROOTDIR="/var/lib/xenstored"
+                rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
+                test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T /var/log/xen/xenstored-trace.log"
+
+                ebegin "Starting xenstored..."
+                xenstored --pid-file=/var/run/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
+                        time=$(($time+1))
+                        sleep 1
+                done
+
+                # Exit if we timed out
+                if ! [ $time -lt $timeout ] ; then
+                        eend 1
+                        echo Could not start xenstored
+                        exit 1
+                fi
+                eend 0
+
+                ebegin "Setting domain 0 name..."
+                xenstore-write "/local/domain/0/name" "Domain-0"
+                eend $?
+        fi
+
+        ebegin "Starting xenconsoled..."
+        test -z "$XENCONSOLED_TRACE" || XENCONSOLED_ARGS=" --log=$XENCONSOLED_TRACE"
+        xenconsoled --pid-file=$XENCONSOLED_PIDFILE $XENCONSOLED_ARGS
+        eend $?
+
+        test -z "$XENBACKENDD_DEBUG" || XENBACKENDD_ARGS="-d"
+        test "`uname`" != "NetBSD" || xenbackendd $XENBACKENDD_ARGS
+}
+
+stop() {
+        ebegin "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
+        eend 0
+
+        echo WARNING: Not stopping xenstored, as it cannot be restarted.
+}
+
+status() {
+        xenstore-read -s / >/dev/null 2>&1
+}
-- 
1.7.6
---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Mon Aug 22 2011 - 22:14:51 UTC