summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaco Kroon <jaco@uls.co.za>2020-05-13 19:49:52 +0200
committerAaron Bauman <bman@gentoo.org>2020-05-14 18:12:13 -0400
commita66a68bc50f569a9f199820e6a826d3ca9865df3 (patch)
treeb519e604536c45e16a7e0d6154de6423fa5ab888 /net-misc
parentapp-i18n/transifex-client: remove old version (diff)
downloadgentoo-a66a68bc50f569a9f199820e6a826d3ca9865df3.tar.gz
gentoo-a66a68bc50f569a9f199820e6a826d3ca9865df3.tar.bz2
gentoo-a66a68bc50f569a9f199820e6a826d3ca9865df3.zip
net-misc/asterisk: cleanup
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Jaco Kroon <jaco@uls.co.za> Bug: https://bugs.gentoo.org/720184 Closes: https://github.com/gentoo/gentoo/pull/15779 Signed-off-by: Aaron Bauman <bman@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/asterisk/Manifest2
-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, 1136 deletions
diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
index 14846d5bc2c2..890a5adc971f 100644
--- a/net-misc/asterisk/Manifest
+++ b/net-misc/asterisk/Manifest
@@ -1,7 +1,5 @@
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
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
-}