File: /home/boxelikax/public_html/demoltec.com/lsb.tar
init-functions.d/00-verbose 0000644 00000001222 15237756236 0011561 0 ustar 00 vlog_daemon_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_daemon_msg "$@"
else
true
fi
}
vlog_begin_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_begin_msg "$@"
else
true
fi
}
vlog_action_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_action_msg "$@"
else
true
fi
}
vlog_action_begin_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_action_begin_msg "$@"
else
true
fi
}
vlog_action_end_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_action_end_msg "$@"
else
true
fi
}
vlog_end_msg() {
if test x"${VERBOSE:-yes}" != x"no" ; then
log_end_msg "$@"
else
return ${1:-1}
fi
}
init-functions.d/50-ubuntu-logging 0000644 00000007250 15237756236 0013076 0 ustar 00 # Default init script logging functions suitable for Ubuntu.
# See /lib/lsb/init-functions for usage help.
LOG_DAEMON_MSG=""
log_use_plymouth () {
if [ "${loop:-n}" = y ]; then
return 1
fi
plymouth --ping >/dev/null 2>&1
}
log_success_msg () {
echo " * $@" || true
}
log_failure_msg () {
if log_use_fancy_output; then
esc='' # escape character, printf '\033'
red="$esc[31m" # ANSI color escapes
normal="$esc[0m"
echo " $red*$normal $@" || true
else
echo " * $@" || true
fi
}
log_warning_msg () {
if log_use_fancy_output; then
esc='' # escape character, printf '\033'
yellow="$esc[33m" # ANSI color escapes
normal="$esc[0m"
echo " $yellow*$normal $@" || true
else
echo " * $@" || true
fi
}
log_begin_msg () {
log_daemon_msg "$1"
}
log_daemon_msg () {
if [ -z "$1" ]; then
return 1
fi
TPUT=/usr/bin/tput
if log_use_fancy_output && $TPUT xenl >/dev/null 2>&1; then
COLS=`$TPUT cols`
if [ "$COLS" ] && [ "$COLS" -gt 6 ]; then
COL=$(( COLS - 7 ))
else
COLS=80
COL=73
fi
if log_use_plymouth; then
# If plymouth is running, don't output anything at this time
# to avoid buffering problems (LP: #752393)
if [ -z "$LOG_DAEMON_MSG" ]; then
LOG_DAEMON_MSG=$*
return
fi
fi
# We leave the cursor `hanging' about-to-wrap (see terminfo(5)
# xenl, which is approximately right). That way if the script
# prints anything then we will be on the next line and not
# overwrite part of the message.
# Previous versions of this code attempted to colour-code the
# asterisk but this can't be done reliably because in practice
# init scripts sometimes print messages even when they succeed
# and we won't be able to reliably know where the colourful
# asterisk ought to go.
printf " * $* " || true
# Enough trailing spaces for ` [fail]' to fit in; if the message
# is too long it wraps here rather than later, which is what we
# want.
esc='' # escape character, printf '\033'
movecur="$esc[${COLS}G" # ANSI horizontal position absolute
printf "$movecur " || true
else
echo " * $@" || true
COL=
fi
}
log_progress_msg () {
:
}
log_end_msg () {
if [ -z "$1" ]; then
return 1
fi
if [ "$COL" ] && [ -x "$TPUT" ]; then
# If plymouth is running, print previously stored output
# to avoid buffering problems (LP: #752393)
if log_use_plymouth; then
if [ -n "$LOG_DAEMON_MSG" ]; then
log_daemon_msg $LOG_DAEMON_MSG
LOG_DAEMON_MSG=""
fi
fi
esc='' # escape character, printf '\033'
movecur="$esc[$(( COL + 1 ))G" # ANSI horizontal position absolute
printf "\r$movecur" || true
if [ "$1" -eq 0 ]; then
echo "[ OK ]" || true
else
red="$esc[31m" # ANSI color escapes
normal="$esc[0m"
echo "[${red}fail${normal}]" || true
fi
else
if [ "$1" -eq 0 ]; then
echo " ...done." || true
else
echo " ...fail!" || true
fi
fi
return $1
}
log_action_msg () {
echo " * $@" || true
}
log_action_begin_msg () {
log_daemon_msg "$@..." || true
}
log_action_cont_msg () {
log_daemon_msg "$@..." || true
}
log_action_end_msg () {
# In the future this may do something with $2 as well.
log_end_msg "$1" || true
}
init-functions.d/40-systemd 0000644 00000006263 15237756236 0011622 0 ustar 00 # -*-Shell-script-*-
# /lib/lsb/init-functions
_use_systemctl=0
if [ -d /run/systemd/system ]; then
if [ -n "${__init_d_script_name:-}" ]; then # scripts run with new init-d-script
executable="$__init_d_script_name"
argument="$1"
elif [ "${0##*/}" = "init-d-script" ] ||
[ "${0##*/}" = "${1:-}" ]; then # scripts run with old init-d-script
executable="$1"
argument="$2"
else # plain old scripts
executable="$0"
argument="${1:-}"
fi
prog=${executable##*/}
service="${prog%.sh}.service"
# Don't try to run masked services. systemctl <= 230 always succeeds here,
# but later systemctls fail on nonexisting units; be compatible with both
state=$(systemctl -p LoadState --value show $service 2>/dev/null) || state="not-found"
[ "$state" = "masked" ] && exit 0
# Redirect SysV init scripts when executed by the user
if [ $PPID -ne 1 ] && [ -z "${SYSTEMCTL_SKIP_REDIRECT:-}" ]; then
case $(readlink -f "$executable") in
/etc/init.d/*)
# If the state is not-found, this might be a newly installed SysV init
# script where systemd-sysv-generator has not been run yet.
[ "$state" != "not-found" ] || [ "$(id -u)" != 0 ] || systemctl --no-ask-password daemon-reload
_use_systemctl=1
# Some services can't reload through the .service file,
# but can through the init script.
if [ "$(systemctl -p CanReload --value show $service 2>/dev/null)" = "no" ] && [ "${argument:-}" = "reload" ]; then
_use_systemctl=0
fi
;;
esac
fi
fi
systemctl_redirect () {
local s
local rc
local prog=${1##*/}
local command=$2
case "$command" in
start)
s="Starting $prog (via systemctl)"
;;
stop)
s="Stopping $prog (via systemctl)"
;;
reload|force-reload)
s="Reloading $prog configuration (via systemctl)"
;;
try-restart)
s="Restarting $prog if running (via systemctl)"
;;
restart)
s="Restarting $prog (via systemctl)"
;;
esac
service="${prog%.sh}.service"
# avoid deadlocks during bootup and shutdown from units/hooks
# which call "invoke-rc.d service reload" and similar, since
# the synchronous wait plus systemd's normal behaviour of
# transactionally processing all dependencies first easily
# causes dependency loops
if ! systemctl --quiet is-system-running && [ "$command" = "reload" ]; then
sctl_args="--no-block"
fi
[ "$command" = status ] || log_daemon_msg "$s" "$service"
systemctl --no-pager $sctl_args $command "$service"
rc=$?
[ "$command" = status ] || log_end_msg $rc
return $rc
}
if [ "$_use_systemctl" = "1" ]; then
# Some init scripts use "set -e" and "set -u", we don't want that
# here
set +e
set +u
case "$argument" in
start|stop|restart|reload|force-reload|try-restart|status)
systemctl_redirect $executable $argument
exit $?
;;
esac
fi
init-functions.d/99-plymouth 0000644 00000001023 15237756236 0012016 0 ustar 00 # /lib/lsb/init-functions.d/99-plymouth
# Abort sourcing of this file if plymouth isn't active
if ! plymouth --ping > /dev/null 2>&1
then
return
fi
log_begin_msg_post ()
{
/usr/bin/plymouth update --status="${@}" || true
}
log_end_msg_post ()
{
:
}
log_action_begin_msg_post ()
{
/usr/bin/plymouth update --status="${@}" || true
}
log_action_end_msg_post ()
{
:
}
log_action_msg_post ()
{
/usr/bin/plymouth update --status="${@}" || true
}
log_daemon_msg_post ()
{
/usr/bin/plymouth update --status="${@}" || true
}
init-functions 0000644 00000026101 15237756236 0007460 0 ustar 00 # /lib/lsb/init-functions for Debian -*- shell-script -*-
#
#Copyright (c) 2002-08 Chris Lawrence
#All rights reserved.
#
#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions
#are met:
#1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#3. Neither the name of the author nor the names of other contributors
# may be used to endorse or promote products derived from this software
# without specific prior written permission.
#
#THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
#IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
#WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
#ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
#LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
#CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
#SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
#BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
#OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
#EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
start_daemon () {
local force nice pidfile exec args OPTIND
force=""
nice=0
pidfile=/dev/null
OPTIND=1
while getopts fn:p: opt ; do
case "$opt" in
f) force="force";;
n) nice="$OPTARG";;
p) pidfile="$OPTARG";;
esac
done
shift $(($OPTIND - 1))
if [ "$1" = '--' ]; then
shift
fi
exec="$1"; shift
args="--start --nicelevel $nice --quiet --oknodo"
if [ "$force" ]; then
/sbin/start-stop-daemon $args \
--chdir "$PWD" --startas $exec --pidfile /dev/null -- "$@"
elif [ $pidfile ]; then
/sbin/start-stop-daemon $args \
--chdir "$PWD" --exec $exec --oknodo --pidfile "$pidfile" -- "$@"
else
/sbin/start-stop-daemon $args --chdir "$PWD" --exec $exec -- "$@"
fi
}
pidofproc () {
local pidfile base status specified pid OPTIND
pidfile=
specified=
OPTIND=1
while getopts p: opt ; do
case "$opt" in
p) pidfile="$OPTARG"
specified="specified"
;;
esac
done
shift $(($OPTIND - 1))
if [ $# -ne 1 ]; then
echo "$0: invalid arguments" >&2
return 4
fi
base=${1##*/}
if [ ! "$specified" ]; then
pidfile="/var/run/$base.pid"
fi
if [ -n "${pidfile:-}" ]; then
if [ -e "$pidfile" ]; then
if [ -r "$pidfile" ]; then
read pid < "$pidfile"
if [ -n "${pid:-}" ]; then
if $(kill -0 "${pid:-}" 2> /dev/null); then
echo "$pid" || true
return 0
elif ps "${pid:-}" >/dev/null 2>&1; then
echo "$pid" || true
return 0 # program is running, but not owned by this user
else
return 1 # program is dead and /var/run pid file exists
fi
fi
else
return 4 # pid file not readable, hence status is unknown.
fi
else
# pid file doesn't exist, try to find the pid nevertheless
if [ -x /bin/pidof ] && [ ! "$specified" ]; then
status="0"
/bin/pidof -c -o %PPID -x $1 || status="$?"
if [ "$status" = 1 ]; then
return 3 # program is not running
fi
return 0
fi
return 3 # specified pid file doesn't exist, program probably stopped
fi
fi
if [ "$specified" ]; then
return 3 # almost certain it's not running
fi
return 4 # Unable to determine status
}
# start-stop-daemon uses the same algorithm as "pidofproc" above.
killproc () {
local pidfile sig status base name_param is_term_sig OPTIND
pidfile=
name_param=
is_term_sig=
OPTIND=1
while getopts p: opt ; do
case "$opt" in
p) pidfile="$OPTARG";;
esac
done
shift $(($OPTIND - 1))
base=${1##*/}
if [ ! $pidfile ]; then
name_param="--name $base --pidfile /var/run/$base.pid"
else
name_param="--name $base --pidfile $pidfile"
fi
sig=${2:-} sig=${sig#-} sig=${sig#SIG}
if [ "$sig" = 15 ] || [ "$sig" = TERM ]; then
is_term_sig="terminate_signal"
fi
status=0
if [ ! "$is_term_sig" ]; then
if [ -n "$sig" ]; then
/sbin/start-stop-daemon --stop --signal "$sig" \
--quiet $name_param || status="$?"
else
/sbin/start-stop-daemon --stop \
--retry 5 \
--quiet $name_param || status="$?"
fi
else
/sbin/start-stop-daemon --stop --quiet \
--oknodo $name_param || status="$?"
fi
if [ "$status" = 1 ]; then
if [ -z "$sig" ]; then
return 0
fi
return 3 # program is not running
fi
if [ "$status" = 0 ] && [ "$is_term_sig" ] && [ "$pidfile" ]; then
pidofproc -p "$pidfile" "$1" >/dev/null || rm -f "$pidfile"
fi
return 0
}
# Return LSB status
status_of_proc () {
local pidfile daemon name status OPTIND
pidfile=
OPTIND=1
while getopts p: opt ; do
case "$opt" in
p) pidfile="$OPTARG";;
esac
done
shift $(($OPTIND - 1))
if [ -n "$pidfile" ]; then
pidfile="-p $pidfile"
fi
daemon="$1"
name="$2"
status="0"
pidofproc $pidfile $daemon >/dev/null || status="$?"
if [ "$status" = 0 ]; then
log_success_msg "$name is running"
return 0
elif [ "$status" = 4 ]; then
log_failure_msg "could not access PID file for $name"
return $status
else
log_failure_msg "$name is not running"
return $status
fi
}
log_use_fancy_output () {
if [ -t 1 ] &&
[ "x${TERM:-}" != "x" ] &&
[ "x${TERM:-}" != "xdumb" ]
then
[ -z $FANCYTTY ] && return 0 || true
else
return 1
fi
case "$FANCYTTY" in
1|Y|yes|true) true;;
*) false;;
esac
}
log_success_msg () {
if [ -n "${1:-}" ]; then
log_begin_msg "$@"
fi
log_end_msg 0
}
log_failure_msg () {
if [ -n "${1:-}" ]; then
log_begin_msg "$@" "..."
fi
log_end_msg 1 || true
}
log_warning_msg () {
if [ -n "${1:-}" ]; then
log_begin_msg "$@" "..."
fi
log_end_msg 255 || true
}
#
# NON-LSB HELPER FUNCTIONS
#
# int get_lsb_header_val (char *scriptpathname, char *key)
get_lsb_header_val () {
if [ ! -f "$1" ] || [ -z "${2:-}" ]; then
return 1
fi
LSB_S="### BEGIN INIT INFO"
LSB_E="### END INIT INFO"
sed -n "/$LSB_S/,/$LSB_E/ s/# $2: \+\(.*\)/\1/p" "$1"
}
# If the currently running init daemon is upstart, return zero; if the
# calling init script belongs to a package which also provides a native
# upstart job, it should generally exit non-zero in this case.
init_is_upstart()
{
if [ -x /sbin/initctl ] && /sbin/initctl version 2>/dev/null | /bin/grep -q upstart; then
return 0
fi
return 1
}
# int log_begin_message (char *message)
log_begin_msg () {
log_begin_msg_pre "$@"
if [ -z "${1:-}" ]; then
return 1
fi
echo -n "$@" || true
log_begin_msg_post "$@"
}
# Sample usage:
# log_daemon_msg "Starting GNOME Login Manager" "gdm"
#
# On Debian, would output "Starting GNOME Login Manager: gdm"
# On Ubuntu, would output " * Starting GNOME Login Manager..."
#
# If the second argument is omitted, logging suitable for use with
# log_progress_msg() is used:
#
# log_daemon_msg "Starting remote filesystem services"
#
# On Debian, would output "Starting remote filesystem services:"
# On Ubuntu, would output " * Starting remote filesystem services..."
log_daemon_msg () {
if [ -z "${1:-}" ]; then
return 1
fi
log_daemon_msg_pre "$@"
if [ -z "${2:-}" ]; then
echo -n "$1:" || true
return
fi
echo -n "$1: $2" || true
log_daemon_msg_post "$@"
}
# #319739
#
# Per policy docs:
#
# log_daemon_msg "Starting remote file system services"
# log_progress_msg "nfsd"; start-stop-daemon --start --quiet nfsd
# log_progress_msg "mountd"; start-stop-daemon --start --quiet mountd
# log_progress_msg "ugidd"; start-stop-daemon --start --quiet ugidd
# log_end_msg 0
#
# You could also do something fancy with log_end_msg here based on the
# return values of start-stop-daemon; this is left as an exercise for
# the reader...
#
# On Ubuntu, one would expect log_progress_msg to be a no-op.
log_progress_msg () {
if [ -z "${1:-}" ]; then
return 1
fi
echo -n " $@" || true
}
# int log_end_message (int exitstatus)
log_end_msg () {
# If no arguments were passed, return
if [ -z "${1:-}" ]; then
return 1
fi
log_end_msg_pre "$@"
# Only do the fancy stuff if we have an appropriate terminal
if log_use_fancy_output; then
esc='' # escape character, printf '\033'
red="$esc[31m" # ANSI color escapes
yellow="$esc[33m"
normal="$esc[0m"
else
red= yellow= normal=
fi
if [ $1 -eq 0 ]; then
echo "." || true
elif [ $1 -eq 255 ]; then
echo " ${yellow}(warning).${normal}" || true
else
echo " ${red}failed!${normal}" || true
fi
log_end_msg_post "$@"
return $1
}
log_action_msg () {
log_action_msg_pre "$@"
echo "$@." || true
log_action_msg_post "$@"
}
log_action_begin_msg () {
log_action_begin_msg_pre "$@"
echo -n "$@..." || true
log_action_begin_msg_post "$@"
}
log_action_cont_msg () {
echo -n "$@..." || true
}
log_action_end_msg () {
local end
log_action_end_msg_pre "$@"
if [ -z "${2:-}" ]; then
end="."
else
end=" ($2)."
fi
if [ $1 -eq 0 ]; then
echo "done${end}" || true
else
if log_use_fancy_output; then
esc='' # escape character, printf '\033'
red="$esc[31m" # ANSI color escapes
normal="$esc[0m"
echo "${red}failed${end}${normal}" || true
else
echo "failed${end}" || true
fi
fi
log_action_end_msg_post "$@"
}
# Pre&Post empty function declaration, to be overriden from /lib/lsb/init-functions.d/*
log_daemon_msg_pre () { :; }
log_daemon_msg_post () { :; }
log_begin_msg_pre () { :; }
log_begin_msg_post () { :; }
log_end_msg_pre () { :; }
log_end_msg_post () { :; }
log_action_msg_pre () { :; }
log_action_msg_post () { :; }
log_action_begin_msg_pre () { :; }
log_action_begin_msg_post () { :; }
log_action_end_msg_pre () { :; }
log_action_end_msg_post () { :; }
# Include hooks from other packages in /lib/lsb/init-functions.d
for hook in $(run-parts --lsbsysinit --list /lib/lsb/init-functions.d 2>/dev/null); do
[ -r $hook ] && . $hook || true
done
FANCYTTY=
[ -e /etc/lsb-base-logging.sh ] && . /etc/lsb-base-logging.sh || true