diff options
author | Robby Workman <rworkman@slackbuilds.org> | 2021-07-15 23:50:08 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-07-17 09:50:24 +0700 |
commit | 7c8ad5caee40ade1fcecdc454eb1f336466cca5a (patch) | |
tree | 3eec25a3bd4289210499680cca4334402bc6e384 | |
parent | b42e55f08c54615182b4bab08e36b8109811f968 (diff) | |
download | slackbuilds-7c8ad5caee40ade1fcecdc454eb1f336466cca5a.tar.gz |
network/asterisk: create piddir during init
This imports the contrib/init.d/rc.slackware.asterisk from
the upstream asterisk repo (with a change that we had been
doing afterward)
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | network/asterisk/asterisk.SlackBuild | 9 | ||||
-rw-r--r-- | network/asterisk/rc.asterisk.new | 64 |
2 files changed, 68 insertions, 5 deletions
diff --git a/network/asterisk/asterisk.SlackBuild b/network/asterisk/asterisk.SlackBuild index 9c16bb74c9..bc919d7efb 100644 --- a/network/asterisk/asterisk.SlackBuild +++ b/network/asterisk/asterisk.SlackBuild @@ -244,17 +244,16 @@ for i in \ done mkdir -p $PKG/etc/rc.d -install -m 0755 contrib/init.d/rc.slackware.asterisk $PKG/etc/rc.d/rc.asterisk.new - -# Fix pid file location in rc script -sed -i 's/asterisk.pid/asterisk\/asterisk.pid/' $PKG/etc/rc.d/rc.asterisk.new +sed $CWD/rc.asterisk.new \ + -e "s,@ASTERISKUSR@,$ASTERISKUSR,g" \ + -e "s,@ASTERISKGRP@,$ASTERISKGRP,g" \ + > $PKG/etc/rc.d/rc.asterisk.new # Set file ownership chown -R $ASTERISKUSR:$ASTERISKGRP $PKG/usr/lib${LIBDIRSUFFIX} chown -R $ASTERISKUSR:$ASTERISKGRP $PKG/var/lib/asterisk chown -R $ASTERISKUSR:$ASTERISKGRP $PKG/var/spool/asterisk chown -R $ASTERISKUSR:$ASTERISKGRP $PKG/var/log/asterisk -chown -R $ASTERISKUSR:$ASTERISKGRP $PKG/var/run/asterisk chown $ASTERISKUSR:$ASTERISKGRP $PKG/usr/sbin/asterisk # The voicemail config file needs to writeable by the asterisk user diff --git a/network/asterisk/rc.asterisk.new b/network/asterisk/rc.asterisk.new new file mode 100644 index 0000000000..636f4099a0 --- /dev/null +++ b/network/asterisk/rc.asterisk.new @@ -0,0 +1,64 @@ +#!/bin/sh +# +# Start/stop/restart Asterisk PBX +# +# Version: 1.0 - Paul Belanger <pabelanger@gmail.com> +# +# 03.29.2005 - Initial Version +# +# $Id$ + +### BEGIN INIT INFO +# Provides: asterisk +# Required-Start: $network $syslog $named $local_fs $remote_fs +# Required-Stop: $network $syslog $named $local_fs $remote_fs +# Should-Start: dahdi misdn lcr wanrouter mysql postgresql +# Should-Stop: dahdi misdn lcr wanrouter mysql postgresql +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Asterisk PBX +# Description: the Asterisk Open Source PBX +### END INIT INFO + +asterisk_start() { + if [ -x /usr/sbin/asterisk ]; then + # Check if Asterisk is already running. If it is, then bug out, because + # starting safe_asterisk when Asterisk is running is very bad. + VERSION=`/usr/sbin/asterisk -rx 'core show version' 2>/dev/null` + if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then + echo "Asterisk is already running. $0 will exit now." + exit 1 + fi + + echo "Starting Asterisk /usr/sbin/asterisk" + mkdir -p /var/run/asterisk + chown @ASTERISKUSR@:@ASTERISKGRP@ /var/run/asterisk + /usr/sbin/asterisk + fi +} + +asterisk_stop() { + # If there is no PID file, ignore this request... + if [ -r /var/run/asterisk/asterisk.pid ]; then + killall asterisk + fi +} + +asterisk_restart() { + asterisk_stop + asterisk_start +} + +case "$1" in + 'start') + asterisk_start + ;; + 'stop') + asterisk_stop + ;; + 'restart') + asterisk_restart + ;; + *) + echo "usage $0 start|stop|restart" ;; +esac |