diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-05-30 11:44:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-05-30 11:44:06 +0100 |
commit | f516638b7fe9592837389826a6152a7e1b251c54 (patch) | |
tree | 8bfecb640b7b6403d7a3d662d923eed630033da7 /net-misc/asterisk | |
parent | 1a61119f9f7b057830e2ce0563f913ec86f282ad (diff) |
gentoo resync : 30.05.2020
Diffstat (limited to 'net-misc/asterisk')
-rw-r--r-- | net-misc/asterisk/Manifest | 10 | ||||
-rw-r--r-- | net-misc/asterisk/asterisk-13.32.0-r1.ebuild | 323 | ||||
-rw-r--r-- | net-misc/asterisk/asterisk-16.9.0.ebuild | 315 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-13.32.0-binutils-2.34.patch | 18 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-historic-dahdiras-without-root.patch | 23 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-historic-dundi-null-dereference.patch | 40 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-historic-invert-gmine-search-order.patch | 12 | ||||
-rw-r--r-- | net-misc/asterisk/files/asterisk-historic-uclibc.patch | 23 | ||||
-rw-r--r-- | net-misc/asterisk/files/initd-13.32.0 | 380 |
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 -} |