net-misc/asterisk: Bugfix releases on both 11 & 13 branches.

This commit is contained in:
Tony Vroon
2015-12-07 13:16:52 +00:00
parent 9c09c34500
commit 8c911bf3cd
3 changed files with 653 additions and 0 deletions

View File

@@ -1,9 +1,11 @@
DIST asterisk-11.17.1.tar.gz 35002041 SHA256 c22d5dfb6c901cdeb8a12ffb34c35565ccfd993d0c6ab7638fd11e5cd64e00b2 SHA512 cb7616d6868721bb91ff47a9601d81cce6e3670c6d484849a33fa58ff060a5a4993eb87cf0251baa88e63ba3b97a07c4a6ec3f6bab2980b087a9e140d2c9024e WHIRLPOOL f538ff11fc6d7c297a9a9a534d275132e7c84d41a9ffa2de8b1ffb2d596cf681ebed6f86001b1075d8cc648e7eee0f64af5dc4518ead41cf1ebec75a9b2f6535
DIST asterisk-11.18.0.tar.gz 34831035 SHA256 605b823e2362c543512a0af7427db123c3b846edf45bed722232cc35c8824b10 SHA512 cc7148443bd8d730c7a97489eae6c50b08eabe66301b1e6723a24719859ecf6a9499640899dbf8a8bb74cf89a58e61ccccdd9307ee65e67ed277a8ea56639839 WHIRLPOOL 82801b1a3e95d8962313cf7bb5dcf3ee66039e76438a2d2ba6b0cffef5dbeb8f50cacabfae99de083c2a2191a0de39a078bad984fc7e2c36c3b3b7bbb60f1a1f
DIST asterisk-11.19.0.tar.gz 34852510 SHA256 339f82f75dd15144a8de6f29aa5aa91e8e6a789dbfbd6c1283f345391505dc1e SHA512 6b790fdd075b4cb8da7b560afa55221fb02c382ccf295248039bf721dbe71f875592853853f9ce571bbba54ae843574b83423bc18a139c835e187b86972e1a1c WHIRLPOOL 6eb4426bf7f211a45f29a831d0ecdb104ec619a51554edd3ed6d81dbf3bdafc5df169db6b273aed385e797e74ee684e2d6348cce790760b39cdae38133d4b704
DIST asterisk-11.20.0.tar.gz 34864289 SHA256 ba3a26a7ea2b76884ad4984b0694fc9814d98bb373e0cbe42c64962f666720f4 SHA512 179c5a11f70b2f5078002227be24e476570ee6a4afb387be852ece49f4cb4d11d523bf0b91e0aa4b5c7f0417e0db6066656200286802dd2c245d71e9e120b75c WHIRLPOOL 5a10505a30aed7f205fd4d1be04a0d852d31f5d3ddb43f5eb3c1332a6ad2573f71586037f8088f2b218eeed330d698551921ae6d4e499654606cda44ee383ae4
DIST asterisk-13.3.2.tar.gz 31978637 SHA256 ff87592a49156e2f7c03a39a12d099a610e71c3135ca9548429b4066fc76aaa5 SHA512 cfe2dec45d6162c0e9455de9a7a83b52c9041620b31c4fed835973c6a2805e9a51badc0637d6838dc52fbcceb01abb87f3fabddce1c8de3bd0f5ca65c5a39b06 WHIRLPOOL 3de98c03c8b0433a6072814724963c57cd1823d0f07a8bd6ca4d33cbe6c9a2f48ed7917db943fb37ac3c784de420178e625a6bedbf87eb7f92f425092e5b9148
DIST asterisk-13.4.0.tar.gz 32009886 SHA256 2049012665e99d2967b18d1594ae752307db7e967235877f1e058e6fb5b4c045 SHA512 5f6843d8a635e274bfae5ca5d5305f5764fa2cee3c6d83d73d681cd8a672aba6452d4deb0cbe9e3a61c657aab8563b0138b311ff6a8d42d28fce65c5dcad783a WHIRLPOOL 9d7b7f742ed0b42451663e1b2047ed46d09e0cf0b6b24d3a450fe59d60a5ee6dfac94331cb0fbfe522ca988c400e9e7947c24808b510695420929b4fd7553283
DIST asterisk-13.5.0.tar.gz 32107014 SHA256 e8b8d071f783edea82de510194dd272070ffbb7cdb2f5f6b020be5d15b67e8b9 SHA512 b72e239fde2ae2fdae09b45573c10e76cfb4de8ccdaa182fae15f6f460c049c5e293181522002411fd91ffe12a36eb8dc7bcc8c82a2085501d7e9073d3cbc810 WHIRLPOOL e83bc925d0457b15497e83748dcb0c047a4982c103a390babee9d90eb4ade03ec5b1a65ecf0320fae04a5f4dd828515bfdce5e18926221729b4a1775385192ac
DIST asterisk-13.6.0.tar.gz 32146107 SHA256 8a01b53c946d092ac561c11b404f68cd328306d0e3b434a7485a11d4b175005a SHA512 e6ba627d3bdeb8bba75d7b109012d08a8a3873cc63534bc140b5ba183bb1fe8125f6f746f6bdf046ae4751d9e9011dee4f7de91de44abfd7777a834525de178f WHIRLPOOL 7f8d1fb03d78c060f9b339084f430e561b9e9c43cd3065ccffc43075023eadde79ec07e3388c40a18d0effd36b71e52ec51e2118616535b86c06bfc5ecfe3617
DIST gentoo-asterisk-patchset-3.15.tar.bz2 5570 SHA256 c9c4fb87b9b57a55b034510a2847eeb145cce31ef3d8df75d92036f93daa54eb SHA512 c4c51e46abeaf4cb37ff9725159e3b73451f83d6d59d65ea173a29dae2270d0276d9af89ce8145e5ba1b117e37ae651df37713831a2f5ff38e7c8da58820e241 WHIRLPOOL 334c887ffe0fd2b681bc8bd79922f6049d2b98ffe998451b2175a22e7560d4e581d6786316202c18826591fe019790c2464df85afd356d5f8257f5238c75c401
DIST gentoo-asterisk-patchset-3.16.tar.bz2 5018 SHA256 9c393aba3272b19ae7c7d79302c288ddb6d6b0368c72fbbeda11569ab751be6d SHA512 83d0be42f935068afd130ecf6768355d6f9702238c829e1482135d320f99e6a2ad9dd39814ea139e8a8e9009ecb99a6b3d5ed5f2cc778353d03a09183d7a06a0 WHIRLPOOL cc6a032aaa781a4eb29f913578bd10245775d9915f5a934f7c2982f44cf063cf3030b764e628b6e17f4f023558fb50e73116a19c77738ae5e8de85c0c672dfd9
DIST gentoo-asterisk-patchset-4.01.tar.bz2 6483 SHA256 ecd6b5e495d73444b15bfea3d69541abe8bf68274e5a130547a56aa5cfc7f455 SHA512 541c992b578ede198e91a10d954c398396f7068c34cc94be163497d2aa279605c702e8969dd8eda67334055c4a537d0930a7e140a91ebbb4580fdaf43bf203c3 WHIRLPOOL e36c58bdd1f41d10976d3b1c4e9b08b0436d9652845bcbda59c62a4599d14d03dcd661a54cfd32a1e04daaf6df8ae18b087944dcf0ded403391780d5219e965e

