Add init script for ArchLinux
authorJason Parker <jparker@digium.com>
Tue, 18 Nov 2008 21:01:46 +0000 (21:01 +0000)
committerJason Parker <jparker@digium.com>
Tue, 18 Nov 2008 21:01:46 +0000 (21:01 +0000)
(closes issue #13667)
Reported by: sherif
Patches:
      archlinux_rc_makefile.patch uploaded by sherif (license 591)
      archlinux_rc_makefile-2.patch uploaded by mvanbaak (license 7)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157460 65c4cc65-6c06-0410-ace0-fbb531ad65f3

Makefile
contrib/init.d/rc.archlinux.asterisk [new file with mode: 0644]

index 5e3055b..1bbc581 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -811,6 +811,9 @@ config:
                elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then \
                        $(INSTALL) -m 755 contrib/init.d/rc.suse.asterisk $(DESTDIR)/etc/init.d/asterisk; \
                        if [ -z "$(DESTDIR)" ]; then /sbin/chkconfig --add asterisk; fi; \
+               elif [ -f /etc/arch-release -o -f /etc/arch-release ]; then \
+                       $(INSTALL) -m 755 contrib/init.d/rc.archlinux.asterisk $(DESTDIR)/etc/rc.d/asterisk; \
+                       echo "Archlinux is not currently supported, although an init script does exits for it. please add asterisk to your DAEMONS line in /etc/rc.conf to start it when computer boots."; \
                elif [ -f /etc/slackware-version ]; then \
                        echo "Slackware is not currently supported, although an init script does exist for it." \
                else \
diff --git a/contrib/init.d/rc.archlinux.asterisk b/contrib/init.d/rc.archlinux.asterisk
new file mode 100644 (file)
index 0000000..a4b7c63
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+#
+# Start/stop/restart Asterisk PBX
+#
+# Version: 0.1 by Sherif Nagy AKA DarKnesS_WolF <sherif.nagy@gmail.com> BASED ON THE SLACKWARE INIT SCRIPT
+#
+# 10.10.2008 - Initial Version
+#
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+  start)
+    stat_busy "Starting Asterisk..."
+    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'`
+      if [ "`echo $VERSION | cut -c 1-8`" = "Asterisk" ]; then
+         echo "Asterisk is already running.  $0 will exit now."
+         exit 1
+      fi
+      /usr/sbin/asterisk
+      stat_done
+    fi
+    ;;
+  stop)
+    if [ -r /var/run/asterisk.pid ]; then
+      stat_busy "Stoping Asterisk..."
+      asterisk -rx "core stop now" > /dev/null 2&>1
+      if [ $? -gt 0 ]; then
+        stat_fail
+      else
+        stat_done
+      fi
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 2
+    $0 start
+    ;;
+  *)
+    echo "usage $0 start|stop|restart" ;;
+esac
+exit 0