summaryrefslogtreecommitdiff
path: root/net-misc/asterisk
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-05-30 11:44:06 +0100
commitf516638b7fe9592837389826a6152a7e1b251c54 (patch)
tree8bfecb640b7b6403d7a3d662d923eed630033da7 /net-misc/asterisk
parent1a61119f9f7b057830e2ce0563f913ec86f282ad (diff)
gentoo resync : 30.05.2020
Diffstat (limited to 'net-misc/asterisk')
-rw-r--r--net-misc/asterisk/Manifest10
-rw-r--r--net-misc/asterisk/asterisk-13.32.0-r1.ebuild323
-rw-r--r--net-misc/asterisk/asterisk-16.9.0.ebuild315
-rw-r--r--net-misc/asterisk/files/asterisk-13.32.0-binutils-2.34.patch18
-rw-r--r--net-misc/asterisk/files/asterisk-historic-dahdiras-without-root.patch23
-rw-r--r--net-misc/asterisk/files/asterisk-historic-dundi-null-dereference.patch40
-rw-r--r--net-misc/asterisk/files/asterisk-historic-invert-gmine-search-order.patch12
-rw-r--r--net-misc/asterisk/files/asterisk-historic-uclibc.patch23
-rw-r--r--net-misc/asterisk/files/initd-13.32.0380
9 files changed, 0 insertions, 1144 deletions
diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
index 88419769b00a..bdb31e207053 100644
--- a/net-misc/asterisk/Manifest
+++ b/net-misc/asterisk/Manifest
@@ -9,28 +9,18 @@ AUX 1.8.0/asterisk.initd7 9261 BLAKE2B a0b3740b9d4352bff9489b74aef60847eacb1f2b3
AUX 1.8.0/asterisk.initd8 9784 BLAKE2B 84558128572f9c3ca3331eda48728613e23ec7d5ebe5a1ef930a1ab125f1e1f2457a13231308506612e98b6c530c7a0d007bb8b673560ee77d078de5fc341d61 SHA512 eb0f316a2fbfbc228a605118b03e213653b94ab1400e50248bd2de5ce436eab9318d486d1c46d7ee8e83c71161d6106605b38bc01d5d4b461f91962749e41ee3
AUX 1.8.0/find_call_ids.sh 1078 BLAKE2B b480ec9f61453081735e0a1e5176a6de3e6ecc58ec8035b439bd95d64f9e1a5d02fe9810db4ba2e8d20632f186dd91d17c6cdd17a307ddd7802e8aea4638abbc SHA512 1690eb3ea9eb51711df9fd7c121dbc520a2a15870fa06523f096968386ca68a132a46e361b9d19367c7089cd9ad18132ed02ef0aedd990d5939550182a3366c9
AUX 1.8.0/find_call_sip_trace.sh 1115 BLAKE2B d9f5cc559f3dd3fbbb9c50a2b6e6ad30c94521774d3774023d0fd4f51d74b8109b4c9d3eea92c7872532012cabbe892d49aa5261aa4a64b324dff5b679820851 SHA512 e679f3953b2e397d7c80bb2f0ca3db848f07ba97ca139c87224de4467f8172034eb4372e5ddd68116774a7b9d5fd48aa30d809e2af2c6e6e0747762c69090b6a
-AUX asterisk-13.32.0-binutils-2.34.patch 573 BLAKE2B a92202c4d07f11b59f68b5b32f8c2240c81d599b0ade14f4a70281bd1bf8b6885e021679bdaf3d5b3594076c15e37be67fa657cbb280a82d437b6064b8ae3243 SHA512 fe54d844aaa1ba5c62199330905bbe614322742b86f93d627c0572093ce1c119cbc88fc96165a1a856c4b4d2f2f56a128951d854777d89e04475f30efa648df7
-AUX asterisk-historic-dahdiras-without-root.patch 668 BLAKE2B 020298676b0e7e195c2c4fc73463a9517263bd4f2b695206609b032f4cd476f8c990dda5dd5157e45012674fc27034d44097259bc96029cb66a1e83ae3b9795d SHA512 11e660c28a5b293719df70488ca656f171a080afb7fde3acb20bbf7e9f250de92391ab3a6e5d2a1ddd0e9551c52cca3a5ef8371b306ce260943c273a3ab6a22e
-AUX asterisk-historic-dundi-null-dereference.patch 1196 BLAKE2B fe3fa097328ca1b4205025ba9a749045490c4aba2cf8242ef755ab359d422d4edddc306b9af61d215800a65d5f4010a37d987b944729a9f5bf45b811ccb61f58 SHA512 c117e999e1ab731dda27da5238b863e3fc1ef0252ba6b20e4651a10c245cb935baa2f150fcd92fc1482ee87f2579b61c6dd5a7992df7ffe6624b60f2d26bb365
-AUX asterisk-historic-invert-gmine-search-order.patch 415 BLAKE2B ff5ed07584ac2fa05792e690900ac207edf61b74fda7515e78783daae31a662484067750c580ca3efcb410cca5b5e6f2af3c8225a62c17194a53dfe0456ffa56 SHA512 a93f25bec0c3564442a95f0ab1904c848bf7f8e08b51a626539d93e6a712ba5f01e1fce7f5e2ce676b28f13d618443afc1a05e0697d8ee1af7617ce52e5b2efb
AUX asterisk-historic-no-var-run-install.patch 790 BLAKE2B 6fb753a3dc1b557b4cca8df1dc93eba3de70114f0bb206692461a3faf4068ffbf641740fa51e5010cabf0cbb64d8856dd9a830eba802b1988208b8a185a1fc57 SHA512 9c941d49a1ea10f702b7ce2c9c4a120c0e8ea297f13ecaa9d2a9b059cf4452a981aa0e0eabd5c4711c222311e3f9a52ee1135c59433ba878a9bd3a979be852fd
-AUX asterisk-historic-uclibc.patch 734 BLAKE2B 0d1e7bef3b641de0cdf3ba3e146fce63a507860fe8842e15b38937326e1881dd6498ddc89b6d96825132fac52f951cd2508c7b8614c93bd11017b327589015e0 SHA512 ff3872d1e77b609dcbbce702fa000d3431c4592ee41efd959887e0d38c39f93196422c1a1e0d22a7839fe92a68c2a13da81b7f70310863713772c59e5c2cc08a
AUX asterisk.service 456 BLAKE2B 4a5da9f0e45aa3b1eff29d59317d09e061e0a0e3c0e38cd39732e7880e96b7f34a68b44001d2608a7636b1259803f567b94bdb85ef15428727427fa1081ee385 SHA512 d443c3821d50e78a76b7cad8906f560ab0f4b58007f6c9322256626bc4a502bdbd844f1ee48cdaf86d499bf78f50cebb0cfc88a0cab0c4876f4e853bc2e76aa8
AUX asterisk.service.conf 324 BLAKE2B b802f69897f050f661412631da7ddc6e3207ff0d776ad2c2cfb13677049b8e3fce8c565103057745a48a4245f8c660f805088844fdea7fb042facd32b5ec13b7 SHA512 94be3b27f9d862d357b62d14b9d59ca47487bfd4987ce3b0ea2bb862c6d03e1d3c8b536590f20295fd085166da3efdff869c4cfc37542a31933d22b6d9b73da3
AUX asterisk.tmpfiles.conf 88 BLAKE2B 3c32a8dd17b94d607407a7b201448be69c72f1cbe2c414a72e2e2a49436160edcd79b370df6cd830d37d713ee0083e11b92b8053a7822645db960af9fe97ba2f SHA512 a3bdc4608f8fa9e71c2ba398e7a12ed91b7f6c6eb52c96daa86133d382bd08e84d8dd5c1749baa0d1c9c6c5fca9be7aa932eb946d188869294af5b7062ed7a23
AUX confd-13.32.0 3895 BLAKE2B eada6c9ef6bb6754645679e6f2f5f2d299d89a3df3830f32ad468d2b83da3e98a4dda51250d86b5625e240c89dc151b26199e23b4131fd00764bcad223d15768 SHA512 55e8b2e2ac4da129375224cdfbb1165032b934fcce3da509e966083c80d7606af77025460214349da5203d9650cc03a9d4087266128459c7d99593068d94aae5
-AUX initd-13.32.0 10546 BLAKE2B 857c44b74a411ab4ef5b9ffafb566f8f81949b40c685807db26d59d8b7233a06c3c55425151937c11f8e1c2d7f72f64674d77cef2bca8b28c5d608d9816905ab SHA512 f22e789bd33576ebb149fb07a623397aeccc2280b6c55ee762f2c95d3622a25d208a06078faf2fefaf0d984a24c00b60eb82da2ae084abb3e3efd90ffa5351a9
AUX initd-13.32.0-r1 9945 BLAKE2B 26fd8ff02e63a77fbe0712b745b9270fa58ae44d1dec4428bdaa93e1354b660dfb76b5969b5811add3b092302dcba3fbbdfdcd849cacb1f05fe645af9d73d359 SHA512 556fe37a67994989642b609443d94f990b23fd0cf037268b1ef9f66a9fdd93a79cb7f2e9ee10c069936b41b7f361abbb72836b1da759e646733e2f7c14d3195b
DIST asterisk-11.25.3.tar.gz 35134682 BLAKE2B 9da24d5d6a674ab660edb103e5fc56ddfbcc58cd86166cc08cceb0598a63b51eae36133565e09a30ad11ff6623ba8945437dfb561d2916f68341d398540dabce SHA512 9c0521d55e5b69663ea40066d52e397ba6c165a4b20cd0a1e5e375b9c0e5a6e4f37908e50b0b580e288dec9be252af9a8bce7bceb03ba029f902fb757e6311ed
-DIST asterisk-13.32.0.tar.gz 33652378 BLAKE2B c6b0ca0895b25526c135332966f33761b74a88dec4a7b0ff0fe40263640ee2fb928eca29e716fba3cc8e96c6e395e7c70c36f41def6a0d055baac2a5c7b8637a SHA512 daafcd5d3544725e7a96bd467d998c4d74fd3c5d7e9d8fb4ce16e340ce09c502b1603e468e89c5a62b59282848b4ff0a43bdbcd75902cd11f6951d828511e841
DIST asterisk-13.33.0.tar.gz 33683712 BLAKE2B ecfc122628c08e93fc389f111e1ee8ddcf3d27895437df9da5b83a6440c2135f9223a5605e0ef436e8585f8b023abba5b74680cac97f1700e1bc153872c1ed87 SHA512 b866a63cce7c289d32333b4b3b0a605c413b48fc7518976aa0768dd5c68894348d0de1c9bc7c56b73eb86b69e0fd9847d7226fa0f9e449f8ebb8a7118329db56
DIST asterisk-16.10.0.tar.gz 27706766 BLAKE2B b8d7866fe3e8420ef5ce6ea5e016316f63e4f2e8904a79de69c4ddfb7aedcd00f09cfb414da43938af0771cdde387dcebfe716eb34e5ed1de3a30ff534459c7f SHA512 254c582593cf6ec691649d995a8d73260d2e340ad6ae65f0af62f6b8c3ef59c4da6ad9172bc04cc29a907d1e8d2ef105ae2ae20190b30115d5d402423c8c08cb
-DIST asterisk-16.9.0.tar.gz 27674324 BLAKE2B 991fb0146f5dea338a8c6ad98007e2ac1b182ac2ed7dbabd4143aa7f968dc353563ac4aba18bb07e9b0a705dabd1446319b06f4be284922a804d5c2dbddf6f7b SHA512 b8101fa3cc6068230b6b9a28a558415e7104b9bc3a8c0c245af34e9839cf1eb287739a2142ad0227d2fef41e6d40a5c01128a0b44a7ecaae13a00767d0fa8ab9
DIST gentoo-asterisk-patchset-3.17.tar.bz2 5074 BLAKE2B 3c945e77b54b2449253acb9fcea8d289a7a3184729190622c14aff5557d36c93556efa83320fe4e7ae84021960c09f35ae9f997e8015706eef933aae2948309e SHA512 37f86f3c699b2643afd8080391e817a282571694bb56e00efd0734918dbc33d6c12a2463dbc24667597420863b4f506870140fbb8ef3f1700124ef790ae7252d
DIST gentoo-asterisk-patchset-4.08.tar.bz2 2176 BLAKE2B 7f8c9b5fda855091e66b2534d2be23fb1616f565480459f71f766826e5deeeecb24899e2ee9eefe74323e892624d32ab954ec7e9be6a002431ff029fc13493ed SHA512 365c1b8628882c48c279e1fd77d982e6d0820ba7d7122e97bb4988f875d7010caa956798c833c3b01d389004fa08a63a9de2c1b452c9e5701c6106e29fd8e9e1
EBUILD asterisk-11.25.3.ebuild 9607 BLAKE2B dedc0fe6dc53dd63a674648fc309957416f6b0e1f6036803802831ec33754b0fada3af67264744274004c2d29b0b43c1d4ab430aec6c3d368aab024a02c92297 SHA512 90c7b637065abc7953bce1016eee9c3b9f94f3a30df593de81cd72e61afd217db62a505d059623f99f72be643ade955460dbd4138e5a98e979b924de5bbe2cc8
-EBUILD asterisk-13.32.0-r1.ebuild 9796 BLAKE2B 642d4b5a94e3a835e0b82e91717db6f0080a2d119500679bbd106828c6bec1b249e2fc7364bc019256e768dd7e991ea948f92f97b564add03b1511519a762e03 SHA512 445e85c57e6806a6224ffcb03c8e933f198f95ddd5991313afc2af3de24e669bd75a27ee061968229628394b2daf0f0416cb4889f6595e94f9f9a6f569ff377c
EBUILD asterisk-13.33.0.ebuild 9173 BLAKE2B df9b4d5b2add191db0ea42765ae8f52a2b246761d689b1c8f7191f02475e0dfabe07b6ee318eb8ada7f83a47cf8e928dca46de5d4b898eb5388be89aff5db770 SHA512 461eb01828e69a9e294b0892a2bd01219ae39d51e80567dfbd38e50933f5fe40112c2aba05dc9ce14cad9f511fee92d692966411b032cb0a13d0672566eb6994
EBUILD asterisk-16.10.0.ebuild 9313 BLAKE2B aa08c101a2531afe02059616da7cc4e621124f86ccbcada647d1f2acdde12bdc80d2abe69a391c06d20ad26416cd3c20187e326ad9689750273b9167bdacd702 SHA512 5d851d212b4edc89addbed9058b4108c5a49e1859bc10bdeb9341b39ed0b6563da335a29c427d95d7609429aeb4beece6c16af1592c0b4026879ca7c9e101715
-EBUILD asterisk-16.9.0.ebuild 9852 BLAKE2B db97375b52ca0d9cae392252e76af9270197c21c986bca673d8c815bf6c38affb1b3fa2c4d5e24d3822097db82d6e2fc661a67a349857c711a74d29f57914f0f SHA512 24f4f001a4c6c683eba65e7cb21678d612995ca6f48d6484a09d43d853209020de4f582cceae86237cf4ad5ea5130baec54161b278faf70fdd873e62d94af5ef
MISC metadata.xml 1391 BLAKE2B dfa59edbb0e1e073171b7b335bec7c8188af06e97a88674c4a4f516fc42e4754044c8430af549865ff6bb18eb1dc969dbfa3b3868cc7b8964150581d200d946c SHA512 1dce9bbe1879a7a93ec9ca99a618722753251625626f15fcf9efbf9aa781f93084ea0f68857eeeb41664d82bdb2922ce75649c8627dbd9b46e42a7e825e3b3b2
diff --git a/net-misc/asterisk/asterisk-13.32.0-r1.ebuild b/net-misc/asterisk/asterisk-13.32.0-r1.ebuild
deleted file mode 100644
index 49dc718b5c0c..000000000000
--- a/net-misc/asterisk/asterisk-13.32.0-r1.ebuild
+++ /dev/null
@@ -1,323 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools linux-info systemd
-
-MY_P="${PN}-${PV/_/-}"
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
- https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
-
-IUSE_VOICEMAIL_STORAGE="
- +voicemail_storage_file
- voicemail_storage_odbc
- voicemail_storage_imap
-"
-IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc ldap libedit libressl lua mysql newt +samples odbc osplookup oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/asterisk-historic-uclibc.patch"
- "${FILESDIR}/asterisk-historic-dahdiras-without-root.patch"
- "${FILESDIR}/asterisk-historic-invert-gmine-search-order.patch"
- "${FILESDIR}/asterisk-historic-dundi-null-dereference.patch"
- "${FILESDIR}/asterisk-historic-no-var-run-install.patch"
- "${FILESDIR}/asterisk-13.32.0-binutils-2.34.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- dev-libs/jansson
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-libs/ncurses:0=
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- cluster? ( sys-cluster/corosync )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( dev-libs/ilbc-rfc3951 )
- ldap? ( net-nds/openldap )
- libedit? ( dev-libs/libedit )
- lua? ( dev-lang/lua:* )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- osplookup? ( net-libs/osptoolkit )
- pjproject? ( net-libs/pjproject )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- vorbis? ( media-libs/libvorbis )
- voicemail_storage_imap? ( virtual/imap-c-client )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-pkg_setup() {
- CONFIG_CHECK="~!NF_CONNTRACK_SIP"
- local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
- have reported that this module dropped critical SIP packets in their deployments. You
- may want to disable it if you see such problems."
- check_extra_config
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf
-}
-
-function menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
-}
-
-src_configure() {
- local vmst
-
- econf \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --without-libedit \
- $(use_with caps cap) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl)
-
- # Blank out sounds/sounds.xml file to prevent
- # asterisk from installing sounds files (we pull them in via
- # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
- >"${S}"/sounds/sounds.xml
-
- # That NATIVE_ARCH chatter really is quite bothersome
- sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
-
- # Compile menuselect binary for optional components
- emake NOISE_BUILD=yes menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- menuselect --disable chan_misdn menuselect.makeopts
- menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- menuselect --enable smsq menuselect.makeopts
- menuselect --enable streamplayer menuselect.makeopts
- menuselect --enable aelparse menuselect.makeopts
- menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- menuselect --enable chan_mgcp menuselect.makeopts
- menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- menuselect --enable pbx_dundi menuselect.makeopts
- menuselect --enable func_aes menuselect.makeopts
- menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # The others are based on USE-flag settings
- use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- use_select alsa chan_alsa
- use_select bluetooth chan_mobile
- use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
- use_select cluster res_corosync
- use_select curl func_curl res_config_curl res_curl
- use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- use_select freetds {cdr,cel}_tds
- use_select gtalk chan_motif
- use_select http res_http_post
- use_select iconv func_iconv
- use_select ilbc codec_ilbc format_ilbc
- use_select ldap res_config_ldap
- use_select lua pbx_lua
- use_select mysql app_mysql cdr_mysql res_config_mysql
- use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
- use_select osplookup app_osplookup
- use_select oss chan_oss
- use_select postgres {cdr,cel}_pgsql res_config_pgsql
- use_select radius {cdr,cel}_radius
- use_select snmp res_snmp
- use_select span res_fax_spandsp
- use_select speex {codec,func}_speex
- use_select srtp res_srtp
- use_select statsd res_statsd res_{endpoint,chan}_stats
- use_select syslog cdr_syslog
- use_select vorbis format_ogg_vorbis
- use_select xmpp res_xmpp
-
- # Voicemail storage ...
- for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
- if use ${vmst}; then
- menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
- menuselect --enable $o menuselect.makeopts
- done
- fi
-}
-
-src_compile() {
- emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes
-}
-
-src_install() {
- local d
-
- mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die
- emake DESTDIR="${ED}" NOISY_BUILD=yes install
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
- diropts -m 0750 -o root -g asterisk
- keepdir /etc/asterisk
- if use samples; then
- emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs
- for conffile in "${ED}/etc/asterisk/"*
- do
- fowners root:root "${conffile#${ED}}"
- fperms 0644 "${conffile#${ED}}"
- done
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/lib/asterisk
- keepdir /var/spool/asterisk
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk
- newconfd "${FILESDIR}"/confd-13.32.0 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- if use doc; then
- dodoc doc/*.txt
- dodoc doc/*.pdf
- fi
-
- # install SIP scripts; bug #300832
- #
- dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
- dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
- dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
- dodoc "${FILESDIR}/1.6.2/call_data.txt"
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do
- keepdir "${d#${ED}}"
- done
-}
-
-pkg_postinst() {
- #
- # Announcements, warnings, reminders...
- #
- einfo "Asterisk has been installed"
- echo
- elog "If you want to know more about asterisk, visit these sites:"
- elog "http://www.asteriskdocs.org/"
- elog "http://www.voip-info.org/wiki-Asterisk"
- echo
- elog "http://www.automated.it/guidetoasterisk.htm"
- echo
- elog "Gentoo VoIP IRC Channel:"
- elog "#gentoo-voip @ irc.freenode.net"
- echo
- echo
- elog "Please read the Asterisk 13 upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+13"
-}
diff --git a/net-misc/asterisk/asterisk-16.9.0.ebuild b/net-misc/asterisk/asterisk-16.9.0.ebuild
deleted file mode 100644
index b7d72507ad54..000000000000
--- a/net-misc/asterisk/asterisk-16.9.0.ebuild
+++ /dev/null
@@ -1,315 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools linux-info systemd
-
-DESCRIPTION="Asterisk: A Modular Open Source PBX System"
-HOMEPAGE="https://www.asterisk.org/"
-SRC_URI="https://downloads.asterisk.org/pub/telephony/asterisk/releases/${P}.tar.gz
- https://downloads.uls.co.za/gentoo/asterisk/gentoo-asterisk-patchset-4.08.tar.bz2"
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-IUSE_VOICEMAIL_STORAGE="
- +voicemail_storage_file
- voicemail_storage_odbc
- voicemail_storage_imap
-"
-IUSE="${IUSE_VOICEMAIL_STORAGE} alsa bluetooth calendar +caps cluster curl dahdi debug doc freetds gtalk http iconv ilbc ldap libressl lua mysql newt +samples odbc osplookup oss pjproject portaudio postgres radius selinux snmp span speex srtp +ssl static statsd syslog unbound vorbis xmpp"
-IUSE_EXPAND="VOICEMAIL_STORAGE"
-REQUIRED_USE="gtalk? ( xmpp )
- ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
- voicemail_storage_odbc? ( odbc )
-"
-
-PATCHES=(
- "${FILESDIR}/asterisk-historic-uclibc.patch"
- "${FILESDIR}/asterisk-historic-dahdiras-without-root.patch"
- "${FILESDIR}/asterisk-historic-invert-gmine-search-order.patch"
- "${FILESDIR}/asterisk-historic-dundi-null-dereference.patch"
- "${FILESDIR}/asterisk-historic-no-var-run-install.patch"
- "${FILESDIR}/asterisk-13.32.0-binutils-2.34.patch"
-)
-
-DEPEND="acct-user/asterisk
- acct-group/asterisk
- dev-db/sqlite:3
- dev-libs/popt
- >=dev-libs/jansson-2.11
- dev-libs/libedit
- dev-libs/libxml2:2
- dev-libs/libxslt
- sys-apps/util-linux
- sys-libs/ncurses:0=
- sys-libs/zlib
- alsa? ( media-libs/alsa-lib )
- bluetooth? ( net-wireless/bluez:= )
- calendar? (
- net-libs/neon:=
- dev-libs/libical:=
- dev-libs/iksemel
- )
- caps? ( sys-libs/libcap )
- cluster? ( sys-cluster/corosync )
- curl? ( net-misc/curl )
- dahdi? (
- net-libs/libpri
- net-misc/dahdi-tools
- )
- freetds? ( dev-db/freetds )
- gtalk? ( dev-libs/iksemel )
- http? ( dev-libs/gmime:2.6 )
- iconv? ( virtual/libiconv )
- ilbc? ( dev-libs/ilbc-rfc3951 )
- ldap? ( net-nds/openldap )
- lua? ( dev-lang/lua:* )
- mysql? ( dev-db/mysql-connector-c:= )
- newt? ( dev-libs/newt )
- odbc? ( dev-db/unixODBC )
- osplookup? ( net-libs/osptoolkit )
- pjproject? ( >=net-libs/pjproject-2.9 )
- portaudio? ( media-libs/portaudio )
- postgres? ( dev-db/postgresql:* )
- radius? ( net-dialup/freeradius-client )
- snmp? ( net-analyzer/net-snmp:= )
- span? ( media-libs/spandsp )
- speex? (
- media-libs/speex
- media-libs/speexdsp
- )
- srtp? ( net-libs/libsrtp:0 )
- ssl? (
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- )
- unbound? ( net-dns/unbound )
- vorbis? ( media-libs/libvorbis )
- voicemail_storage_imap? ( virtual/imap-c-client )
- xmpp? ( dev-libs/iksemel )
-"
-
-RDEPEND="${DEPEND}
- net-misc/asterisk-core-sounds
- net-misc/asterisk-extra-sounds
- net-misc/asterisk-moh-opsound
- selinux? ( sec-policy/selinux-asterisk )
- syslog? ( virtual/logger )"
-
-BDEPEND="virtual/pkgconfig"
-
-QA_DT_NEEDED="/usr/lib.*/libasteriskssl[.]so[.][0-9]\+"
-
-pkg_setup() {
- CONFIG_CHECK="~!NF_CONNTRACK_SIP"
- local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
- have reported that this module dropped critical SIP packets in their deployments. You
- may want to disable it if you see such problems."
- check_extra_config
-}
-
-src_prepare() {
- default
- AT_M4DIR="autoconf third-party third-party/pjproject third-party/jansson" eautoreconf
-}
-
-function menuselect() {
- menuselect/menuselect "$@" || die "menuselect $* failed."
-}
-
-src_configure() {
- local vmst
-
- econf \
- --libdir="/usr/$(get_libdir)" \
- --localstatedir="/var" \
- --with-crypto \
- --with-gsm=internal \
- --with-popt \
- --with-z \
- --with-libedit \
- --without-jansson-bundled \
- --without-pjproject-bundled \
- $(use_with caps cap) \
- $(use_with http gmime) \
- $(use_with newt) \
- $(use_with pjproject) \
- $(use_with portaudio) \
- $(use_with ssl) \
- $(use_with unbound)
-
- # Blank out sounds/sounds.xml file to prevent
- # asterisk from installing sounds files (we pull them in via
- # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
- >"${S}"/sounds/sounds.xml
-
- # That NATIVE_ARCH chatter really is quite bothersome
- sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
-
- # Compile menuselect binary for optional components
- emake NOISY_BUILD=yes menuselect.makeopts
-
- # Disable BUILD_NATIVE (bug #667498)
- menuselect --disable build_native menuselect.makeopts
-
- # Broken functionality is forcibly disabled (bug #360143)
- menuselect --disable chan_misdn menuselect.makeopts
- menuselect --disable chan_ooh323 menuselect.makeopts
-
- # Utility set is forcibly enabled (bug #358001)
- menuselect --enable smsq menuselect.makeopts
- menuselect --enable streamplayer menuselect.makeopts
- menuselect --enable aelparse menuselect.makeopts
- menuselect --enable astman menuselect.makeopts
-
- # this is connected, otherwise it would not find
- # ast_pktccops_gate_alloc symbol
- menuselect --enable chan_mgcp menuselect.makeopts
- menuselect --enable res_pktccops menuselect.makeopts
-
- # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
- menuselect --enable pbx_dundi menuselect.makeopts
- menuselect --enable func_aes menuselect.makeopts
- menuselect --enable chan_iax2 menuselect.makeopts
-
- # SQlite3 is now the main database backend, enable related features
- menuselect --enable cdr_sqlite3_custom menuselect.makeopts
- menuselect --enable cel_sqlite3_custom menuselect.makeopts
-
- # The others are based on USE-flag settings
- use_select() {
- local state=$(use "$1" && echo enable || echo disable)
- shift # remove use from parameters
-
- while [[ -n $1 ]]; do
- menuselect --${state} "$1" menuselect.makeopts
- shift
- done
- }
-
- use_select alsa chan_alsa
- use_select bluetooth chan_mobile
- use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
- use_select cluster res_corosync
- use_select curl func_curl res_config_curl res_curl
- use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
- use_select freetds {cdr,cel}_tds
- use_select gtalk chan_motif
- use_select http res_http_post
- use_select iconv func_iconv
- use_select ilbc codec_ilbc format_ilbc
- use_select ldap res_config_ldap
- use_select lua pbx_lua
- use_select mysql app_mysql cdr_mysql res_config_mysql
- use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
- use_select osplookup app_osplookup
- use_select oss chan_oss
- use_select postgres {cdr,cel}_pgsql res_config_pgsql
- use_select radius {cdr,cel}_radius
- use_select snmp res_snmp
- use_select span res_fax_spandsp
- use_select speex {codec,func}_speex
- use_select srtp res_srtp
- use_select statsd res_statsd res_{endpoint,chan}_stats
- use_select syslog cdr_syslog
- use_select vorbis format_ogg_vorbis
- use_select xmpp res_xmpp
-
- # Voicemail storage ...
- for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
- if use ${vmst}; then
- menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
- fi
- done
-
- if use debug; then
- for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
- menuselect --enable "${o}" menuselect.makeopts
- done
- fi
-}
-
-src_compile() {
- emake ASTCFLAGS="${CFLAGS}" ASTLDFLAGS="${LDFLAGS}" NOISY_BUILD=yes
-}
-
-src_install() {
- local d
-
- mkdir -p "${ED}/usr/$(get_libdir)/pkgconfig" || die
- emake DESTDIR="${ED}" NOISY_BUILD=yes install
-
- if use radius; then
- insinto /etc/radiusclient/
- doins contrib/dictionary.digium
- fi
- diropts -m 0750 -o root -g asterisk
- keepdir /etc/asterisk
- if use samples; then
- emake NOISY_BUILD=yes DESTDIR="${ED}" CONFIG_SRC=configs/samples CONFIG_EXTEN=.sample install-configs
- for conffile in "${ED}/etc/asterisk/"*
- do
- fowners root:root "${conffile#${ED}}"
- fperms 0644 "${conffile#${ED}}"
- done
- fi
-
- # keep directories
- diropts -m 0750 -o asterisk -g root
- keepdir /var/lib/asterisk
- keepdir /var/spool/asterisk
- keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail,recording}
- diropts -m 0750 -o asterisk -g asterisk
- keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
-
- newinitd "${FILESDIR}"/initd-13.32.0-r1 asterisk
- newconfd "${FILESDIR}"/confd-13.32.0 asterisk
-
- systemd_dounit "${FILESDIR}"/asterisk.service
- systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
- systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
-
- # Reset diropts else dodoc uses it for doc installations.
- diropts -m0755
-
- # install the upgrade documentation
- dodoc UPGRADE* BUGS CREDITS
-
- # install extra documentation
- if use doc; then
- dodoc doc/*.txt
- dodoc doc/*.pdf
- fi
-
- # install SIP scripts; bug #300832
- #
- dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
- dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
- dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
- dodoc "${FILESDIR}/1.6.2/call_data.txt"
-
- # install logrotate snippet; bug #329281
- #
- insinto /etc/logrotate.d
- newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
-
- # Asterisk installs a few folders that's empty by design,
- # but still required. This finds them, and marks them for
- # portage.
- for d in $(find "${ED}"/var -type d -empty || die "Find failed."); do
- keepdir "${d#${ED}}"
- done
-}
-
-pkg_postinst() {
- if [ -z "${REPLACING_VERSIONS}" ]; then
- elog "Asterisk Wiki: https://wiki.asterisk.org/wiki/"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net"
- elif [ "$(ver_cut 1 "${REPLACING_VERSIONS}")" != "$(ver_cut 1)" ]; then
- elog "You are updating from Asterisk $(ver_cut 1 "${REPLACING_VERSIONS}") upgrade document:"
- elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+$(ver_cut 1)"
- elog "Gentoo VoIP IRC Channel: #gentoo-voip @ irc.freenode.net"
- fi
-}
diff --git a/net-misc/asterisk/files/asterisk-13.32.0-binutils-2.34.patch b/net-misc/asterisk/files/asterisk-13.32.0-binutils-2.34.patch
deleted file mode 100644
index 6ce797ca4f2d..000000000000
--- a/net-misc/asterisk/files/asterisk-13.32.0-binutils-2.34.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/main/backtrace.c 2020-03-12 07:37:03.000000000 -0700
-+++ b/main/backtrace.c 2020-03-31 23:22:18.272691980 -0700
-@@ -64,6 +64,15 @@
- #if defined(HAVE_DLADDR) && defined(HAVE_BFD) && defined(BETTER_BACKTRACES)
- #include <dlfcn.h>
- #include <bfd.h>
-+#ifndef bfd_get_section_size
-+#define bfd_get_section_size(x) bfd_section_size(x)
-+#endif
-+#ifndef bfd_get_section_vma
-+#define bfd_get_section_vma(x, y) bfd_section_vma(y)
-+#endif
-+#ifndef bfd_get_section_flags
-+#define bfd_get_section_flags(bfd, ptr) ((void) bfd, (ptr)->flags)
-+#endif
- #endif
-
- #include <pthread.h>
diff --git a/net-misc/asterisk/files/asterisk-historic-dahdiras-without-root.patch b/net-misc/asterisk/files/asterisk-historic-dahdiras-without-root.patch
deleted file mode 100644
index 1fdf033b7224..000000000000
--- a/net-misc/asterisk/files/asterisk-historic-dahdiras-without-root.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Gentoo bug 337297
-Link: http://bugs.gentoo.org/show_bug.cgi?id=337297
-Patch-By: Jaco Kroon
-Committed-Date: 2010-09-16
-Ebuild-Version: 1.6.2.13-r1
-
-Upstream bug 17991
-Link: https://issues.asterisk.org/view.php?id=17991
-Patch-By: Jaco Kroon
-Committed-Date: none
-
-diff -uNr asterisk-1.8.0.ORIG/apps/app_dahdiras.c asterisk-1.8.0/apps/app_dahdiras.c
---- asterisk-1.8.0.ORIG/apps/app_dahdiras.c 2010-10-27 00:41:40.000000000 +0100
-+++ asterisk-1.8.0/apps/app_dahdiras.c 2010-10-27 00:50:00.000000000 +0100
-@@ -119,8 +119,6 @@
- c = strsep(&stringp, ",");
- }
-
-- argv[argc++] = "plugin";
-- argv[argc++] = "dahdi.so";
- argv[argc++] = "stdin";
-
- /* Finally launch PPP */
diff --git a/net-misc/asterisk/files/asterisk-historic-dundi-null-dereference.patch b/net-misc/asterisk/files/asterisk-historic-dundi-null-dereference.patch
deleted file mode 100644
index 8fb531937989..000000000000
--- a/net-misc/asterisk/files/asterisk-historic-dundi-null-dereference.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Upstream issue 21205
-Link: https://issues.asterisk.org/jira/browse/ASTERISK-21205
-
-Submitted upstream: 2013-03-05 07:06
-For Asterisk version: 11.2.1
-Patch by: Jaco Kroon
-
-If a negative (error) return is received from dundi_lookup_internal, this is not handled
-correctly when assigning the result to the buffer. As such, use a signed integer in the
-assignment and do a proper comparison.
-
---- a/pbx/pbx_dundi.c 2013-03-05 15:07:00.523387892 +0200
-+++ b/pbx/pbx_dundi.c 2013-03-05 15:18:49.512625981 +0200
-@@ -4123,7 +4123,7 @@
-
- struct dundi_result_datastore {
- struct dundi_result results[MAX_RESULTS];
-- unsigned int num_results;
-+ int num_results;
- unsigned int id;
- };
-
-@@ -4255,7 +4255,7 @@
- drds = datastore->data;
-
- if (!strcasecmp(args.resultnum, "getnum")) {
-- snprintf(buf, len, "%u", drds->num_results);
-+ snprintf(buf, len, "%u", drds->num_results < 0 ? 0 : drds->num_results);
- res = 0;
- goto finish;
- }
-@@ -4266,7 +4266,7 @@
- goto finish;
- }
-
-- if (num && num <= drds->num_results) {
-+ if (num && drds->num_results > 0 && num <= drds->num_results) {
- snprintf(buf, len, "%s/%s", drds->results[num - 1].tech, drds->results[num - 1].dest);
- res = 0;
- } else
diff --git a/net-misc/asterisk/files/asterisk-historic-invert-gmine-search-order.patch b/net-misc/asterisk/files/asterisk-historic-invert-gmine-search-order.patch
deleted file mode 100644
index 99e76d947fb2..000000000000
--- a/net-misc/asterisk/files/asterisk-historic-invert-gmine-search-order.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -uNr asterisk-13.18.2.ORIG/configure.ac asterisk-13.18.2/configure.ac
---- asterisk-13.18.2.ORIG/configure.ac 2017-11-14 11:26:06.179850146 +0000
-+++ asterisk-13.18.2/configure.ac 2017-11-14 11:27:46.256844611 +0000
-@@ -2503,7 +2503,7 @@
- fi
- fi
-
--for ver in 2.0 2.2 2.4 2.6 3.0; do
-+for ver in 3.0 2.6 2.4 2.2 2.0; do
- AST_PKG_CONFIG_CHECK([GMIME], gmime-$ver)
- if test "$PBX_GMIME" = 1; then
- break;
diff --git a/net-misc/asterisk/files/asterisk-historic-uclibc.patch b/net-misc/asterisk/files/asterisk-historic-uclibc.patch
deleted file mode 100644
index 167ae080b193..000000000000
--- a/net-misc/asterisk/files/asterisk-historic-uclibc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Gentoo bug 66557
-Link: http://bugs.gentoo.org/show_bug.cgi?id=66557
-Patch-By: REdOG
-
-Submitted upstream: No
-
-The uclibc environment, as opposed to the glibc environment, needs explicit
-linking with the pthread & dl libraries. Without these, name resolution is
-not functional.
-
---- asterisk-1.8.7.0-rc2.orig/Makefile 2011-08-25 21:00:55.000000000 +0200
-+++ asterisk-1.8.7.0-rc2.orig/Makefile 2011-09-21 14:13:12.823076046 +0200
-@@ -247,6 +247,10 @@
- _ASTCFLAGS+=-pthread -ftrampolines
- endif
-
-+ifeq ($(OSARCH),linux-uclibc)
-+ AST_LIBS+=-lpthread -ldl
-+endif
-+
- ifeq ($(OSARCH),SunOS)
- _ASTCFLAGS+=-Wcast-align -DSOLARIS -I../include/solaris-compat -I/opt/ssl/include -I/usr/local/ssl/include -D_XPG4_2 -D__EXTENSIONS__
- endif
diff --git a/net-misc/asterisk/files/initd-13.32.0 b/net-misc/asterisk/files/initd-13.32.0
deleted file mode 100644
index 6d1f77e51b9b..000000000000
--- a/net-misc/asterisk/files/initd-13.32.0
+++ /dev/null
@@ -1,380 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_started_commands="forcestop reload"
-extra_commands="checkperms"
-
-depend() {
- need net
- use nscd dns dahdi mysql postgresql slapd capi
-}
-
-is_running() {
- [ -r "${ast_rundir}/asterisk.pid" ] || return 1
- PID="$(cat "${ast_rundir}/asterisk.pid")"
- [ -d "/proc/${PID}" ] || return 1
- EXE="$(readlink -f /proc/${PID}/exe)"
- EXE="${EXE% (deleted)}" # in case asterisk got upgraded and we're still looking at an old one.
- [ "${EXE}" = /usr/sbin/asterisk ] || return 1 # pid got re-used for another process.
-
- # PID reported in pidfile is active, and is still an asterisk instance.
- return 0
-}
-
-# Sets up a few variables for us for use
-# ast_instancename: eg, asterisk when RC_SVCNAME=asterisk, or asterisk(foo) when asterisk.foo.
-# ast_rundir: directory to be used as run folder (pid and ctl files).
-# ast_spooldir:
-setup_svc_variables()
-{
- local t
-
- ast_instancename=asterisk
- ast_rundir=/var/run/${RC_SVCNAME}
- ast_logdir=/var/log/${RC_SVCNAME}
- ast_spooldir=/var/spool/${RC_SVCNAME}
- ast_confdir=/etc/${RC_SVCNAME/.//}
- ast_stop_timeout=120
- ast_stop_method="gracefully"
-
- if [ "${RC_SVCNAME}" != "asterisk" ]; then
- t="${RC_SVCNAME#asterisk.}"
- if [ "${RC_SVCNAME}" = "${t}" ]; then
- eerror "Invalid SVCNAME of ${RC_SVCNAME}, must be of the format asterisk.name."
- return 1
- fi
- ast_instancename+="(${t})"
- fi
-
- [ -n "${ASTERISK_RUNDIR}" ] && ast_rundir="${ASTERISK_RUNDIR}"
- [ -n "${ASTERISK_LOGDIR}" ] && ast_logdir="${ASTERISK_LOGDIR}"
- [ -n "${ASTERISK_SPOOLDIR}" ] && ast_spooldir="${ASTERISK_SPOOLDIR}"
- [ -n "${ASTERISK_CONFDIR}" ] && ast_confdir="${ASTERISK_CONFDIR}"
- [ -n "${ASTERISK_STOP_TIMEOUT}" ] && ast_stop_timeout="${ASTERISK_STOP_TIMEOUT}"
- case "${ASTERISK_STOP_METHOD}" in
- grasefully|when\ convenient|now)
- ast_stop_method="${ASTERISK_STOP_METHOD}"
- ;;
- esac
- ast_group=
- if [ -n "${ASTERISK_USER}" ]; then
- ast_user="${ASTERISK_USER%%:*}"
- if [ "${ast_user}" != "${ASTERISK_USER}" ]; then
- ast_group="${ASTERISK_USER#*:}"
- ast_group="${ast_group%%:*}"
- fi
- fi
-
- [ -z "${ast_user}" ] && ast_user=asterisk
-
- ast_pgroup="$(getent group $(getent passwd "${ast_user}" | awk -F: '{ print $4 }') | sed -re 's/:.*//')"
-
- return 0
-}
-
-checkperms() {
- setup_svc_variables
-
- local path
- checkpath -d -m 0755 -o ${ast_user}:${ast_group:-${ast_pgroup}} "${ast_logdir}" "${ast_rundir}" "${ast_spooldir}"
- for path in "${ast_rundir}" "${ast_spooldir}" "${ast_logdir}"; do
- ebegin "Checking ${path}"
- find "${path}" ! -user "${ast_user}" | while read element; do
- [[ "${element}" = *.gz ]] && continue # Skip logrotated files.
- ewarn "${ast_user} is not the owner of ${element}, or permissions are insufficient, fixing."
- chown ${ast_user} "${element}"
- chmod u+rwX "${element}"
- done;
- eend 0
- done
-}
-
-asterisk_run_loop() {
- local result=0 signal=0
-
- echo "Initializing ${ast_instancename} wrapper"
- OPTS="$*"
-
- trap "rm -f '${ast_rundir}/wrapper_loop.running'" EXIT
- touch "${ast_rundir}/wrapper_loop.running"
-
- while [ -r "${ast_rundir}/wrapper_loop.running" ]; do
- if [ -n "${TTY}" ]; then
- /usr/bin/stty -F "${TTY}" sane
- ${NICE} /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" ${OPTS} >"${TTY}" 2>&1 <"${TTY}"
- result=$?
- else
- ${NICE} /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" ${OPTS} >/dev/null 2>&1
- result=$?
- fi
-
- if [ "$result" -eq 0 ]; then
- echo "Asterisk terminated normally"
- break
- else
- if [ "$result" -gt 128 ]; then
- signal="$(expr "$result" - 128)"
- MSG="Asterisk terminated with Signal: $signal"
-
- CORE_TARGET="core-"
- yesno "${ASTERISK_CORE_USEHOSTNAME}" && CORE_TARGET+="$(hostname)-"
- CORE_TARGET+="$(date "+%Y%m%d-%H%M%S")"
-
- local CORE_DUMPED=0
- if [ -f "${ASTERISK_CORE_DIR}/core" ]; then
- mv "${ASTERISK_CORE_DIR}/core" \
- "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- CORE_DUMPED=1
-
- elif [ -f "${ASTERISK_CORE_DIR}/core.${PID}" ]; then
- mv "${ASTERISK_CORE_DIR}/core.${PID}" \
- "${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- CORE_DUMPED=1
-
- fi
-
- [ $CORE_DUMPED -eq 1 ] && \
- MSG="${MSG}\n\rCore dumped: ${ASTERISK_CORE_DIR}/${CORE_TARGET}"
- else
- MSG="Asterisk terminated with return code: $result"
- fi
-
- # kill left-over tasks
- for X in ${ASTERISK_CLEANUP_ON_CRASH}; do
- kill -9 "$(pidof "${X}")";
- done
- fi
-
- [ -n "${TTY}" ] \
- && echo "${MSG}" >"${TTY}" \
- || echo "${MSG}"
-
-
- if [ -n "${ASTERISK_NOTIFY_EMAIL}" ] && \
- [ -x /usr/sbin/sendmail ]; then
- echo -e -n "Subject: Asterisk crashed\r\n${MSG}\r\n" |\
- /usr/sbin/sendmail "${ASTERISK_NOTIFY_EMAIL}"
- fi
- sleep "${ASTERISK_RESTART_DELAY}"
- echo "Restarting Asterisk..."
- done
-
- echo "Terminating wrapper loop."
- return 0
-}
-
-start() {
- local OPTS PID
- local tmp x
-
- local OPTS ARGS
-
- setup_svc_variables || return $?
-
- ebegin "Starting ${ast_instancename} PBX"
-
- eindent
-
- # filter (redundant) arguments
- OPTS="$(echo "${ASTERISK_OPTS}" | sed -re "s:-[cfF]::g")"
-
- # default options
- OPTS="${OPTS} -f" # don't fork / detach breaks wrapper script...
-
- # ensure that ASTERISK_RESTART_DELAY is integer.
- ASTERISK_RESTART_DELAY="$(echo "${ASTERISK_RESTART_DELAY}" | sed -re 's/^([0-9]*).*/\1/')"
- [ -z "${ASTERISK_RESTART_DELAY}" ] && ASTERISK_RESTART_DELAY=5
-
- if [ -n "${ASTERISK_CORE_SIZE}" ] &&
- [ "${ASTERISK_CORE_SIZE}" != "0" ]; then
- ulimit -c ${ASTERISK_CORE_SIZE}
-
- if [ -n "${ASTERISK_CORE_DIR}" ] && \
- [ ! -d "${ASTERISK_CORE_DIR}" ]
- then
- checkpath -d -m 0755 -o ${ast_user}:${ast_group} "${ASTERISK_CORE_DIR}"
- fi
- ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}"
-
- cd "${ASTERISK_CORE_DIR}"
- einfo "Core dump size : ${ASTERISK_CORE_SIZE}"
- einfo "Core dump location : ${ASTERISK_CORE_DIR}"
-
- OPTS="${OPTS} -g"
- fi
-
- if [ -n "${ASTERISK_MAX_FD}" ]; then
- ulimit -n ${ASTERISK_MAX_FD}
- einfo "Max open filedescriptors : ${ASTERISK_MAX_FD}"
- fi
-
- if [ -n "${ASTERISK_NICE}" ]; then
- if [ ${ASTERISK_NICE} -ge -20 ] && \
- [ ${ASTERISK_NICE} -le 19 ]; then
- einfo "Nice level : ${ASTERISK_NICE}"
- NICE="nice -n ${ASTERISK_NICE} --"
- else
- eerror "Nice value must be between -20 and 19"
- return 1
- fi
- else
- NICE=""
- fi
-
- if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then
- if [ -x /usr/sbin/sendmail ]; then
- einfo "Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}"
- else
- ewarn "Notifications disabled, /usr/sbin/sendmail doesn't exist or is not executable!"
- unset ASTERISK_NOTIFY_EMAIL
- fi
- fi
-
- if [ -n "${ASTERISK_TTY}" ]; then
- for x in "${ASTERISK_TTY}" \
- "/dev/tty${ASTERISK_TTY}" \
- "/dev/vc/${ASTERISK_TTY}"
- do
- if [ -c "${x}" ]; then
- TTY="${x}"
- fi
- done
- [ -n "${TTY}" ] && \
- einfo "Messages are sent to : ${TTY}"
- fi
-
- if yesno "${ASTERISK_CONSOLE}" && [ -n "${TTY}" ]; then
- einfo "Starting Asterisk console : Yes"
- OPTS="${OPTS} -c"
- fi
-
- if ! getent passwd "${ast_user}" &>/dev/null; then
- eerror "Requested to run asterisk as ${ast_user}, which doesn't exist."
- return 1
- fi
- OPTS="${OPTS} -U ${ast_user}"
-
- if [ -n "${ast_group}" ] && ! getent group "${ast_group}" &>/dev/null; then
- eerror "Requested to run ${ast_instancename} with group ${ast_group}, which doesn't exist."
- return 1
- fi
- [ -n "${ast_group}" ] && OPTS="${OPTS} -G ${ast_group}"
-
- if [ "${ast_user}" = root ]; then
- ewarn "Starting asterisk as root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- elif [ "${ast_group}" = root ]; then
- ewarn "Starting asterisk with group root is not recommended (SERIOUS SECURITY CONSIDERATIONS)."
- fi
-
- checkpath -d -m 0755 -o "${ast_user}:${ast_group}" "${ast_logdir}" "${ast_rundir}"
- einfo "Starting asterisk as : ${ast_user}:${ast_group:-${ast_pgroup} (+supplementaries)}"
- asterisk_run_loop ${OPTS} 2>&1 | logger -t "wrapper:${ast_instancename}" &>/dev/null &
- result=$?
-
- if [ $result -eq 0 ]; then
- # 2 seconds should be enough for asterisk to start
- sleep 2
- is_running
- result=$?
-
- [ $result -eq 0 ] || wrapperstop
- fi
-
- eoutdent
- eend $result
-
- if [ $result -eq 0 ] && yesno "${ASTERISK_WAITBOOTED}"; then
- if [ ! -r "${ast_rundir}/asterisk.ctl" ]; then
- # asterisk can crash during startup ...
- ebegin "Waiting for ctl file to appear"
- while is_running && [ ! -r "${ast_rundir}/asterisk.ctl" ]; do
- sleep 1
- done
- is_running
- result=$?
- eend $result
- fi
- if [ $result -eq 0 ]; then
- ebegin "Waiting for ${ast_instancename} to fully boot"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core waitfullybooted" &>/dev/null
- eend $?
- fi
- fi
-
- return $result
-}
-
-wrapperstop() {
- # Accomodate system upgrades (so a previous version of the wrapper script that still uses a pid file may be running).
- if [ -r "${ast_rundir}/wrapper_loop.pid" ]; then
- ebegin "Killing ${ast_instancename} wrapper script"
- kill "$(cat /var/run/asterisk/wrapper_loop.pid)"
- eend $?
- fi
-
- # The new one (due to "hardened" requirements) uses a simpler
- # flag to indicate running or shutting down.
- if [ -r "${ast_rundir}/wrapper_loop.running" ]; then
- ebegin "Signalling ${ast_instancename} wrapper script to terminate"
- rm "${ast_rundir}/wrapper_loop.running"
- eend $?
- fi
-
- return 0
-}
-
-forcestop() {
- setup_svc_variables || return $?
-
- # Just to be sure - when we want to forcestop we should make it all tear down.
- wrapperstop
-
- ebegin "Stopping ${ast_instancename} PBX"
- start-stop-daemon --stop --pidfile /var/run/asterisk/asterisk.pid
- eend $?
-}
-
-stop() {
- setup_svc_variables || return $?
-
- wrapperstop
-
- if ! is_running; then
- eerror "${ast_instancename} is not running!"
- return 0
- fi
-
- ebegin "Stopping ${ast_instancename} PBX ${ast_stop_method}"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "core stop ${ast_stop_method}" &>/dev/null
- # Now we have to wait until asterisk has _really_ stopped.
- sleep 1
- if is_running; then
- einfon "Waiting for ${ast_instancename} to shutdown ."
- local cnt=0
- while is_running; do
- cnt="$(expr $cnt + 2)"
- if [ ${ast_stop_timeout} -gt 0 -a $cnt -gt ${ast_stop_timeout} ] ; then
- echo
- eend 1 "Failed waiting for ${ast_instancename} to stop."
- return 1
- fi
- sleep 2
- echo -n "."
- done
- echo
- fi
- eend 0
-}
-
-reload() {
- setup_svc_variables || return $?
-
- if is_running; then
- ebegin "Forcing ${ast_instancename} to reload configuration"
- /usr/sbin/asterisk -C "${ast_confdir}/asterisk.conf" -r -x "module reload" &>/dev/null
- eend $?
- else
- eerror "${ast_instancename} is not running!"
- fi
-}