View File

@@ -0,0 +1,325 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools base eutils linux-info multilib user systemd
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
mirror://gentoo/gentoo-asterisk-patchset-3.16.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~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 xmpp ldap libedit libressl lua mysql newt +samples odbc osplookup oss portaudio postgres radius selinux snmp span speex srtp static syslog vorbis"
IUSE_EXPAND="VOICEMAIL_STORAGE"
REQUIRED_USE="gtalk? ( xmpp )
^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
voicemail_storage_odbc? ( odbc )
"
EPATCH_SUFFIX="patch"
PATCHES=( "${WORKDIR}/asterisk-patchset" )
CDEPEND="dev-db/sqlite:3
dev-libs/popt
dev-libs/libxml2
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
sys-libs/ncurses
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-1.4.12_beta2
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 )
xmpp? ( dev-libs/iksemel )
ldap? ( net-nds/openldap )
libedit? ( dev-libs/libedit )
lua? ( dev-lang/lua:* )
mysql? ( virtual/mysql )
newt? ( dev-libs/newt )
odbc? ( dev-db/unixODBC )
osplookup? ( net-libs/osptoolkit )
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 )
srtp? ( net-libs/libsrtp )
vorbis? ( media-libs/libvorbis )"
DEPEND="${CDEPEND}
!net-libs/openh323
!net-libs/pjsip
voicemail_storage_imap? ( virtual/imap-c-client )
virtual/pkgconfig
"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-asterisk )
syslog? ( virtual/logger )"
PDEPEND="net-misc/asterisk-core-sounds
net-misc/asterisk-extra-sounds
net-misc/asterisk-moh-opsound"
S="${WORKDIR}/${MY_P}"
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
enewgroup asterisk
enewgroup dialout 20
enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
}
src_prepare() {
base_src_prepare
AT_M4DIR=autoconf eautoreconf
}
src_configure() {
local vmst
econf \
--libdir="/usr/$(get_libdir)" \
--localstatedir="/var" \
--with-crypto \
--with-gsm=internal \
--with-popt \
--with-ssl \
--with-z \
--without-pwlib \
$(use_with caps cap) \
$(use_with http gmime) \
$(use_with newt) \
$(use_with portaudio)
# 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 menuselect.makeopts
# Broken functionality is forcibly disabled (bug #360143)
menuselect/menuselect --disable chan_misdn menuselect.makeopts
menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
# Utility set is forcibly enabled (bug #358001)
menuselect/menuselect --enable smsq menuselect.makeopts
menuselect/menuselect --enable streamplayer menuselect.makeopts
menuselect/menuselect --enable aelparse menuselect.makeopts
menuselect/menuselect --enable astman menuselect.makeopts
# this is connected, otherwise it would not find
# ast_pktccops_gate_alloc symbol
menuselect/menuselect --enable chan_mgcp menuselect.makeopts
menuselect/menuselect --enable res_pktccops menuselect.makeopts
# SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
menuselect/menuselect --enable pbx_dundi menuselect.makeopts
menuselect/menuselect --enable func_aes menuselect.makeopts
menuselect/menuselect --enable chan_iax2 menuselect.makeopts
# SQlite3 is now the main database backend, enable related features
menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
menuselect/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/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_dahdibarge 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 xmpp res_xmpp
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 syslog cdr_syslog
use_select vorbis format_ogg_vorbis
# Voicemail storage ...
for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
if use ${vmst}; then
menuselect/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/menuselect --enable $o menuselect.makeopts
done
fi
}
src_compile() {
ASTLDFLAGS="${LDFLAGS}" emake
}
src_install() {
mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
emake DESTDIR="${D}" installdirs
emake DESTDIR="${D}" 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 DESTDIR="${D}" samples
for conffile in "${D}"etc/asterisk/*.*
do
chown root:root $conffile
chmod 0644 $conffile
done
einfo "Sample files have been installed"
else
einfo "Skipping installation of sample files..."
rm -f "${D}"var/lib/asterisk/mohmp3/* || die
rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
rm -f "${D}"var/lib/asterisk/agi-bin/* || die
rm -f "${D}"etc/asterisk/* || die
fi
rm -rf "${D}"var/spool/asterisk/voicemail/default || die
# keep directories
diropts -m 0770 -o asterisk asterisk
keepdir /var/lib/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.8.0/asterisk.initd7 asterisk
newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
systemd_dounit "${FILESDIR}"/asterisk.service
systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
# install the upgrade documentation
#
dodoc README 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
}
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 11 upgrade document:"
elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+11"
}
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
}

View File

@@ -0,0 +1,326 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools base eutils linux-info multilib user systemd
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
mirror://gentoo/gentoo-asterisk-patchset-4.02.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~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 xmpp ldap libedit libressl lua mysql newt +samples odbc osplookup oss portaudio postgres radius selinux snmp span speex srtp static syslog vorbis"
IUSE_EXPAND="VOICEMAIL_STORAGE"
REQUIRED_USE="gtalk? ( xmpp )
^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
voicemail_storage_odbc? ( odbc )
"
EPATCH_SUFFIX="patch"
PATCHES=( "${WORKDIR}/asterisk-patchset" )
CDEPEND="dev-db/sqlite:3
dev-libs/popt
dev-libs/jansson
dev-libs/libxml2
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
sys-libs/ncurses
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-1.4.12_beta2
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 )
xmpp? ( dev-libs/iksemel )
ldap? ( net-nds/openldap )
libedit? ( dev-libs/libedit )
lua? ( dev-lang/lua:* )
mysql? ( virtual/mysql )
newt? ( dev-libs/newt )
odbc? ( dev-db/unixODBC )
osplookup? ( net-libs/osptoolkit )
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 )
srtp? ( net-libs/libsrtp )
vorbis? ( media-libs/libvorbis )"
DEPEND="${CDEPEND}
!net-libs/openh323
!net-libs/pjsip
voicemail_storage_imap? ( virtual/imap-c-client )
virtual/pkgconfig
"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-asterisk )
syslog? ( virtual/logger )"
PDEPEND="net-misc/asterisk-core-sounds
net-misc/asterisk-extra-sounds
net-misc/asterisk-moh-opsound"
S="${WORKDIR}/${MY_P}"
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
enewgroup asterisk
enewgroup dialout 20
enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
}
src_prepare() {
base_src_prepare
AT_M4DIR=autoconf eautoreconf
}
src_configure() {
local vmst
econf \
--libdir="/usr/$(get_libdir)" \
--localstatedir="/var" \
--with-crypto \
--with-gsm=internal \
--with-popt \
--with-ssl \
--with-z \
--without-pwlib \
$(use_with caps cap) \
$(use_with http gmime) \
$(use_with newt) \
$(use_with portaudio)
# 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 menuselect.makeopts
# Broken functionality is forcibly disabled (bug #360143)
menuselect/menuselect --disable chan_misdn menuselect.makeopts
menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
# Utility set is forcibly enabled (bug #358001)
menuselect/menuselect --enable smsq menuselect.makeopts
menuselect/menuselect --enable streamplayer menuselect.makeopts
menuselect/menuselect --enable aelparse menuselect.makeopts
menuselect/menuselect --enable astman menuselect.makeopts
# this is connected, otherwise it would not find
# ast_pktccops_gate_alloc symbol
menuselect/menuselect --enable chan_mgcp menuselect.makeopts
menuselect/menuselect --enable res_pktccops menuselect.makeopts
# SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
menuselect/menuselect --enable pbx_dundi menuselect.makeopts
menuselect/menuselect --enable func_aes menuselect.makeopts
menuselect/menuselect --enable chan_iax2 menuselect.makeopts
# SQlite3 is now the main database backend, enable related features
menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
menuselect/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/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_dahdibarge 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 xmpp res_xmpp
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 syslog cdr_syslog
use_select vorbis format_ogg_vorbis
# Voicemail storage ...
for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
if use ${vmst}; then
menuselect/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/menuselect --enable $o menuselect.makeopts
done
fi
}
src_compile() {
ASTLDFLAGS="${LDFLAGS}" emake
}
src_install() {
mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
emake DESTDIR="${D}" installdirs
emake DESTDIR="${D}" 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 DESTDIR="${D}" samples
for conffile in "${D}"etc/asterisk/*.*
do
chown root:root $conffile
chmod 0644 $conffile
done
einfo "Sample files have been installed"
else
einfo "Skipping installation of sample files..."
rm -f "${D}"var/lib/asterisk/mohmp3/* || die
rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
rm -f "${D}"var/lib/asterisk/agi-bin/* || die
rm -f "${D}"etc/asterisk/* || die
fi
rm -rf "${D}"var/spool/asterisk/voicemail/default || die
# keep directories
diropts -m 0770 -o asterisk asterisk
keepdir /var/lib/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.8.0/asterisk.initd7 asterisk
newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
systemd_dounit "${FILESDIR}"/asterisk.service
systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
# install the upgrade documentation
#
dodoc README 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
}
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"
}
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
}