summaryrefslogtreecommitdiff
path: root/social/asterisk
diff options
context:
space:
mode:
Diffstat (limited to 'social/asterisk')
-rw-r--r--social/asterisk/PKGBUILD41
-rw-r--r--social/asterisk/asterisk38
-rw-r--r--social/asterisk/asterisk.install38
-rw-r--r--social/asterisk/asterisk.logrotated10
4 files changed, 127 insertions, 0 deletions
diff --git a/social/asterisk/PKGBUILD b/social/asterisk/PKGBUILD
new file mode 100644
index 000000000..7318e71dc
--- /dev/null
+++ b/social/asterisk/PKGBUILD
@@ -0,0 +1,41 @@
+# Contributor: Alessio Biancalana <dottorblaster@gmail.com>
+
+pkgname=asterisk
+pkgver=1.8.7.0
+pkgrel=1
+pkgdesc="A complete PBX solution"
+arch=('i686' 'x86_64')
+url="http://www.asterisk.org"
+license=('GPL')
+depends=('alsa-lib' 'speex' 'popt' 'libvorbis' 'curl')
+makedepends=('postgresql' 'unixodbc' 'sqlite3')
+optdepends=('libpri' 'libss7' 'openr2')
+backup=(etc/asterisk/asterisk.conf)
+source=(http://downloads.digium.com/pub/asterisk/releases/asterisk-$pkgver.tar.gz \
+ asterisk \
+ asterisk.logrotated)
+install=$pkgname.install
+md5sums=('5c6616a53fa3f300420ea17fd23abae9'
+ '59146273738605f1e011d8e7bed3561a'
+ '486e07a0a1405ea25ec5b1736034653e')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
+ make
+}
+
+package(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=${pkgdir} install
+ make DESTDIR=${pkgdir} samples
+
+ (cd ${pkgdir}/etc/asterisk
+# for i in `ls`; do [ $i = "asterisk.conf" ] || mv $i $i.default; done
+ls -I asterisk.conf | xargs -I '{}' mv '{}' '{}.default')
+# cp ${srcdir}/modules.conf modules.conf
+ sed -i -e "s/\/var\/run/\/var\/run\/asterisk/" $startdir/pkg/etc/asterisk/asterisk.conf
+
+ install -D -m 755 ${srcdir}/asterisk ${pkgdir}/etc/rc.d/asterisk
+ install -D -m 644 ${srcdir}/asterisk.logrotated ${pkgdir}/etc/logrotate.d/asterisk
+ }
diff --git a/social/asterisk/asterisk b/social/asterisk/asterisk
new file mode 100644
index 000000000..f823caefc
--- /dev/null
+++ b/social/asterisk/asterisk
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# general config
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/sbin/asterisk`
+case "$1" in
+ start)
+ stat_busy "Starting Asterisk"
+ [ -z "$PID" ] && cd /var/lib/asterisk && /usr/sbin/asterisk -G asterisk -U asterisk
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon asterisk
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping Asterisk"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm -f /var/run/asterisk/asterisk.pid &>/dev/null
+ rm_daemon asterisk
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/social/asterisk/asterisk.install b/social/asterisk/asterisk.install
new file mode 100644
index 000000000..1a3b998b7
--- /dev/null
+++ b/social/asterisk/asterisk.install
@@ -0,0 +1,38 @@
+post_install() {
+ echo -n "adding asterisk system group... "
+ groupadd -g 5060 asterisk && echo "done."
+ echo -n "adding asterisk system user... "
+ useradd -c "Asterisk daemon" -u 5060 -d /var/lib/asterisk -g asterisk -s /bin/false asterisk \
+ && echo "done."
+ passwd -l asterisk &>/dev/null
+ chown -R asterisk:asterisk /var/run/asterisk
+ chown -R asterisk:asterisk /var/log/asterisk
+ chown -R asterisk:asterisk /var/spool/asterisk
+ chown -R asterisk:asterisk /var/lib/asterisk
+
+cat << EOF
+>>>
+>>> To get Music on Hold working do pacman -S mpg123
+>>> To get the postgresql, unixodbc or sqlite2 modules working
+>>> download the respective package and modify modules.conf to reflect
+>>> your changes.
+>>>
+EOF
+
+}
+
+post_upgrade() {
+ if grep asterisk /etc/passwd &>/dev/null; then
+ /bin/true
+ else
+ post_install $1
+ fi
+}
+
+post_remove() {
+ echo -n -e "\nremoving asterisk system user... "
+ userdel asterisk && echo "done."
+}
+op=$1
+shift
+$op $*
diff --git a/social/asterisk/asterisk.logrotated b/social/asterisk/asterisk.logrotated
new file mode 100644
index 000000000..f03d0acd3
--- /dev/null
+++ b/social/asterisk/asterisk.logrotated
@@ -0,0 +1,10 @@
+/var/log/asterisk/*_log /var/log/asterisk/messages {
+ create 640 asterisk asterisk
+ compress
+ missingok
+ notifempty
+ postrotate
+ /usr/sbin/asterisk -rx "logger reload" 1>/dev/null || true
+ endscript
+}
+