diff options
Diffstat (limited to 'social/asterisk')
-rw-r--r-- | social/asterisk/PKGBUILD | 41 | ||||
-rw-r--r-- | social/asterisk/asterisk | 38 | ||||
-rw-r--r-- | social/asterisk/asterisk.install | 38 | ||||
-rw-r--r-- | social/asterisk/asterisk.logrotated | 10 |
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 +} + |