summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pcr/asterisk/PKGBUILD200
-rw-r--r--pcr/asterisk/asterisk.install15
-rw-r--r--pcr/asterisk/asterisk.service3
-rw-r--r--pcr/asterisk/libSRTP_2_x_x+GCM.patch31
4 files changed, 179 insertions, 70 deletions
diff --git a/pcr/asterisk/PKGBUILD b/pcr/asterisk/PKGBUILD
index e67519bd5..52c129338 100644
--- a/pcr/asterisk/PKGBUILD
+++ b/pcr/asterisk/PKGBUILD
@@ -1,79 +1,151 @@
-# Maintainer (Arch): Xavier Devlamynck <magicrhesus@ouranos.be>
-# Contributor (Arch): Alessio Biancalana <dottorblaster@gmail.com>
-# Contributor (Arch): Maik Broemme <mbroemme@libmpq.org>
+# Maintainer (AUR): Xavier Devlamynck <magicrhesus@ouranos.be>
+# Contributor (AUR): Alessio Biancalana <dottorblaster@gmail.com>
+# Contributor (AUR): Maik Broemme <mbroemme@libmpq.org>
+
+# parabola changes and rationale:
+# - added pjproject as explicit dependency
+# - patched https://issues.asterisk.org/jira/browse/ASTERISK-27356
pkgname=asterisk
-pkgver=11.5.0
-pkgrel=2
+pkgver=15.1.0
+pkgrel=1
pkgdesc="A complete PBX solution"
-arch=('i686' 'x86_64')
-backup=('etc/asterisk/acl.conf' 'etc/asterisk/adsi.conf'
-'etc/asterisk/agents.conf' 'etc/asterisk/alarmreceiver.conf'
-'etc/asterisk/alsa.conf' 'etc/asterisk/amd.conf'
-'etc/asterisk/app_mysql.conf' 'etc/asterisk/app_skel.conf'
-'etc/asterisk/asterisk.conf' 'etc/asterisk/calendar.conf'
-'etc/asterisk/ccss.conf' 'etc/asterisk/cdr.conf'
-'etc/asterisk/cdr_adaptive_odbc.conf' 'etc/asterisk/cdr_custom.conf'
-'etc/asterisk/cdr_manager.conf' 'etc/asterisk/cdr_mysql.conf'
-'etc/asterisk/cdr_odbc.conf' 'etc/asterisk/cdr_pgsql.conf'
-'etc/asterisk/cdr_sqlite3_custom.conf' 'etc/asterisk/cdr_syslog.conf'
-'etc/asterisk/cdr_tds.conf' 'etc/asterisk/cel.conf'
-'etc/asterisk/cel_custom.conf' 'etc/asterisk/cel_odbc.conf'
-'etc/asterisk/cel_pgsql.conf' 'etc/asterisk/cel_sqlite3_custom.conf'
-'etc/asterisk/cel_tds.conf' 'etc/asterisk/chan_dahdi.conf'
-'etc/asterisk/chan_mobile.conf' 'etc/asterisk/cli.conf'
-'etc/asterisk/cli_aliases.conf' 'etc/asterisk/cli_permissions.conf'
-'etc/asterisk/codecs.conf' 'etc/asterisk/confbridge.conf'
-'etc/asterisk/config_test.conf' 'etc/asterisk/console.conf'
-'etc/asterisk/dbsep.conf' 'etc/asterisk/dnsmgr.conf'
-'etc/asterisk/dsp.conf' 'etc/asterisk/dundi.conf'
-'etc/asterisk/enum.conf' 'etc/asterisk/extconfig.conf'
-'etc/asterisk/extensions.conf' 'etc/asterisk/extensions_minivm.conf'
-'etc/asterisk/features.conf' 'etc/asterisk/festival.conf'
-'etc/asterisk/followme.conf' 'etc/asterisk/func_odbc.conf'
-'etc/asterisk/gtalk.conf' 'etc/asterisk/h323.conf'
-'etc/asterisk/http.conf' 'etc/asterisk/iax.conf'
-'etc/asterisk/iaxprov.conf' 'etc/asterisk/indications.conf'
-'etc/asterisk/jabber.conf' 'etc/asterisk/jingle.conf'
-'etc/asterisk/logger.conf' 'etc/asterisk/manager.conf'
-'etc/asterisk/meetme.conf' 'etc/asterisk/mgcp.conf'
-'etc/asterisk/minivm.conf' 'etc/asterisk/misdn.conf'
-'etc/asterisk/modules.conf' 'etc/asterisk/motif.conf'
-'etc/asterisk/musiconhold.conf' 'etc/asterisk/muted.conf'
-'etc/asterisk/ooh323.conf' 'etc/asterisk/osp.conf'
-'etc/asterisk/oss.conf' 'etc/asterisk/phone.conf'
-'etc/asterisk/phoneprov.conf' 'etc/asterisk/queuerules.conf'
-'etc/asterisk/queues.conf' 'etc/asterisk/res_config_mysql.conf'
-'etc/asterisk/res_config_sqlite.conf'
-'etc/asterisk/res_config_sqlite3.conf' 'etc/asterisk/res_corosync.conf'
-'etc/asterisk/res_curl.conf' 'etc/asterisk/res_fax.conf'
-'etc/asterisk/res_ldap.conf' 'etc/asterisk/res_odbc.conf'
-'etc/asterisk/res_pgsql.conf' 'etc/asterisk/res_pktccops.conf'
-'etc/asterisk/res_snmp.conf' 'etc/asterisk/res_stun_monitor.conf'
-'etc/asterisk/rtp.conf' 'etc/asterisk/say.conf' 'etc/asterisk/sip.conf'
-'etc/asterisk/sip_notify.conf' 'etc/asterisk/skinny.conf'
-'etc/asterisk/sla.conf' 'etc/asterisk/smdi.conf'
-'etc/asterisk/udptl.conf' 'etc/asterisk/unistim.conf'
-'etc/asterisk/users.conf' 'etc/asterisk/voicemail.conf'
-'etc/asterisk/vpb.conf' 'etc/asterisk/xmpp.conf')
+arch=('i686' 'x86_64' 'armv7h')
+backup=('etc/asterisk/acl.conf'
+ 'etc/asterisk/adsi.conf'
+ 'etc/asterisk/agents.conf'
+ 'etc/asterisk/alarmreceiver.conf'
+ 'etc/asterisk/alsa.conf'
+ 'etc/asterisk/amd.conf'
+ 'etc/asterisk/app_mysql.conf'
+ 'etc/asterisk/app_skel.conf'
+ 'etc/asterisk/ari.conf'
+ 'etc/asterisk/asterisk.adsi'
+ 'etc/asterisk/asterisk.conf'
+ 'etc/asterisk/calendar.conf'
+ 'etc/asterisk/ccss.conf'
+ 'etc/asterisk/cdr.conf'
+ 'etc/asterisk/cdr_adaptive_odbc.conf'
+ 'etc/asterisk/cdr_custom.conf'
+ 'etc/asterisk/cdr_manager.conf'
+ 'etc/asterisk/cdr_mysql.conf'
+ 'etc/asterisk/cdr_odbc.conf'
+ 'etc/asterisk/cdr_pgsql.conf'
+ 'etc/asterisk/cdr_sqlite3_custom.conf'
+ 'etc/asterisk/cdr_syslog.conf'
+ 'etc/asterisk/cdr_tds.conf'
+ 'etc/asterisk/cel.conf'
+ 'etc/asterisk/cel_custom.conf'
+ 'etc/asterisk/cel_odbc.conf'
+ 'etc/asterisk/cel_pgsql.conf'
+ 'etc/asterisk/cel_sqlite3_custom.conf'
+ 'etc/asterisk/cel_tds.conf'
+ 'etc/asterisk/chan_dahdi.conf'
+ 'etc/asterisk/chan_mobile.conf'
+ 'etc/asterisk/cli.conf'
+ 'etc/asterisk/cli_aliases.conf'
+ 'etc/asterisk/cli_permissions.conf'
+ 'etc/asterisk/codecs.conf'
+ 'etc/asterisk/confbridge.conf'
+ 'etc/asterisk/config_test.conf'
+ 'etc/asterisk/console.conf'
+ 'etc/asterisk/dbsep.conf'
+ 'etc/asterisk/dnsmgr.conf'
+ 'etc/asterisk/dsp.conf'
+ 'etc/asterisk/dundi.conf'
+ 'etc/asterisk/enum.conf'
+ 'etc/asterisk/extconfig.conf'
+ 'etc/asterisk/extensions.ael'
+ 'etc/asterisk/extensions.conf'
+ 'etc/asterisk/extensions.lua'
+ 'etc/asterisk/extensions_minivm.conf'
+ 'etc/asterisk/features.conf'
+ 'etc/asterisk/festival.conf'
+ 'etc/asterisk/followme.conf'
+ 'etc/asterisk/func_odbc.conf'
+ 'etc/asterisk/hep.conf'
+ 'etc/asterisk/http.conf'
+ 'etc/asterisk/iax.conf'
+ 'etc/asterisk/iaxprov.conf'
+ 'etc/asterisk/indications.conf'
+ 'etc/asterisk/logger.conf'
+ 'etc/asterisk/manager.conf'
+ 'etc/asterisk/meetme.conf'
+ 'etc/asterisk/mgcp.conf'
+ 'etc/asterisk/minivm.conf'
+ 'etc/asterisk/misdn.conf'
+ 'etc/asterisk/modules.conf'
+ 'etc/asterisk/motif.conf'
+ 'etc/asterisk/musiconhold.conf'
+ 'etc/asterisk/muted.conf'
+ 'etc/asterisk/ooh323.conf'
+ 'etc/asterisk/osp.conf'
+ 'etc/asterisk/oss.conf'
+ 'etc/asterisk/phone.conf'
+ 'etc/asterisk/phoneprov.conf'
+ 'etc/asterisk/pjsip.conf'
+ 'etc/asterisk/pjsip_notify.conf'
+ 'etc/asterisk/pjsip_wizard.conf'
+ 'etc/asterisk/queuerules.conf'
+ 'etc/asterisk/queues.conf'
+ 'etc/asterisk/res_config_mysql.conf'
+ 'etc/asterisk/res_config_sqlite.conf'
+ 'etc/asterisk/res_config_sqlite3.conf'
+ 'etc/asterisk/res_corosync.conf'
+ 'etc/asterisk/res_curl.conf'
+ 'etc/asterisk/res_fax.conf'
+ 'etc/asterisk/res_ldap.conf'
+ 'etc/asterisk/res_odbc.conf'
+ 'etc/asterisk/res_parking.conf'
+ 'etc/asterisk/res_pgsql.conf'
+ 'etc/asterisk/res_pktccops.conf'
+ 'etc/asterisk/res_snmp.conf'
+ 'etc/asterisk/res_stun_monitor.conf'
+ 'etc/asterisk/rtp.conf'
+ 'etc/asterisk/say.conf'
+ 'etc/asterisk/sip.conf'
+ 'etc/asterisk/sip_notify.conf'
+ 'etc/asterisk/skinny.conf'
+ 'etc/asterisk/sla.conf'
+ 'etc/asterisk/smdi.conf'
+ 'etc/asterisk/sorcery.conf'
+ 'etc/asterisk/ss7.timers'
+ 'etc/asterisk/stasis.conf'
+ 'etc/asterisk/statsd.conf'
+ 'etc/asterisk/telcordia-1.adsi'
+ 'etc/asterisk/test_sorcery.conf'
+ 'etc/asterisk/udptl.conf'
+ 'etc/asterisk/unistim.conf'
+ 'etc/asterisk/users.conf'
+ 'etc/asterisk/voicemail.conf'
+ 'etc/asterisk/vpb.conf'
+ 'etc/asterisk/xmpp.conf')
url="http://www.asterisk.org"
license=('GPL')
-depends=('alsa-lib' 'speex' 'popt' 'libvorbis' 'curl')
-makedepends=('postgresql' 'unixodbc' 'sqlite3')
-optdepends=('libpri' 'libss7' 'openr2' 'iksemel' 'radiusclient-ng' 'dahdi')
+depends=('alsa-lib' 'speex' 'popt' 'libvorbis' 'curl' 'libxml2' 'jansson' 'libxslt' 'opus' 'pjproject')
+makedepends=('sqlite3' 'gsm')
+optdepends=('lua51' 'libsrtp' 'postgresql' 'unixodbc' 'libpri' 'libss7' 'openr2' 'iksemel' 'radiusclient-ng' 'dahdi')
source=(http://downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-${pkgver}.tar.gz \
${pkgname}.service \
${pkgname}.logrotated \
- ${pkgname}.tmpfile)
+ ${pkgname}.tmpfile \
+ libSRTP_2_x_x+GCM.patch)
install=${pkgname}.install
-sha256sums=('a82c1ddd9fb1d98f0dab6e0255a127fb7c7eaa687b3d515182458244062b4194'
- '74e0b278d553499f0c648a6e3d55c0dbb11b0c6dc93a85b020a21eafadb83783'
- 'caa24cfec5c6b4f8cea385269e39557362acad7e2a552994c3bc24080e3bdd4e'
- '673c0c55bce8068c297f9cdd389402c2d5d5a25e2cf84732cb071198bd6fa78a')
+sha256sums=('23a34342c410009ab35566bf85ca2a1a0573f1848dc0ac74f65f5e0bca51f898'
+ '94acb6e68424195a12fd9d406b3fb586f264a550e75801f6e020a86e800dd42c'
+ 'caa24cfec5c6b4f8cea385269e39557362acad7e2a552994c3bc24080e3bdd4e'
+ '673c0c55bce8068c297f9cdd389402c2d5d5a25e2cf84732cb071198bd6fa78a'
+ 'b26311a6cd0413d563346537db3d41277b27932d0720c2431dec0167de31954e')
+
+prepare(){
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch -Np0 -i "$srcdir"/libSRTP_2_x_x+GCM.patch
+}
build() {
cd ${srcdir}/${pkgname}-${pkgver}
- ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin
+ #./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin --with-libedit=internal
+ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --sbindir=/usr/bin --with-pjproject-bundled=no
make
}
diff --git a/pcr/asterisk/asterisk.install b/pcr/asterisk/asterisk.install
index b7c1a71f7..84cc01d87 100644
--- a/pcr/asterisk/asterisk.install
+++ b/pcr/asterisk/asterisk.install
@@ -2,14 +2,19 @@ post_install() {
groupadd -r asterisk
useradd -MNr -s /bin/false -d /run/asterisk -g asterisk asterisk && passwd -l asterisk &>/dev/null
- chown -R asterisk:asterisk /etc/asterisk
- chown -R asterisk:asterisk /var/lib/asterisk
- chown -R asterisk:asterisk /var/log/asterisk
- chown -R asterisk:asterisk /run/asterisk
- chown -R asterisk:asterisk /var/spool/asterisk
+ post_upgrade
}
post_remove() {
+ killall -q asterisk
userdel asterisk &>/dev/null
groupdel asterisk &>/dev/null
}
+
+post_upgrade() {
+ chown -R asterisk:asterisk /etc/asterisk
+ chown -R asterisk:asterisk /var/lib/asterisk
+ chown -R asterisk:asterisk /var/log/asterisk
+ chown -R asterisk:asterisk /run/asterisk
+ chown -R asterisk:asterisk /var/spool/asterisk
+}
diff --git a/pcr/asterisk/asterisk.service b/pcr/asterisk/asterisk.service
index 789a1adda..284477f2b 100644
--- a/pcr/asterisk/asterisk.service
+++ b/pcr/asterisk/asterisk.service
@@ -13,8 +13,9 @@ ExecStop=/usr/bin/asterisk -rx 'core stop now'
ExecReload=/usr/bin/asterisk -rx 'core reload'
# safe_asterisk emulation
-Restart=always
+Restart=on-failure
RestartSec=10
+RestartPreventExitStatus=0
[Install]
WantedBy=multi-user.target
diff --git a/pcr/asterisk/libSRTP_2_x_x+GCM.patch b/pcr/asterisk/libSRTP_2_x_x+GCM.patch
new file mode 100644
index 000000000..b8f7abffc
--- /dev/null
+++ b/pcr/asterisk/libSRTP_2_x_x+GCM.patch
@@ -0,0 +1,31 @@
+--- configure.ac (Asterisk 15.1.0)
++++ configure.ac (working copy)
+@@ -2523,6 +2523,7 @@
+ if test "x$PBX_SRTP" = x1;
+ then
+ AST_EXT_LIB_CHECK([SRTP_256], [srtp2], [srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80])
++ AST_EXT_LIB_CHECK([SRTP_192], [srtp2], [srtp_crypto_policy_set_aes_cm_192_hmac_sha1_80])
+ AST_EXT_LIB_CHECK([SRTP_GCM], [srtp2], [srtp_crypto_policy_set_aes_gcm_128_8_auth])
+ AST_EXT_LIB_CHECK([SRTP_SHUTDOWN], [srtp2], [srtp_shutdown], [srtp2/srtp.h])
+
+--- res/srtp/srtp_compat.h (Asterisk 15.1.0)
++++ res/srtp/srtp_compat.h (working copy)
+@@ -16,6 +16,18 @@
+ #define crypto_policy_set_aes_gcm_128_8_auth srtp_crypto_policy_set_aes_gcm_128_8_auth
+ #define crypto_policy_set_aes_gcm_256_8_auth srtp_crypto_policy_set_aes_gcm_256_8_auth
+
++#if defined(SRTP_AES_GCM_128_KEY_LEN_WSALT)
++#define AES_128_GCM_KEYSIZE_WSALT SRTP_AES_GCM_128_KEY_LEN_WSALT
++#else
++#define AES_128_GCM_KEYSIZE_WSALT SRTP_AES_128_GCM_KEYSIZE_WSALT
++#endif
++
++#if defined(SRTP_AES_GCM_256_KEY_LEN_WSALT)
++#define AES_256_GCM_KEYSIZE_WSALT SRTP_AES_GCM_256_KEY_LEN_WSALT
++#else
++#define AES_256_GCM_KEYSIZE_WSALT SRTP_AES_256_GCM_KEYSIZE_WSALT
++#endif
++
+ #define err_status_t srtp_err_status_t
+ #define err_status_ok srtp_err_status_ok
+ #define err_status_fail srtp_err_status_fail