]> git.proxmox.com Git - mirror_lxc.git/commitdiff
don't make sysv init scripts dependant on distribution specifics
authorEvgeni Golov <evgeni@debian.org>
Fri, 15 Apr 2016 18:45:09 +0000 (20:45 +0200)
committerEvgeni Golov <sargentd@die-welt.net>
Fri, 15 Apr 2016 19:23:57 +0000 (21:23 +0200)
- /etc(/rc.d)?/init.d/functions does not exist on all distributions
- LSB does not define a message function without an explicit status
- Debian-derived systems add a log_daemon_msg for that

lets define an own log_daemon_msg as echo and try to load LSB init
functions afterwards, which might overload it with a nicer version

that way the init scripts should work on any system, without hard
dependencies on neither LSB nor /etc/init.d/functions

Closes #309 #310 #311

Signed-off-by: Evgeni Golov <evgeni@debian.org>
config/init/sysvinit/lxc-containers.in
config/init/sysvinit/lxc-net.in

index f4ce8eaa7a6401acd0cd6085f47b7233d0ccb587..3b38393de6427e14016f8dc7c1c94d881d883840 100644 (file)
 # Description: Bring up/down LXC autostart containers
 ### END INIT INFO
 
-sysconfdir="@SYSCONFDIR@"
-
-# Source function library.
-test ! -r "$sysconfdir"/rc.d/init.d/functions ||
-        . "$sysconfdir"/rc.d/init.d/functions
+# To be replaced by LSB functions, if they can be found
+# Defined here for distributions that don't have log_daemon_msg
+log_daemon_msg () {
+    echo $@
+}
 
-# provide action() fallback
-if ! type action >/dev/null 2>&1; then
-    # Real basic fallback for sysvinit "action" verbage.
-    action() {
-        echo -n "$1    "
-        shift
-        "$@" && echo "OK" || echo "Failed"
-    }
-fi
+# Try to source LSB init functions to define LSB log_* functions.
+test ! -r /lib/lsb/init-functions ||
+        . /lib/lsb/init-functions
 
 start() {
     # Setup host /dev for autodev containers.
     @LIBEXECDIR@/lxc/lxc-devsetup
-    action $"Starting LXC autoboot containers: " @LIBEXECDIR@/lxc/lxc-containers start
+    log_daemon_msg "Starting LXC autoboot containers: "
+    @LIBEXECDIR@/lxc/lxc-containers start
 }
 
 stop() {
-    action $"Stopping LXC containers: " @LIBEXECDIR@/lxc/lxc-containers stop
+    log_daemon_msg "Stopping LXC containers: "
+    @LIBEXECDIR@/lxc/lxc-containers stop
 }
 
 # See how we were called.
index 95be3999dec5c92fe671a5e74df2a26aba0ac1a3..187feed4647aa4c292401fda491a12cae4e1b070 100644 (file)
 # Description: Bring up/down LXC Network Bridge
 ### END INIT INFO
 
-sysconfdir="@SYSCONFDIR@"
-
-# Source function library.
-test ! -r "$sysconfdir"/rc.d/init.d/functions ||
-        . "$sysconfdir"/rc.d/init.d/functions
+# To be replaced by LSB functions, if they can be found
+# Defined here for distributions that don't have log_daemon_msg
+log_daemon_msg () {
+    echo $@
+}
 
-# provide action() fallback
-if ! type action >/dev/null 2>&1; then
-    # Real basic fallback for sysvinit "action" verbage.
-    action() {
-        echo -n "$1    "
-        shift
-        "$@" && echo "OK" || echo "Failed"
-    }
-fi
+# Try to source LSB init functions to define LSB log_* functions.
+test ! -r /lib/lsb/init-functions ||
+        . /lib/lsb/init-functions
 
 start() {
-    action $"Starting LXC network bridge: " @LIBEXECDIR@/lxc/lxc-net start
+    log_daemon_msg "Starting LXC network bridge: "
+    @LIBEXECDIR@/lxc/lxc-net start
 }
 
 stop() {
-    action $"Stopping LXC network bridge: " @LIBEXECDIR@/lxc/lxc-net stop
+    log_daemon_msg "Stopping LXC network bridge: "
+    @LIBEXECDIR@/lxc/lxc-net stop
 }
 
 # See how we were called.