summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2015-02-09 01:13:23 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2015-02-09 02:42:22 +0100
commit0f6c07c9e642dc7805788a6b4a77173ecfe48d37 (patch)
treea4b0b4586cbdadeb9ab056e15563eb3eda2e3418
parentd721f910b13e71fa1c39afdc2b43d9058d9899f8 (diff)
downloadutil-vserver-netns-0f6c07c9e642dc7805788a6b4a77173ecfe48d37.tar.gz
util-vserver-netns-0f6c07c9e642dc7805788a6b4a77173ecfe48d37.tar.bz2
util-vserver-netns-0f6c07c9e642dc7805788a6b4a77173ecfe48d37.zip
Add util-vserver-netns initscript.
The util-vserver-netns initscript sets the path to vshelper for netns handling.
-rw-r--r--Makefile6
-rwxr-xr-xutil-vserver-netns65
2 files changed, 69 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 60c891c..449d78c 100644
--- a/Makefile
+++ b/Makefile
@@ -2,17 +2,19 @@ all:
clean:
-install: vserver.netns vnamespace.netns vshelper.netns util-vserver-vars vserver.functions vserver-netns.sh vservers-default
+install: vserver.netns vnamespace.netns vshelper.netns util-vserver-vars vserver.functions vserver-netns.sh vservers-default util-vserver-netns
install -d "$(DESTDIR)/sbin/" \
"$(DESTDIR)/usr/share/util-vserver/netns/" \
"$(DESTDIR)/usr/lib/x86_64-linux-gnu/util-vserver/" \
"$(DESTDIR)/usr/sbin/" \
"$(DESTDIR)/etc/profile.d/" \
- "$(DESTDIR)/etc/default/"
+ "$(DESTDIR)/etc/default/" \
+ "$(DESTDIR)/etc/init.d/"
install vserver.netns "$(DESTDIR)/usr/sbin/"
install vnamespace.netns "$(DESTDIR)/usr/sbin/"
install vshelper.netns "$(DESTDIR)/usr/lib/x86_64-linux-gnu/util-vserver/"
+ install util-vserver-netns "$(DESTDIR)/etc/init.d/"
install -m644 util-vserver-vars "$(DESTDIR)/usr/share/util-vserver/netns/"
install -m644 vserver.functions "$(DESTDIR)/usr/share/util-vserver/netns/"
install -m644 vserver-netns.sh "$(DESTDIR)/etc/profile.d/"
diff --git a/util-vserver-netns b/util-vserver-netns
new file mode 100755
index 0000000..6e1a04a
--- /dev/null
+++ b/util-vserver-netns
@@ -0,0 +1,65 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides: util-vserver-netns
+# Required-Start: $remote_fs $syslog $time util-vserver
+# Required-Stop: $remote_fs $syslog $time util-vserver
+# X-Start-Before: vservers-default
+# X-Stop-After: vservers-default
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Sets the path to vshelper for netns handling
+# Description: Sets the path to vshelper for netns handling
+### END INIT INFO
+
+: ${UTIL_VSERVER_VARS:=/usr/share/util-vserver/netns/util-vserver-vars}
+test -e "$UTIL_VSERVER_VARS" || {
+ echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2
+ exit 1
+}
+. "$UTIL_VSERVER_VARS"
+
+LOCKFILE=util-vserver-netns
+. "$_LIB_VSERVER_INIT_FUNCTIONS"
+. "$_LIB_FUNCTIONS"
+. "$_LIB_VSERVER_FUNCTIONS"
+
+function start()
+{
+ _beginResult $"Setting path to vshelper"
+ set_helper
+ local retval=$?
+ _endResult $retval
+ test "$retval" -ne 0 || touch "$lockfile"
+ return $retval
+}
+
+function stop()
+{
+ $_RM -f "$lockfile"
+}
+
+function restart()
+{
+ stop
+ start
+}
+
+case "$1" in
+ start|stop|restart) $1;;
+ reload) ;;
+ condrestart)
+ test -f $lockfile && restart || :
+ ;;
+ status)
+ test -f $lockfile && {
+ echo $"Path to vshelper.netns has been set"
+ exit 0
+ }
+ echo $"Path to vshelper.netns has not been set"
+ exit 1
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"
+ exit 2
+ ;;
+esac