Commit 106ee697 authored by Iustin Pop's avatar Iustin Pop
Browse files

Merge branch 'devel-2.6' into stable-2.6



It seems Michael submitted the daemon-util patch on devel-2.6, and I
didn't realise it. It's way too early in the release cycle of 2.6 to
have diverging branches, so I'm merging devel-2.6 into stable-2.6 and
then will ff the devel branch to the merge point.

* origin/devel-2.6:
  Add support to daemon-util for distributions without start-stop-daemon
Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
parents aff49a15 07c7c94a
......@@ -45,6 +45,12 @@ if [[ -s $defaults_file ]]; then
. $defaults_file
fi
# Meant to facilitate use utilities in /etc/rc.d/init.d/functions in case
# start-stop-daemon is not available.
_ignore_error() {
eval "$@" || :
}
_daemon_pidfile() {
echo "@LOCALSTATEDIR@/run/ganeti/$1.pid"
}
......@@ -176,9 +182,17 @@ check() {
fi
local name="$1"; shift
start-stop-daemon --stop --signal 0 --quiet \
--pidfile $(_daemon_pidfile $name)
local pidfile=$(_daemon_pidfile $name)
local daemonexec=$(_daemon_executable $name)
if type -p start-stop-daemon >/dev/null; then
start-stop-daemon --stop --signal 0 --quiet \
--pidfile $pidfile
else
_ignore_error status \
-p $pidfile \
$daemonexec
fi
}
# Starts a daemon
......@@ -189,6 +203,9 @@ start() {
fi
local name="$1"; shift
local pidfile=$(_daemon_pidfile $name)
local usergroup=$(_daemon_usergroup $plain_name)
local daemonexec=$(_daemon_executable $name)
if [[ "$name" == ganeti-confd &&
"@CUSTOM_ENABLE_CONFD@" == False ]]; then
......@@ -205,11 +222,20 @@ start() {
@PKGLIBDIR@/ensure-dirs
start-stop-daemon --start --quiet --oknodo \
--pidfile $(_daemon_pidfile $name) \
--startas $(_daemon_executable $name) \
--chuid $(_daemon_usergroup $plain_name) \
-- $args "$@"
if type -p start-stop-daemon >/dev/null; then
start-stop-daemon --start --quiet --oknodo \
--pidfile $pidfile \
--startas $daemonexec \
--chuid $usergroup \
-- $args "$@"
else
# TODO: Find a way to start daemon with a group, until then the group must
# be removed
_ignore_error daemon \
--pidfile $pidfile \
--user ${usergroup%:*} \
$daemonexec $args "$@"
fi
}
# Stops a daemon
......@@ -220,9 +246,14 @@ stop() {
fi
local name="$1"; shift
local pidfile=$(_daemon_pidfile $name)
start-stop-daemon --stop --quiet --oknodo --retry 30 \
--pidfile $(_daemon_pidfile $name)
if type -p start-stop-daemon >/dev/null; then
start-stop-daemon --stop --quiet --oknodo --retry 30 \
--pidfile $pidfile
else
_ignore_error killproc -p $pidfile $name
fi
}
# Starts a daemon if it's not yet running
......@@ -275,6 +306,12 @@ reload_ssh_keys() {
@RPL_SSH_INITD_SCRIPT@ restart
}
# Read @SYSCONFDIR@/rc.d/init.d/functions if start-stop-daemon not available
if ! type -p start-stop-daemon >/dev/null && \
[[ -f @SYSCONFDIR@/rc.d/init.d/functions ]]; then
_ignore_error . @SYSCONFDIR@/rc.d/init.d/functions
fi
if [[ "$#" -lt 1 ]]; then
echo "Usage: $0 <action>" >&2
exit 1
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment