aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--network/asterisk/asterisk.SlackBuild9
-rw-r--r--network/asterisk/rc.asterisk.new64
2 files changed, 68 insertions, 5 deletions
diff --git a/network/asterisk/asterisk.SlackBuild b/network/asterisk/asterisk.SlackBuild
index 9c16bb74c9a8b..bc919d7efb672 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 0000000000000..636f4099a083b
--- /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