diff options
author | 2010-12-02 13:37:30 +0000 | |
---|---|---|
committer | 2010-12-02 13:37:30 +0000 | |
commit | 37764e842b2b1b3898c81aa2c851ce642bf97e4d (patch) | |
tree | d8094ace4581f7f77e1ce18f1fbace2ed83599e1 /net-misc | |
parent | Update automake dependency. Change EAPI to 3. (diff) | |
download | gentoo-2-37764e842b2b1b3898c81aa2c851ce642bf97e4d.tar.gz gentoo-2-37764e842b2b1b3898c81aa2c851ce642bf97e4d.tar.bz2 gentoo-2-37764e842b2b1b3898c81aa2c851ce642bf97e4d.zip |
Consolidate patchset in a tarball on the mirrors, closes bug #344015 by Marcin Baczyński. Drop logrotate USE-flag, always install snippet, closes bug #344181 by Jeroen Roovers. Updated init script to fix restart bug by Jaco Kroon, closes bug #345307. Version bump closes bug #346737 by Jesse Adelman, with an honourable mention for Kerin Millar for pointing out some QA matters which are now fixed.
(Portage version: 2.1.9.25/cvs/Linux x86_64)
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/asterisk/ChangeLog | 15 | ||||
-rw-r--r-- | net-misc/asterisk/asterisk-1.6.2.13-r1.ebuild | 267 | ||||
-rw-r--r-- | net-misc/asterisk/asterisk-1.6.2.14.ebuild (renamed from net-misc/asterisk/asterisk-1.6.2.13.ebuild) | 54 | ||||
-rw-r--r-- | net-misc/asterisk/files/1.6.2/asterisk.initd3 | 273 | ||||
-rw-r--r-- | net-misc/asterisk/files/1.6.2/asterisk.logrotate | 29 | ||||
-rw-r--r-- | net-misc/asterisk/files/1.6.2/asterisk.logrotate2 | 29 |
6 files changed, 311 insertions, 356 deletions
diff --git a/net-misc/asterisk/ChangeLog b/net-misc/asterisk/ChangeLog index 2129701dfbbd..a0da3f0ee607 100644 --- a/net-misc/asterisk/ChangeLog +++ b/net-misc/asterisk/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for net-misc/asterisk # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.275 2010/12/01 17:54:28 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.276 2010/12/02 13:37:30 chainsaw Exp $ + +*asterisk-1.6.2.14 (02 Dec 2010) + + 02 Dec 2010; <chainsaw@gentoo.org> +files/1.6.2/asterisk.initd3, + -files/1.6.2/asterisk.logrotate, -files/1.6.2/asterisk.logrotate2, + -asterisk-1.6.2.13.ebuild, -asterisk-1.6.2.13-r1.ebuild, + +asterisk-1.6.2.14.ebuild: + Consolidate patchset in a tarball on the mirrors, closes bug #344015 by + Marcin Baczyński. Drop logrotate USE-flag, always install snippet, closes + bug #344181 by Jeroen Roovers. Updated init script to fix restart bug by Jaco + Kroon, closes bug #345307. Version bump closes bug #346737 by Jesse Adelman, + with an honourable mention for Kerin Millar for pointing out some QA matters + which are now fixed. *asterisk-1.4.37 (01 Dec 2010) diff --git a/net-misc/asterisk/asterisk-1.6.2.13-r1.ebuild b/net-misc/asterisk/asterisk-1.6.2.13-r1.ebuild deleted file mode 100644 index 06d4bff1e09b..000000000000 --- a/net-misc/asterisk/asterisk-1.6.2.13-r1.ebuild +++ /dev/null @@ -1,267 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.13-r1.ebuild,v 1.1 2010/09/16 17:31:54 chainsaw Exp $ - -EAPI=3 -inherit autotools base eutils linux-info multilib - -MY_P="${PN}-${PV/_/-}" - -DESCRIPTION="Asterisk: A Modular Open Source PBX System" -HOMEPAGE="http://www.asterisk.org/" -SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz" -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="alsa +caps dahdi debug doc freetds iconv jabber ldap lua keepsrc logrotate misdn newt +samples oss postgres radius snmp span speex ssl sqlite static vorbis" - -RDEPEND="sys-libs/ncurses - dev-libs/popt - sys-libs/zlib - alsa? ( media-libs/alsa-lib ) - caps? ( sys-libs/libcap ) - dahdi? ( >=net-libs/libpri-1.4.7 - net-misc/dahdi-tools ) - freetds? ( dev-db/freetds ) - iconv? ( virtual/libiconv ) - jabber? ( dev-libs/iksemel ) - ldap? ( net-nds/openldap ) - lua? ( dev-lang/lua ) - misdn? ( net-dialup/misdnuser ) - newt? ( dev-libs/newt ) - postgres? ( dev-db/postgresql-base ) - radius? ( net-dialup/radiusclient-ng ) - snmp? ( net-analyzer/net-snmp ) - span? ( media-libs/spandsp ) - speex? ( media-libs/speex ) - sqlite? ( dev-db/sqlite ) - ssl? ( dev-libs/openssl ) - vorbis? ( media-libs/libvorbis )" - -DEPEND="${RDEPEND} - !<net-misc/asterisk-addons-1.6 - !net-misc/asterisk-chan_unistim - !net-misc/zaptel" - -PDEPEND="net-misc/asterisk-core-sounds - net-misc/asterisk-extra-sounds - net-misc/asterisk-moh-opsound" - -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/1.6.2/${PN}-1.6.2.9-gsm-pic.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.8-pri-missing-keyword.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.8-inband-indications.patch" - "${FILESDIR}/1.6.1/${PN}-1.6.1-uclibc.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.2-nv-faxdetect.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.11-strip-noapi.patch" - "${FILESDIR}/1.6.2/${P}-iax2-peerstate.patch" - "${FILESDIR}/1.6.2/${P}-dahdiras-without-root.patch" - "${FILESDIR}/1.6.2/${P}-backport-bri-net-ptmp.patch" -) - -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() { - base_src_prepare - AT_M4DIR=autoconf eautoreconf -} - -src_configure() { - econf \ - --libdir="/usr/$(get_libdir)" \ - --localstatedir="/var" \ - --with-gsm=internal \ - --with-popt \ - --with-z \ - $(use_with alsa asound) \ - $(use_with caps cap) \ - $(use_with dahdi pri) \ - $(use_with dahdi tonezone) \ - $(use_with dahdi) \ - $(use_with freetds tds) \ - $(use_with iconv) \ - $(use_with jabber iksemel) \ - $(use_with lua) \ - $(use_with misdn isdnnet) \ - $(use_with misdn suppserv) \ - $(use_with misdn) \ - $(use_with newt) \ - $(use_with oss) \ - $(use_with postgres) \ - $(use_with radius) \ - $(use_with snmp netsnmp) \ - $(use_with span spandsp) \ - $(use_with speex) \ - $(use_with speex speexdsp) \ - $(use_with sqlite sqlite3) \ - $(use_with ssl crypto) \ - $(use_with ssl) \ - $(use_with vorbis ogg) \ - $(use_with vorbis) || die "econf failed" - - # - # 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 -} - -src_compile() { - ASTLDFLAGS="${LDFLAGS}" emake || die "emake failed" -} - -src_install() { - # setup directory structure - # - mkdir -p "${D}"usr/$(get_libdir)/pkgconfig - - emake DESTDIR="${D}" install || die "emake install failed" - - if use samples; then - emake DESTDIR="${D}" samples || die "emake samples failed" - for conffile in "${D}"etc/asterisk/*.* - do - chown asterisk:asterisk $conffile - chmod 0660 $conffile - done - einfo "Sample files have been installed" - else - einfo "Skipping installation of sample files..." - rm -f "${D}"var/lib/asterisk/mohmp3/* - rm -f "${D}"var/lib/asterisk/sounds/demo-* - rm -f "${D}"var/lib/asterisk/agi-bin/* - rm -f "${D}"etc/asterisk/* - fi - rm -rf "${D}"var/spool/asterisk/voicemail/default - - # keep directories - diropts -m 0770 -o asterisk -g asterisk - keepdir /etc/asterisk - keepdir /var/lib/asterisk - keepdir /var/run/asterisk - keepdir /var/spool/asterisk - keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail} - diropts -m 0750 -o asterisk -g asterisk - keepdir /var/log/asterisk/{cdr-csv,cdr-custom} - - newinitd "${FILESDIR}"/1.6.2/asterisk.initd2 asterisk - newconfd "${FILESDIR}"/1.6.0/asterisk.confd asterisk - - # some people like to keep the sources around for custom patching - # copy the whole source tree to /usr/src/asterisk-${PVF} and run make clean there - if use keepsrc - then - dodir /usr/src - - ebegin "Copying sources into /usr/src" - cp -dPR "${S}" "${D}"/usr/src/${PF} || die "Unable to copy sources" - eend $? - - ebegin "Cleaning source tree" - emake -C "${D}"/usr/src/${PF} clean &>/dev/null || die "Unable to clean sources" - eend $? - - einfo "Clean sources are available in "${ROOT}"usr/src/${PF}" - fi - - # install the upgrade documentation - # - dodoc README UPGRADE* BUGS CREDITS - - # install extra documentation - # - if use doc - then - dodoc doc/*.txt - dodoc doc/*.pdf - dodoc doc/PEERING - dodoc doc/CODING-GUIDELINES - dodoc doc/tex/*.pdf - fi - - # install snmp mib files - # - if use snmp - then - insinto /usr/share/snmp/mibs/ - doins doc/digium-mib.txt doc/asterisk-mib.txt - fi - - # install SIP scripts; bug #300832 - # - dodoc "${FILESDIR}/1.6.2/sip_calc_auth" - dodoc "${FILESDIR}/1.6.2/find_call_sip_trace.sh" - dodoc "${FILESDIR}/1.6.2/find_call_ids.sh" - dodoc "${FILESDIR}/1.6.2/call_data.txt" - - # install logrotate snippet; bug #329281 - # - if use logrotate - then - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate2" asterisk - fi -} - -pkg_preinst() { - enewgroup asterisk - enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout" -} - -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 "1.6.1 -> 1.6.2 changes that you may care about:" - elog "canreinvite -> directmedia (sip.conf)" - elog "extensive T.38 (fax) changes" - elog "http://svn.asterisk.org/svn/${PN}/tags/${PV}/UPGRADE.txt" - elog "or: bzless ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.bz2" -} - -pkg_config() { - einfo "Do you want to reset file permissions and ownerships (y/N)?" - - read tmp - tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')" - - if [[ "$tmp" = "y" ]] ||\ - [[ "$tmp" = "yes" ]] - then - einfo "Resetting permissions to defaults..." - - for x in spool run lib log; do - chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk - chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk - done - - chown -R root:asterisk "${ROOT}"etc/asterisk - chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk - - einfo "done" - else - einfo "skipping" - fi -} diff --git a/net-misc/asterisk/asterisk-1.6.2.13.ebuild b/net-misc/asterisk/asterisk-1.6.2.14.ebuild index 085190ad9f17..cf935876e328 100644 --- a/net-misc/asterisk/asterisk-1.6.2.13.ebuild +++ b/net-misc/asterisk/asterisk-1.6.2.14.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.13.ebuild,v 1.1 2010/09/15 19:33:23 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.14.ebuild,v 1.1 2010/12/02 13:37:30 chainsaw Exp $ EAPI=3 inherit autotools base eutils linux-info multilib @@ -9,12 +9,16 @@ MY_P="${PN}-${PV/_/-}" DESCRIPTION="Asterisk: A Modular Open Source PBX System" HOMEPAGE="http://www.asterisk.org/" -SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz" +SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz + mirror://gentoo/gentoo-asterisk-patchset-0.1.tar.bz2" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="alsa +caps dahdi debug freetds iconv jabber ldap lua keepsrc logrotate misdn newt +samples oss postgres radius snmp span speex ssl sqlite static vorbis" +IUSE="alsa +caps dahdi doc freetds iconv jabber ldap lua keepsrc misdn newt +samples oss postgres radius snmp span speex ssl sqlite vorbis" + +EPATCH_SUFFIX="patch" +PATCHES=( "${WORKDIR}/asterisk-patchset" ) RDEPEND="sys-libs/ncurses dev-libs/popt @@ -50,15 +54,6 @@ PDEPEND="net-misc/asterisk-core-sounds S="${WORKDIR}/${MY_P}" -PATCHES=( - "${FILESDIR}/1.6.2/${PN}-1.6.2.9-gsm-pic.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.8-pri-missing-keyword.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.8-inband-indications.patch" - "${FILESDIR}/1.6.1/${PN}-1.6.1-uclibc.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.2-nv-faxdetect.patch" - "${FILESDIR}/1.6.2/${PN}-1.6.2.11-strip-noapi.patch" -) - pkg_setup() { CONFIG_CHECK="~!NF_CONNTRACK_SIP" local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users @@ -108,7 +103,7 @@ src_configure() { # # 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. + # asterisk-{core,extra}-sounds and asterisk-moh-opsound). # >"${S}"/sounds/sounds.xml } @@ -175,6 +170,17 @@ src_install() { # dodoc README UPGRADE* BUGS CREDITS + # install extra documentation + # + if use doc + then + dodoc doc/*.txt + dodoc doc/*.pdf + dodoc doc/PEERING + dodoc doc/CODING-GUIDELINES + dodoc doc/tex/*.pdf + fi + # install snmp mib files # if use snmp @@ -190,13 +196,8 @@ src_install() { dodoc "${FILESDIR}/1.6.2/find_call_ids.sh" dodoc "${FILESDIR}/1.6.2/call_data.txt" - # install logrotate snippet; bug #329281 - # - if use logrotate - then - insinto /etc/logrotate.d - newins "${FILESDIR}/1.6.2/asterisk.logrotate" asterisk - fi + insinto /etc/logrotate.d + newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk } pkg_preinst() { @@ -209,22 +210,15 @@ pkg_postinst() { # Announcements, warnings, reminders... # einfo "Asterisk has been installed" - echo + einfo 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 + einfo elog "http://www.automated.it/guidetoasterisk.htm" - echo + einfo elog "Gentoo VoIP IRC Channel:" elog "#gentoo-voip @ irc.freenode.net" - echo - echo - elog "1.6.1 -> 1.6.2 changes that you may care about:" - elog "canreinvite -> directmedia (sip.conf)" - elog "extensive T.38 (fax) changes" - elog "http://svn.asterisk.org/svn/${PN}/tags/${PV}/UPGRADE.txt" - elog "or: bzless ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.bz2" } pkg_config() { diff --git a/net-misc/asterisk/files/1.6.2/asterisk.initd3 b/net-misc/asterisk/files/1.6.2/asterisk.initd3 new file mode 100644 index 000000000000..a71e30cb9ecd --- /dev/null +++ b/net-misc/asterisk/files/1.6.2/asterisk.initd3 @@ -0,0 +1,273 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/files/1.6.2/asterisk.initd3,v 1.1 2010/12/02 13:37:30 chainsaw Exp $ + +opts="${opts} forcestop reload" + +depend() { + need net + use nscd dns dahdi mysql postgresql slapd capi +} + +is_running() { + if [ -z "`pidof asterisk`" ]; then + return 1 + else + PID="`cat /var/run/asterisk/asterisk.pid`" + for x in `pidof asterisk`; do + if [ "${x}" = "${PID}" ]; then + return 0 + fi + done + fi + + return 1 +} + +asterisk_run_loop() { + logger -t asterisk_wrapper "Initializing asterisk wrapper" + + local OPTS ARGS MSG NICE="" + local result=0 signal=0 + + # default options + OPTS="-f" # don't fork / detach breaks wrapper script... + + # filter (redundant) arguments + ARGS="`echo "${@}" | sed -e "s:-c\|-f::g"`" + + # mangle yes/no options + ASTERISK_CONSOLE="`echo ${ASTERISK_CONSOLE} | tr '[:lower:]' '[:upper:]'`" + + 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 + mkdir -m750 -p "${ASTERISK_CORE_DIR}" + + if [ -n "${ASTERISK_USER}" ]; then + chown -R "${ASTERISK_USER}" "${ASTERISK_CORE_DIR}" + fi + fi + ASTERISK_CORE_DIR="${ASTERISK_CORE_DIR:-/tmp}" + + cd "${ASTERISK_CORE_DIR}" + echo " Core dump size : ${ASTERISK_CORE_SIZE}" + echo " Core dump location : ${ASTERISK_CORE_DIR}" + fi + + if [ -n "${ASTERISK_MAX_FD}" ]; then + ulimit -n ${ASTERISK_MAX_FD} + echo " Max open filedescriptors : ${ASTERISK_MAX_FD}" + fi + + if [ -n "${ASTERISK_NICE}" ]; then + echo " Nice level : ${ASTERISK_NICE}" + NICE="nice -n ${ASTERISK_NICE} --" + fi + + if [ -n "${ASTERISK_NOTIFY_EMAIL}" ]; then + if [ -x /usr/sbin/sendmail ]; then + echo " Email notifications go to : ${ASTERISK_NOTIFY_EMAIL}" + else + echo " 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}" ] && \ + echo " Messages are sent to : ${TTY}" + fi + + if [ "${ASTERISK_CONSOLE}" = "YES" ] && [ -n "${TTY}" ]; then + echo " Starting Asterisk console : ${ASTERISK_CONSOLE}" + OPTS="${OPTS} -c" + fi + + OPTS="${OPTS} ${ARGS}" + + trap "rm /var/run/asterisk/wrapper_loop.pid" EXIT + cut -f4 -d' ' < /proc/self/stat > /var/run/asterisk/wrapper_loop.pid + + while :; do + if [ -n "${TTY}" ]; then + /usr/bin/stty -F ${TTY} sane + ${NICE} /usr/sbin/asterisk ${OPTS} >${TTY} 2>&1 <${TTY} + result=$? + else + set -o pipefail + ${NICE} /usr/sbin/asterisk ${OPTS} 2>&1 >/dev/null | logger -t asterisk_wrapper + result=$? + set +o pipefail + fi + + if [ $result -eq 0 ]; then + logger -t asterisk_wrapper "Asterisk terminated normally" + break + else + if [ $result -gt 128 ]; then + signal=`expr $signal - 128` + MSG="Asterisk terminated with Signal: $signal" + + CORE_TARGET="core-`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} \ + || logger -t asterisk_wrapper "${MSG}" + + + if [ -n "${ASTERISK_NOTIFY_EMAIL}" ] && \ + [ -x /usr/sbin/sendmail ]; then + echo -e -n "Subject: Asterisk crashed\n\r${MSG}\n\r" |\ + /usr/sbin/sendmail "${ASTERISK_NOTIFY_EMAIL}" + fi + sleep 5 + logger -t asterisk_wrapper "Restarting Asterisk..." + done + return 0 +} + +start() { + local OPTS USER GROUP PID + local tmp x + + if [ -n "${ASTERISK_NICE}" ]; then + if [ ${ASTERISK_NICE} -ge -20 ] && \ + [ ${ASTERISK_NICE} -le 19 ]; then + OPTS="--nicelevel ${ASTERISK_NICE}" + else + eerror "Nice value must be between -20 and 19" + return 1 + fi + fi + + if [ -n "${ASTERISK_USER}" ]; then + USER=`echo $ASTERISK_USER | sed 's/:.*//'` + GROUP=`echo $ASTERISK_USER | awk -F: '/.*:.*/ { print $2 }'` + if [ -n "${USER}" ]; then + ASTERISK_OPTS="${ASTERISK_OPTS} -U ${USER}" + fi + if [ -n "${GROUP}" ]; then + ASTERISK_OPTS="${ASTERISK_OPTS} -G ${GROUP}" + GROUP=":${GROUP}" # make it look nice... + fi + for element in `find /var/{log,run}/asterisk`; do + if [ `stat -c %U $element` != "${USER}" ]; then + ewarn "${USER} is not the owner of $element, fixing." + chown -R ${USER} /var/{log,run}/asterisk + chmod -R u+r /var/{log,run}/asterisk + chmod u+x /var/{log,run}/asterisk + fi; + done; + ebegin "Starting asterisk PBX (as ${USER}${GROUP})" + else + ebegin "Starting asterisk PBX (as root)" + fi + + if [ "`echo ${ASTERISK_WRAPPER} | tr '[:upper:]' '[:lower:]'`" != "yes" ]; then + start-stop-daemon --start --exec /usr/sbin/asterisk \ + ${OPTS} -- ${ASTERISK_OPTS} + result=$? + else + asterisk_run_loop ${ASTERISK_OPTS} 2>/dev/null & + result=$? + fi + + if [ $result -eq 0 ]; then + # 2 seconds should be enough for asterisk to start + sleep 2 + is_running + result=$? + fi + + eend $result +} + +forcestop() { + ebegin "Stopping asterisk PBX" + start-stop-daemon --stop --pidfile /var/run/asterisk/asterisk.pid + eend $? +} + +stop() { + if ! is_running; then + eerror "Asterisk is not running!" + return 0 + fi + + if [ -r /var/run/asterisk/wrapper_loop.pid ]; then + ebegin "Killing wrapper script" + kill `cat /var/run/asterisk/wrapper_loop.pid` + eend $? + fi + + ebegin "Stopping asterisk PBX gracefully" + /usr/sbin/asterisk -r -x "core stop gracefully" &>/dev/null + # Now we have to wait until asterisk has _really_ stopped. + sleep 1 + if is_running; then + einfon "Waiting for asterisk to shutdown ." + local cnt=0 + while is_running; do + cnt=`expr $cnt + 1` + if [ $cnt -gt 60 ] ; then + # Waited 120 seconds now. Fail. + echo + eend 1 "Failed." + return + fi + sleep 2 + echo -n "." + done + echo + fi + eend 0 +} + +reload() { + if is_running; then + ebegin "Forcing asterisk to reload configuration" + /usr/sbin/asterisk -r -x "reload" &>/dev/null + eend $? + else + eerror "Asterisk is not running!" + fi +} diff --git a/net-misc/asterisk/files/1.6.2/asterisk.logrotate b/net-misc/asterisk/files/1.6.2/asterisk.logrotate deleted file mode 100644 index c6fe60ddb34d..000000000000 --- a/net-misc/asterisk/files/1.6.2/asterisk.logrotate +++ /dev/null @@ -1,29 +0,0 @@ -/var/log/asterisk/messages /var/log/asterisk/queue_log { - missingok - notifempty - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} - -/var/log/asterisk/debug /var/log/asterisk/full { - missingok - notifempty - daily - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} - -/var/log/asterisk/cdr-csv/*.csv /var/log/asterisk/cdr-custom/*.csv { - missingok - notifempty - weekly - rotations 52 - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} diff --git a/net-misc/asterisk/files/1.6.2/asterisk.logrotate2 b/net-misc/asterisk/files/1.6.2/asterisk.logrotate2 deleted file mode 100644 index 4233d231665e..000000000000 --- a/net-misc/asterisk/files/1.6.2/asterisk.logrotate2 +++ /dev/null @@ -1,29 +0,0 @@ -/var/log/asterisk/messages /var/log/asterisk/queue_log { - missingok - notifempty - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} - -/var/log/asterisk/debug /var/log/asterisk/full { - missingok - notifempty - daily - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} - -/var/log/asterisk/cdr-csv/*.csv /var/log/asterisk/cdr-custom/*.csv { - missingok - notifempty - weekly - rotate 52 - - postrotate - /usr/sbin/asterisk -rx "logger reload" - endscript -} |