Gentoo Archives: gentoo-commits

From: Tony Vroon <chainsaw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/asterisk/
Date: Wed, 01 Aug 2018 13:39:41
Message-Id: 1533130769.4b6c098a423bc4db7cb24c95d2ebccd50a94e534.chainsaw@gentoo
1 commit: 4b6c098a423bc4db7cb24c95d2ebccd50a94e534
2 Author: Tony Vroon <chainsaw <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 1 13:27:07 2018 +0000
4 Commit: Tony Vroon <chainsaw <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 1 13:39:29 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b6c098a
7
8 net-misc/asterisk: 13.22.0 version bump
9
10 Bugfix release; addresses stuck channels after app_confbridge ended quickly,
11 CDR deadlocks and now copes with OpenSSL configured as no-deprecated.
12
13 Package-Manager: Portage-2.3.40, Repoman-2.3.9
14
15 net-misc/asterisk/Manifest | 1 +
16 net-misc/asterisk/asterisk-13.22.0.ebuild | 327 ++++++++++++++++++++++++++++++
17 2 files changed, 328 insertions(+)
18
19 diff --git a/net-misc/asterisk/Manifest b/net-misc/asterisk/Manifest
20 index 2b79ea8e0b5..4f719c21b02 100644
21 --- a/net-misc/asterisk/Manifest
22 +++ b/net-misc/asterisk/Manifest
23 @@ -2,5 +2,6 @@ DIST asterisk-11.25.1.tar.gz 35125897 BLAKE2B 42f79202c3e69dc0ff1ddad909c87bc0a0
24 DIST asterisk-11.25.3.tar.gz 35134682 BLAKE2B 9da24d5d6a674ab660edb103e5fc56ddfbcc58cd86166cc08cceb0598a63b51eae36133565e09a30ad11ff6623ba8945437dfb561d2916f68341d398540dabce SHA512 9c0521d55e5b69663ea40066d52e397ba6c165a4b20cd0a1e5e375b9c0e5a6e4f37908e50b0b580e288dec9be252af9a8bce7bceb03ba029f902fb757e6311ed
25 DIST asterisk-13.19.0.tar.gz 33027887 BLAKE2B f799f51dc4b45d6db2261abfae33f41416616650702ff0cf6c253a80cf2f554f180df9e90bd107ac6a29eeeeef16e3bfadba087f6485fa93978899590b417443 SHA512 5404080a42e2d6d76b8fa8629c9570ae55c943676c51901a34552dc69c35f82001a1738e2da3adedf1de254bc8d1821ea7708f844685462ecdd1fd4e979e0e7f
26 DIST asterisk-13.19.2.tar.gz 32991960 BLAKE2B 3b1f731fb68e2d455bfc76e863a8abbd8903ac2f7e89f5bc4b97db0072b0999679a79e6ebbb55c886847fb1db639b6ad84d1f7de1fc3414968ab6b48c5eed72f SHA512 3ee3d57d359ce3049480303b9662a33a905d08491e84d898fd6ee170ee9d34b8bdfcd082b80120dab606929a03572141fe219da75bb87770ed206aeb0249f1e4
27 +DIST asterisk-13.22.0.tar.gz 33036487 BLAKE2B 09febd1d9ca875b532dffb7e2be5bda0aa9b2aac22d39a28ee3270d5bcb46f56946549aa5d7c8159c00fdb5a7f36e6f5466d6ebfc93f39cb65276efe0bee52b9 SHA512 eb5416d6911aac474c4a1532b1452b0d05359e4150b2e03ba8ac7d5f5f8bfc837a1640fcf26dfa8452b3a738af37e5659f5db6680c16d3ff1ee6c785864c5d5c
28 DIST gentoo-asterisk-patchset-3.17.tar.bz2 5074 BLAKE2B 3c945e77b54b2449253acb9fcea8d289a7a3184729190622c14aff5557d36c93556efa83320fe4e7ae84021960c09f35ae9f997e8015706eef933aae2948309e SHA512 37f86f3c699b2643afd8080391e817a282571694bb56e00efd0734918dbc33d6c12a2463dbc24667597420863b4f506870140fbb8ef3f1700124ef790ae7252d
29 DIST gentoo-asterisk-patchset-4.07.tar.bz2 2471 BLAKE2B d9026e7e8c12431496c24f204d117ed715741623195af10c838ec3ac5ce6a26fbb2d76d4c45c538881b532084e2ce74d2de83a27a0abaa5f65791be91416ef6d SHA512 73a9f92e6a737687c311941100c45bbc573f54fa79d0284318996c0d70274a4d2218693406d71b371496d27123d4d99bbc159974388e6547a682c06084d3b4c5
30
31 diff --git a/net-misc/asterisk/asterisk-13.22.0.ebuild b/net-misc/asterisk/asterisk-13.22.0.ebuild
32 new file mode 100644
33 index 00000000000..e0b88a37696
34 --- /dev/null
35 +++ b/net-misc/asterisk/asterisk-13.22.0.ebuild
36 @@ -0,0 +1,327 @@
37 +# Copyright 1999-2018 Gentoo Foundation
38 +# Distributed under the terms of the GNU General Public License v2
39 +
40 +EAPI=6
41 +inherit autotools eutils linux-info multilib user systemd
42 +
43 +MY_P="${PN}-${PV/_/-}"
44 +
45 +DESCRIPTION="Asterisk: A Modular Open Source PBX System"
46 +HOMEPAGE="http://www.asterisk.org/"
47 +SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
48 + mirror://gentoo/gentoo-asterisk-patchset-4.07.tar.bz2"
49 +LICENSE="GPL-2"
50 +SLOT="0"
51 +KEYWORDS="~amd64 ~x86"
52 +
53 +IUSE_VOICEMAIL_STORAGE="
54 + +voicemail_storage_file
55 + voicemail_storage_odbc
56 + voicemail_storage_imap
57 +"
58 +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 pjproject portaudio postgres radius selinux snmp span speex srtp static syslog vorbis"
59 +IUSE_EXPAND="VOICEMAIL_STORAGE"
60 +REQUIRED_USE="gtalk? ( xmpp )
61 + ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
62 + voicemail_storage_odbc? ( odbc )
63 +"
64 +
65 +EPATCH_SUFFIX="patch"
66 +PATCHES=( "${WORKDIR}/asterisk-patchset" )
67 +
68 +CDEPEND="dev-db/sqlite:3
69 + dev-libs/popt
70 + dev-libs/jansson
71 + dev-libs/libxml2
72 + !libressl? ( dev-libs/openssl:0 )
73 + libressl? ( dev-libs/libressl )
74 + sys-libs/ncurses:*
75 + sys-libs/zlib
76 + alsa? ( media-libs/alsa-lib )
77 + bluetooth? ( net-wireless/bluez )
78 + calendar? ( net-libs/neon
79 + dev-libs/libical
80 + dev-libs/iksemel )
81 + caps? ( sys-libs/libcap )
82 + cluster? ( sys-cluster/corosync )
83 + curl? ( net-misc/curl )
84 + dahdi? ( >=net-libs/libpri-1.4.12_beta2
85 + net-misc/dahdi-tools )
86 + freetds? ( dev-db/freetds )
87 + gtalk? ( dev-libs/iksemel )
88 + http? ( dev-libs/gmime:2.6 )
89 + iconv? ( virtual/libiconv )
90 + ilbc? ( dev-libs/ilbc-rfc3951 )
91 + xmpp? ( dev-libs/iksemel )
92 + ldap? ( net-nds/openldap )
93 + libedit? ( dev-libs/libedit )
94 + lua? ( dev-lang/lua:* )
95 + mysql? ( virtual/mysql )
96 + newt? ( dev-libs/newt )
97 + odbc? ( dev-db/unixODBC )
98 + osplookup? ( net-libs/osptoolkit )
99 + portaudio? ( media-libs/portaudio )
100 + postgres? ( dev-db/postgresql:* )
101 + radius? ( net-dialup/freeradius-client )
102 + snmp? ( net-analyzer/net-snmp )
103 + span? ( media-libs/spandsp )
104 + speex? ( media-libs/speex )
105 + srtp? ( net-libs/libsrtp:0 )
106 + vorbis? ( media-libs/libvorbis )"
107 +
108 +DEPEND="${CDEPEND}
109 + !net-libs/openh323
110 + !net-libs/pjsip
111 + voicemail_storage_imap? ( virtual/imap-c-client )
112 + virtual/pkgconfig
113 + pjproject? ( >=net-libs/pjproject-2.6 )
114 +"
115 +
116 +RDEPEND="${CDEPEND}
117 + selinux? ( sec-policy/selinux-asterisk )
118 + syslog? ( virtual/logger )"
119 +
120 +PDEPEND="net-misc/asterisk-core-sounds
121 + net-misc/asterisk-extra-sounds
122 + net-misc/asterisk-moh-opsound"
123 +
124 +S="${WORKDIR}/${MY_P}"
125 +
126 +pkg_setup() {
127 + CONFIG_CHECK="~!NF_CONNTRACK_SIP"
128 + local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
129 + have reported that this module dropped critical SIP packets in their deployments. You
130 + may want to disable it if you see such problems."
131 + check_extra_config
132 +
133 + enewgroup asterisk
134 + enewgroup dialout 20
135 + enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
136 +}
137 +
138 +src_prepare() {
139 + default
140 + AT_M4DIR="autoconf third-party third-party/pjproject" eautoreconf
141 +}
142 +
143 +src_configure() {
144 + local vmst
145 +
146 + econf \
147 + --libdir="/usr/$(get_libdir)" \
148 + --localstatedir="/var" \
149 + --with-crypto \
150 + --with-gsm=internal \
151 + --with-popt \
152 + --with-ssl \
153 + --with-z \
154 + --without-pwlib \
155 + $(use_with caps cap) \
156 + $(use_with http gmime) \
157 + $(use_with newt) \
158 + $(use_with portaudio) \
159 + $(use_with pjproject)
160 +
161 + # Blank out sounds/sounds.xml file to prevent
162 + # asterisk from installing sounds files (we pull them in via
163 + # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
164 + >"${S}"/sounds/sounds.xml
165 +
166 + # That NATIVE_ARCH chatter really is quite bothersome
167 + sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
168 +
169 + # Compile menuselect binary for optional components
170 + emake menuselect.makeopts
171 +
172 + # Broken functionality is forcibly disabled (bug #360143)
173 + menuselect/menuselect --disable chan_misdn menuselect.makeopts
174 + menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
175 +
176 + # Utility set is forcibly enabled (bug #358001)
177 + menuselect/menuselect --enable smsq menuselect.makeopts
178 + menuselect/menuselect --enable streamplayer menuselect.makeopts
179 + menuselect/menuselect --enable aelparse menuselect.makeopts
180 + menuselect/menuselect --enable astman menuselect.makeopts
181 +
182 + # this is connected, otherwise it would not find
183 + # ast_pktccops_gate_alloc symbol
184 + menuselect/menuselect --enable chan_mgcp menuselect.makeopts
185 + menuselect/menuselect --enable res_pktccops menuselect.makeopts
186 +
187 + # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
188 + menuselect/menuselect --enable pbx_dundi menuselect.makeopts
189 + menuselect/menuselect --enable func_aes menuselect.makeopts
190 + menuselect/menuselect --enable chan_iax2 menuselect.makeopts
191 +
192 + # SQlite3 is now the main database backend, enable related features
193 + menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
194 + menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts
195 +
196 + # The others are based on USE-flag settings
197 + use_select() {
198 + local state=$(use "$1" && echo enable || echo disable)
199 + shift # remove use from parameters
200 +
201 + while [[ -n $1 ]]; do
202 + menuselect/menuselect --${state} "$1" menuselect.makeopts
203 + shift
204 + done
205 + }
206 +
207 + use_select alsa chan_alsa
208 + use_select bluetooth chan_mobile
209 + use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
210 + use_select cluster res_corosync
211 + use_select curl func_curl res_config_curl res_curl
212 + use_select dahdi app_dahdiras app_meetme chan_dahdi codec_dahdi res_timing_dahdi
213 + use_select freetds {cdr,cel}_tds
214 + use_select gtalk chan_motif
215 + use_select http res_http_post
216 + use_select iconv func_iconv
217 + use_select xmpp res_xmpp
218 + use_select ilbc codec_ilbc format_ilbc
219 + use_select ldap res_config_ldap
220 + use_select lua pbx_lua
221 + use_select mysql app_mysql cdr_mysql res_config_mysql
222 + use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
223 + use_select osplookup app_osplookup
224 + use_select oss chan_oss
225 + use_select postgres {cdr,cel}_pgsql res_config_pgsql
226 + use_select radius {cdr,cel}_radius
227 + use_select snmp res_snmp
228 + use_select span res_fax_spandsp
229 + use_select speex {codec,func}_speex
230 + use_select srtp res_srtp
231 + use_select syslog cdr_syslog
232 + use_select vorbis format_ogg_vorbis
233 +
234 + # Voicemail storage ...
235 + for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
236 + if use ${vmst}; then
237 + menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
238 + fi
239 + done
240 +
241 + if use debug; then
242 + for o in DONT_OPTIMIZE DEBUG_THREADS BETTER_BACKTRACES; do
243 + menuselect/menuselect --enable $o menuselect.makeopts
244 + done
245 + fi
246 +}
247 +
248 +src_compile() {
249 + ASTLDFLAGS="${LDFLAGS}" emake
250 +}
251 +
252 +src_install() {
253 + mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
254 + emake DESTDIR="${D}" installdirs
255 + emake DESTDIR="${D}" install
256 +
257 + if use radius; then
258 + insinto /etc/radiusclient/
259 + doins contrib/dictionary.digium
260 + fi
261 + diropts -m 0750 -o root -g asterisk
262 + keepdir /etc/asterisk
263 + if use samples; then
264 + emake DESTDIR="${D}" samples
265 + for conffile in "${D}"etc/asterisk/*.*
266 + do
267 + chown root:root $conffile
268 + chmod 0644 $conffile
269 + done
270 + einfo "Sample files have been installed"
271 + else
272 + einfo "Skipping installation of sample files..."
273 + rm -f "${D}"var/lib/asterisk/mohmp3/* || die
274 + rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
275 + rm -f "${D}"var/lib/asterisk/agi-bin/* || die
276 + rm -f "${D}"etc/asterisk/* || die
277 + fi
278 + rm -rf "${D}"var/spool/asterisk/voicemail/default || die
279 +
280 + # keep directories
281 + diropts -m 0770 -o asterisk asterisk
282 + keepdir /var/lib/asterisk
283 + keepdir /var/spool/asterisk
284 + keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
285 + diropts -m 0750 -o asterisk -g asterisk
286 + keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
287 +
288 + newinitd "${FILESDIR}"/1.8.0/asterisk.initd8 asterisk
289 + newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
290 +
291 + systemd_dounit "${FILESDIR}"/asterisk.service
292 + systemd_newtmpfilesd "${FILESDIR}"/asterisk.tmpfiles.conf asterisk.conf
293 + systemd_install_serviced "${FILESDIR}"/asterisk.service.conf
294 +
295 + # install the upgrade documentation
296 + #
297 + dodoc UPGRADE* BUGS CREDITS
298 +
299 + # install extra documentation
300 + #
301 + if use doc
302 + then
303 + dodoc doc/*.txt
304 + dodoc doc/*.pdf
305 + fi
306 +
307 + # install SIP scripts; bug #300832
308 + #
309 + dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
310 + dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
311 + dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
312 + dodoc "${FILESDIR}/1.6.2/call_data.txt"
313 +
314 + # install logrotate snippet; bug #329281
315 + #
316 + insinto /etc/logrotate.d
317 + newins "${FILESDIR}/1.6.2/asterisk.logrotate4" asterisk
318 +}
319 +
320 +pkg_postinst() {
321 + #
322 + # Announcements, warnings, reminders...
323 + #
324 + einfo "Asterisk has been installed"
325 + echo
326 + elog "If you want to know more about asterisk, visit these sites:"
327 + elog "http://www.asteriskdocs.org/"
328 + elog "http://www.voip-info.org/wiki-Asterisk"
329 + echo
330 + elog "http://www.automated.it/guidetoasterisk.htm"
331 + echo
332 + elog "Gentoo VoIP IRC Channel:"
333 + elog "#gentoo-voip @ irc.freenode.net"
334 + echo
335 + echo
336 + elog "Please read the Asterisk 13 upgrade document:"
337 + elog "https://wiki.asterisk.org/wiki/display/AST/Upgrading+to+Asterisk+13"
338 +}
339 +
340 +pkg_config() {
341 + einfo "Do you want to reset file permissions and ownerships (y/N)?"
342 +
343 + read tmp
344 + tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
345 +
346 + if [[ "$tmp" = "y" ]] ||\
347 + [[ "$tmp" = "yes" ]]
348 + then
349 + einfo "Resetting permissions to defaults..."
350 +
351 + for x in spool run lib log; do
352 + chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
353 + chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
354 + done
355 +
356 + chown -R root:asterisk "${ROOT}"etc/asterisk
357 + chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
358 +
359 + einfo "done"
360 + else
361 + einfo "skipping"
362 + fi
363 +}