Gentoo Archives: gentoo-commits

From: "Tony Vroon (chainsaw)" <chainsaw@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-misc/asterisk: ChangeLog asterisk-1.8.4.4-r1.ebuild asterisk-1.6.2.19-r1.ebuild asterisk-1.6.2.19.ebuild asterisk-1.8.4.4.ebuild
Date: Mon, 04 Jul 2011 15:00:24
Message-Id: 20110704145944.EA9F720034@flycatcher.gentoo.org
1 chainsaw 11/07/04 14:59:44
2
3 Modified: ChangeLog
4 Added: asterisk-1.8.4.4-r1.ebuild
5 asterisk-1.6.2.19-r1.ebuild
6 Removed: asterisk-1.6.2.19.ebuild asterisk-1.8.4.4.ebuild
7 Log:
8 Actually install the newest init script with Jaco Kroon's restart fixes; as pointed out by Erik Wallin (reopened) bug #345307.
9
10 (Portage version: 2.1.10.4/cvs/Linux x86_64)
11
12 Revision Changes Path
13 1.330 net-misc/asterisk/ChangeLog
14
15 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/ChangeLog?rev=1.330&view=markup
16 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/ChangeLog?rev=1.330&content-type=text/plain
17 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/ChangeLog?r1=1.329&r2=1.330
18
19 Index: ChangeLog
20 ===================================================================
21 RCS file: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v
22 retrieving revision 1.329
23 retrieving revision 1.330
24 diff -u -r1.329 -r1.330
25 --- ChangeLog 29 Jun 2011 20:23:17 -0000 1.329
26 +++ ChangeLog 4 Jul 2011 14:59:44 -0000 1.330
27 @@ -1,6 +1,15 @@
28 # ChangeLog for net-misc/asterisk
29 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
30 -# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.329 2011/06/29 20:23:17 chainsaw Exp $
31 +# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.330 2011/07/04 14:59:44 chainsaw Exp $
32 +
33 +*asterisk-1.8.4.4-r1 (04 Jul 2011)
34 +*asterisk-1.6.2.19-r1 (04 Jul 2011)
35 +
36 + 04 Jul 2011; Tony Vroon <chainsaw@g.o> -asterisk-1.6.2.19.ebuild,
37 + +asterisk-1.6.2.19-r1.ebuild, -asterisk-1.8.4.4.ebuild,
38 + +asterisk-1.8.4.4-r1.ebuild:
39 + Actually install the newest init script with Jaco Kroon's restart fixes; as
40 + pointed out by Erik Wallin (reopened) bug #345307.
41
42 *asterisk-1.6.2.19 (29 Jun 2011)
43
44
45
46
47 1.1 net-misc/asterisk/asterisk-1.8.4.4-r1.ebuild
48
49 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/asterisk-1.8.4.4-r1.ebuild?rev=1.1&view=markup
50 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/asterisk-1.8.4.4-r1.ebuild?rev=1.1&content-type=text/plain
51
52 Index: asterisk-1.8.4.4-r1.ebuild
53 ===================================================================
54 # Copyright 1999-2011 Gentoo Foundation
55 # Distributed under the terms of the GNU General Public License v2
56 # $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.8.4.4-r1.ebuild,v 1.1 2011/07/04 14:59:44 chainsaw Exp $
57
58 EAPI=3
59 inherit autotools base eutils linux-info multilib
60
61 MY_P="${PN}-${PV/_/-}"
62
63 DESCRIPTION="Asterisk: A Modular Open Source PBX System"
64 HOMEPAGE="http://www.asterisk.org/"
65 SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/${MY_P}.tar.gz
66 mirror://gentoo/gentoo-asterisk-patchset-0.5.tar.bz2"
67 LICENSE="GPL-2"
68 SLOT="0"
69 KEYWORDS="~amd64 ~x86"
70
71 IUSE="ais alsa bluetooth calendar +caps curl dahdi debug doc freetds gtalk h323 http iconv jabber jingle ldap lua mysql newt +samples odbc osplookup oss portaudio postgres radius snmp span speex ssl sqlite sqlite3 srtp static syslog usb vorbis"
72
73 EPATCH_SUFFIX="patch"
74 PATCHES=( "${WORKDIR}/asterisk-patchset" )
75
76 RDEPEND="sys-libs/ncurses
77 dev-libs/popt
78 sys-libs/zlib
79 dev-libs/libxml2
80 ais? ( sys-cluster/openais )
81 alsa? ( media-libs/alsa-lib )
82 bluetooth? ( net-wireless/bluez )
83 calendar? ( net-libs/neon
84 dev-libs/libical
85 dev-libs/iksemel )
86 caps? ( sys-libs/libcap )
87 curl? ( net-misc/curl )
88 dahdi? ( >=net-libs/libpri-1.4.12_beta2
89 net-misc/dahdi-tools )
90 freetds? ( dev-db/freetds )
91 gtalk? ( dev-libs/iksemel )
92 h323? ( net-libs/openh323 )
93 http? ( dev-libs/gmime:0 )
94 iconv? ( virtual/libiconv )
95 jabber? ( dev-libs/iksemel )
96 jingle? ( dev-libs/iksemel )
97 ldap? ( net-nds/openldap )
98 lua? ( dev-lang/lua )
99 mysql? ( dev-db/mysql )
100 newt? ( dev-libs/newt )
101 odbc? ( dev-db/unixODBC )
102 osplookup? ( net-libs/osptoolkit
103 dev-libs/openssl )
104 portaudio? ( media-libs/portaudio )
105 postgres? ( dev-db/postgresql-base )
106 radius? ( net-dialup/radiusclient-ng )
107 snmp? ( net-analyzer/net-snmp )
108 span? ( media-libs/spandsp )
109 speex? ( media-libs/speex )
110 sqlite? ( dev-db/sqlite:0 )
111 sqlite3? ( dev-db/sqlite:3 )
112 srtp? ( net-libs/libsrtp )
113 ssl? ( dev-libs/openssl )
114 usb? ( dev-libs/libusb
115 media-libs/alsa-lib )
116 vorbis? ( media-libs/libvorbis )"
117
118 DEPEND="${RDEPEND}
119 !net-misc/asterisk-addons
120 !net-misc/asterisk-chan_unistim
121 !net-misc/zaptel"
122
123 RDEPEND="${RDEPEND}
124 syslog? ( virtual/logger )"
125
126 PDEPEND="net-misc/asterisk-core-sounds
127 net-misc/asterisk-extra-sounds
128 net-misc/asterisk-moh-opsound"
129
130 S="${WORKDIR}/${MY_P}"
131
132 pkg_setup() {
133 CONFIG_CHECK="~!NF_CONNTRACK_SIP"
134 local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
135 have reported that this module dropped critical SIP packets in their deployments. You
136 may want to disable it if you see such problems."
137 check_extra_config
138
139 enewgroup asterisk
140 enewgroup dialout 20
141 enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
142 }
143
144 src_prepare() {
145 base_src_prepare
146 AT_M4DIR=autoconf eautoreconf
147 }
148
149 src_configure() {
150 econf \
151 --libdir="/usr/$(get_libdir)" \
152 --localstatedir="/var" \
153 --with-gsm=internal \
154 --with-popt \
155 --with-z \
156 $(use_with caps cap) \
157 $(use_with http gmime) \
158 $(use_with newt) \
159 $(use_with portaudio) \
160 $(use_with ssl crypto) \
161 $(use_with ssl)
162
163 #
164 # blank out sounds/sounds.xml file to prevent
165 # asterisk from installing sounds files (we pull them in via
166 # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
167 #
168 >"${S}"/sounds/sounds.xml
169
170 # Compile menuselect binary for optional components
171 emake menuselect.makeopts
172
173 # Broken functionality is forcibly disabled (bug #360143)
174 menuselect/menuselect --disable chan_misdn 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 # The others are based on USE-flag settings
183 if use ais; then
184 menuselect/menuselect --enable res_ais menuselect.makeopts
185 else
186 menuselect/menuselect --disable res_ais menuselect.makeopts
187 fi
188 if use alsa; then
189 menuselect/menuselect --enable chan_alsa menuselect.makeopts
190 else
191 menuselect/menuselect --disable chan_alsa menuselect.makeopts
192 fi
193 if use bluetooth; then
194 menuselect/menuselect --enable chan_mobile menuselect.makeopts
195 else
196 menuselect/menuselect --disable chan_mobile menuselect.makeopts
197 fi
198 if use calendar; then
199 menuselect/menuselect --enable res_calendar menuselect.makeopts
200 menuselect/menuselect --enable res_calendar_caldav menuselect.makeopts
201 menuselect/menuselect --enable res_calendar_ews menuselect.makeopts
202 menuselect/menuselect --enable res_calendar_exchange menuselect.makeopts
203 menuselect/menuselect --enable res_calendar_icalendar menuselect.makeopts
204 else
205 menuselect/menuselect --disable res_calendar menuselect.makeopts
206 menuselect/menuselect --disable res_calendar_caldav menuselect.makeopts
207 menuselect/menuselect --disable res_calendar_ews menuselect.makeopts
208 menuselect/menuselect --disable res_calendar_exchange menuselect.makeopts
209 menuselect/menuselect --disable res_calendar_icalendar menuselect.makeopts
210 fi
211 if use curl; then
212 menuselect/menuselect --enable func_curl menuselect.makeopts
213 menuselect/menuselect --enable res_config_curl menuselect.makeopts
214 menuselect/menuselect --enable res_curl menuselect.makeopts
215 else
216 menuselect/menuselect --disable func_curl menuselect.makeopts
217 menuselect/menuselect --disable res_config_curl menuselect.makeopts
218 menuselect/menuselect --disable res_curl menuselect.makeopts
219 fi
220 if use dahdi; then
221 menuselect/menuselect --enable app_dahdibarge menuselect.makeopts
222 menuselect/menuselect --enable app_dahdiras menuselect.makeopts
223 menuselect/menuselect --enable chan_dahdi menuselect.makeopts
224 menuselect/menuselect --enable codec_dahdi menuselect.makeopts
225 menuselect/menuselect --enable res_timing_dahdi menuselect.makeopts
226 else
227 menuselect/menuselect --disable app_dahdibarge menuselect.makeopts
228 menuselect/menuselect --disable app_dahdiras menuselect.makeopts
229 menuselect/menuselect --disable chan_dahdi menuselect.makeopts
230 menuselect/menuselect --disable codec_dahdi menuselect.makeopts
231 menuselect/menuselect --disable res_timing_dahdi menuselect.makeopts
232 fi
233 if use freetds; then
234 menuselect/menuselect --enable cdr_tds menuselect.makeopts
235 menuselect/menuselect --enable cel_tds menuselect.makeopts
236 else
237 menuselect/menuselect --disable cdr_tds menuselect.makeopts
238 menuselect/menuselect --disable cel_tds menuselect.makeopts
239 fi
240 if use gtalk; then
241 menuselect/menuselect --enable chan_gtalk menuselect.makeopts
242 else
243 menuselect/menuselect --disable chan_gtalk menuselect.makeopts
244 fi
245 if use h323; then
246 menuselect/menuselect --enable chan_ooh323 menuselect.makeopts
247 else
248 menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
249 fi
250 if use http; then
251 menuselect/menuselect --enable res_http_post menuselect.makeopts
252 else
253 menuselect/menuselect --disable res_http_post menuselect.makeopts
254 fi
255 if use iconv; then
256 menuselect/menuselect --enable func_iconv menuselect.makeopts
257 else
258 menuselect/menuselect --disable func_iconv menuselect.makeopts
259 fi
260 if use jabber; then
261 menuselect/menuselect --enable res_jabber menuselect.makeopts
262 else
263 menuselect/menuselect --disable res_jabber menuselect.makeopts
264 fi
265 if use jingle; then
266 menuselect/menuselect --enable chan_jingle menuselect.makeopts
267 else
268 menuselect/menuselect --disable chan_jingle menuselect.makeopts
269 fi
270 if use ldap; then
271 menuselect/menuselect --enable res_config_ldap menuselect.makeopts
272 else
273 menuselect/menuselect --disable res_config_ldap menuselect.makeopts
274 fi
275 if use lua; then
276 menuselect/menuselect --enable pbx_lua menuselect.makeopts
277 else
278 menuselect/menuselect --disable pbx_lua menuselect.makeopts
279 fi
280 if use mysql; then
281 menuselect/menuselect --enable app_mysql menuselect.makeopts
282 menuselect/menuselect --enable cdr_mysql menuselect.makeopts
283 menuselect/menuselect --enable res_config_mysql menuselect.makeopts
284 else
285 menuselect/menuselect --disable app_mysql menuselect.makeopts
286 menuselect/menuselect --disable cdr_mysql menuselect.makeopts
287 menuselect/menuselect --disable res_config_mysql menuselect.makeopts
288 fi
289 if use odbc; then
290 menuselect/menuselect --enable cdr_adaptive_odbc menuselect.makeopts
291 menuselect/menuselect --enable cdr_odbc menuselect.makeopts
292 menuselect/menuselect --enable cel_odbc menuselect.makeopts
293 menuselect/menuselect --enable func_odbc menuselect.makeopts
294 menuselect/menuselect --enable res_config_odbc menuselect.makeopts
295 menuselect/menuselect --enable res_odbc menuselect.makeopts
296 else
297 menuselect/menuselect --disable cdr_adaptive_odbc menuselect.makeopts
298 menuselect/menuselect --disable cdr_odbc menuselect.makeopts
299 menuselect/menuselect --disable cel_odbc menuselect.makeopts
300 menuselect/menuselect --disable func_odbc menuselect.makeopts
301 menuselect/menuselect --disable res_config_odbc menuselect.makeopts
302 menuselect/menuselect --disable res_odbc menuselect.makeopts
303 fi
304 if use osplookup; then
305 menuselect/menuselect --enable app_osplookup menuselect.makeopts
306 else
307 menuselect/menuselect --disable app_osplookup menuselect.makeopts
308 fi
309 if use oss; then
310 menuselect/menuselect --enable chan_oss menuselect.makeopts
311 else
312 menuselect/menuselect --disable chan_oss menuselect.makeopts
313 fi
314 if use postgres; then
315 menuselect/menuselect --enable cdr_pgsql menuselect.makeopts
316 menuselect/menuselect --enable cel_pgsql menuselect.makeopts
317 menuselect/menuselect --enable res_config_pgsql menuselect.makeopts
318 else
319 menuselect/menuselect --disable cdr_pgsql menuselect.makeopts
320 menuselect/menuselect --disable cel_pgsql menuselect.makeopts
321 menuselect/menuselect --disable res_config_pgsql menuselect.makeopts
322 fi
323 if use radius; then
324 menuselect/menuselect --enable cdr_radius menuselect.makeopts
325 menuselect/menuselect --enable cel_radius menuselect.makeopts
326 else
327 menuselect/menuselect --disable cdr_radius menuselect.makeopts
328 menuselect/menuselect --disable cel_radius menuselect.makeopts
329 fi
330 if use snmp; then
331 menuselect/menuselect --enable res_snmp menuselect.makeopts
332 else
333 menuselect/menuselect --disable res_snmp menuselect.makeopts
334 fi
335 if use span; then
336 menuselect/menuselect --enable res_fax_spandsp menuselect.makeopts
337 else
338 menuselect/menuselect --disable res_fax_spandsp menuselect.makeopts
339 fi
340 if use speex; then
341 menuselect/menuselect --enable codec_speex menuselect.makeopts
342 menuselect/menuselect --enable func_speex menuselect.makeopts
343 else
344 menuselect/menuselect --disable codec_speex menuselect.makeopts
345 menuselect/menuselect --disable func_speex menuselect.makeopts
346 fi
347 if use sqlite; then
348 menuselect/menuselect --enable cdr_sqlite menuselect.makeopts
349 else
350 menuselect/menuselect --disable cdr_sqlite menuselect.makeopts
351 fi
352 if use sqlite3; then
353 menuselect/menuselect --enable cdr_sqlite3_custom menuselect.makeopts
354 menuselect/menuselect --enable cel_sqlite3_custom menuselect.makeopts
355 else
356 menuselect/menuselect --disable cdr_sqlite3_custom menuselect.makeopts
357 menuselect/menuselect --disable cel_sqlite3_custom menuselect.makeopts
358 fi
359 if use srtp; then
360 menuselect/menuselect --enable res_srtp menuselect.makeopts
361 else
362 menuselect/menuselect --disable res_srtp menuselect.makeopts
363 fi
364 if use syslog; then
365 menuselect/menuselect --enable cdr_syslog menuselect.makeopts
366 else
367 menuselect/menuselect --disable cdr_syslog menuselect.makeopts
368 fi
369 if use usb; then
370 menuselect/menuselect --enable chan_usbradio menuselect.makeopts
371 else
372 menuselect/menuselect --disable chan_usbradio menuselect.makeopts
373 fi
374 if use vorbis; then
375 menuselect/menuselect --enable format_ogg_vorbis menuselect.makeopts
376 else
377 menuselect/menuselect --disable format_ogg_vorbis menuselect.makeopts
378 fi
379 }
380
381 src_compile() {
382 ASTLDFLAGS="${LDFLAGS}" emake || die "emake failed"
383 }
384
385 src_install() {
386 mkdir -p "${D}"usr/$(get_libdir)/pkgconfig
387 emake DESTDIR="${D}" installdirs || die "emake installdirs failed"
388 emake DESTDIR="${D}" install || die "emake installdirs failed"
389
390 if use samples; then
391 emake DESTDIR="${D}" samples || die "emake samples failed"
392 for conffile in "${D}"etc/asterisk/*.*
393 do
394 chown asterisk:asterisk $conffile
395 chmod 0660 $conffile
396 done
397 einfo "Sample files have been installed"
398 else
399 einfo "Skipping installation of sample files..."
400 rm -f "${D}"var/lib/asterisk/mohmp3/*
401 rm -f "${D}"var/lib/asterisk/sounds/demo-*
402 rm -f "${D}"var/lib/asterisk/agi-bin/*
403 rm -f "${D}"etc/asterisk/*
404 fi
405 rm -rf "${D}"var/spool/asterisk/voicemail/default
406
407 # keep directories
408 diropts -m 0770 -o asterisk -g asterisk
409 keepdir /etc/asterisk
410 keepdir /var/lib/asterisk
411 keepdir /var/run/asterisk
412 keepdir /var/spool/asterisk
413 keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
414 diropts -m 0750 -o asterisk -g asterisk
415 keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
416
417 newinitd "${FILESDIR}"/1.6.2/asterisk.initd3 asterisk
418 newconfd "${FILESDIR}"/1.6.0/asterisk.confd asterisk
419
420 # install the upgrade documentation
421 #
422 dodoc README UPGRADE* BUGS CREDITS
423
424 # install extra documentation
425 #
426 if use doc
427 then
428 dodoc doc/*.txt
429 dodoc doc/*.pdf
430 fi
431
432 # install SIP scripts; bug #300832
433 #
434 dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
435 dodoc "${FILESDIR}/1.6.2/find_call_sip_trace.sh"
436 dodoc "${FILESDIR}/1.6.2/find_call_ids.sh"
437 dodoc "${FILESDIR}/1.6.2/call_data.txt"
438
439 # install logrotate snippet; bug #329281
440 #
441 insinto /etc/logrotate.d
442 newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk
443 }
444
445 pkg_postinst() {
446 #
447 # Announcements, warnings, reminders...
448 #
449 einfo "Asterisk has been installed"
450 echo
451 elog "If you want to know more about asterisk, visit these sites:"
452 elog "http://www.asteriskdocs.org/"
453 elog "http://www.voip-info.org/wiki-Asterisk"
454 echo
455 elog "http://www.automated.it/guidetoasterisk.htm"
456 echo
457 elog "Gentoo VoIP IRC Channel:"
458 elog "#gentoo-voip @ irc.freenode.net"
459 echo
460 echo
461 elog "1.6 -> 1.8 changes that you may care about:"
462 elog "http://svn.asterisk.org/svn/${PN}/tags/${PV}/UPGRADE.txt"
463 elog "or: bzless ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.bz2"
464 }
465
466 pkg_config() {
467 einfo "Do you want to reset file permissions and ownerships (y/N)?"
468
469 read tmp
470 tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
471
472 if [[ "$tmp" = "y" ]] ||\
473 [[ "$tmp" = "yes" ]]
474 then
475 einfo "Resetting permissions to defaults..."
476
477 for x in spool run lib log; do
478 chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
479 chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
480 done
481
482 chown -R root:asterisk "${ROOT}"etc/asterisk
483 chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
484
485 einfo "done"
486 else
487 einfo "skipping"
488 fi
489 }
490
491
492
493 1.1 net-misc/asterisk/asterisk-1.6.2.19-r1.ebuild
494
495 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.19-r1.ebuild?rev=1.1&view=markup
496 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.19-r1.ebuild?rev=1.1&content-type=text/plain
497
498 Index: asterisk-1.6.2.19-r1.ebuild
499 ===================================================================
500 # Copyright 1999-2011 Gentoo Foundation
501 # Distributed under the terms of the GNU General Public License v2
502 # $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.6.2.19-r1.ebuild,v 1.1 2011/07/04 14:59:44 chainsaw Exp $
503
504 EAPI=3
505 inherit autotools base eutils linux-info multilib
506
507 MY_P="${PN}-${PV/_/-}"
508
509 DESCRIPTION="Asterisk: A Modular Open Source PBX System"
510 HOMEPAGE="http://www.asterisk.org/"
511 SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
512 mirror://gentoo/gentoo-asterisk-patchset-0.6.tar.bz2"
513 LICENSE="GPL-2"
514 SLOT="0"
515 KEYWORDS="~amd64 ~x86"
516
517 IUSE="alsa +caps dahdi doc freetds iconv jabber ldap lua newt +samples oss postgres radius snmp span speex ssl sqlite vorbis"
518
519 EPATCH_SUFFIX="patch"
520 PATCHES=( "${WORKDIR}/asterisk-patchset" )
521
522 RDEPEND="sys-libs/ncurses
523 dev-libs/popt
524 sys-libs/zlib
525 alsa? ( media-libs/alsa-lib )
526 caps? ( sys-libs/libcap )
527 dahdi? ( >=net-libs/libpri-1.4.7
528 >=net-misc/dahdi-tools-2.4.1 )
529 freetds? ( dev-db/freetds )
530 iconv? ( virtual/libiconv )
531 jabber? ( dev-libs/iksemel )
532 ldap? ( net-nds/openldap )
533 lua? ( dev-lang/lua )
534 newt? ( dev-libs/newt )
535 postgres? ( dev-db/postgresql-base )
536 radius? ( net-dialup/radiusclient-ng )
537 snmp? ( net-analyzer/net-snmp )
538 span? ( media-libs/spandsp )
539 speex? ( media-libs/speex )
540 sqlite? ( dev-db/sqlite )
541 ssl? ( dev-libs/openssl )
542 vorbis? ( media-libs/libvorbis )"
543
544 DEPEND="${RDEPEND}
545 !<net-misc/asterisk-addons-1.6
546 !net-misc/asterisk-chan_unistim
547 !net-misc/zaptel"
548
549 PDEPEND="net-misc/asterisk-core-sounds
550 net-misc/asterisk-extra-sounds
551 net-misc/asterisk-moh-opsound"
552
553 S="${WORKDIR}/${MY_P}"
554
555 pkg_setup() {
556 CONFIG_CHECK="~!NF_CONNTRACK_SIP"
557 local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
558 have reported that this module dropped critical SIP packets in their deployments. You
559 may want to disable it if you see such problems."
560 check_extra_config
561
562 enewgroup asterisk
563 enewgroup dialout 20
564 enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
565 }
566
567 src_prepare() {
568 base_src_prepare
569 AT_M4DIR=autoconf eautoreconf
570 }
571
572 src_configure() {
573 econf \
574 --libdir="/usr/$(get_libdir)" \
575 --localstatedir="/var" \
576 --with-gsm=internal \
577 --with-popt \
578 --with-z \
579 $(use_with alsa asound) \
580 $(use_with caps cap) \
581 $(use_with dahdi pri) \
582 $(use_with dahdi tonezone) \
583 $(use_with dahdi) \
584 $(use_with freetds tds) \
585 $(use_with iconv) \
586 $(use_with jabber iksemel) \
587 $(use_with lua) \
588 $(use_with newt) \
589 $(use_with oss) \
590 $(use_with postgres) \
591 $(use_with radius) \
592 $(use_with snmp netsnmp) \
593 $(use_with span spandsp) \
594 $(use_with speex) \
595 $(use_with speex speexdsp) \
596 $(use_with sqlite sqlite3) \
597 $(use_with ssl crypto) \
598 $(use_with ssl) \
599 $(use_with vorbis ogg) \
600 $(use_with vorbis) || die "econf failed"
601
602 #
603 # blank out sounds/sounds.xml file to prevent
604 # asterisk from installing sounds files (we pull them in via
605 # asterisk-{core,extra}-sounds and asterisk-moh-opsound).
606 #
607 >"${S}"/sounds/sounds.xml
608 }
609
610 src_compile() {
611 ASTLDFLAGS="${LDFLAGS}" emake || die "emake failed"
612 }
613
614 src_install() {
615 # setup directory structure
616 #
617 mkdir -p "${D}"usr/$(get_libdir)/pkgconfig
618
619 emake DESTDIR="${D}" install || die "emake install failed"
620
621 if use samples; then
622 emake DESTDIR="${D}" samples || die "emake samples failed"
623 for conffile in "${D}"etc/asterisk/*.*
624 do
625 chown asterisk:asterisk $conffile
626 chmod 0660 $conffile
627 done
628 einfo "Sample files have been installed"
629 else
630 einfo "Skipping installation of sample files..."
631 rm -f "${D}"var/lib/asterisk/mohmp3/*
632 rm -f "${D}"var/lib/asterisk/sounds/demo-*
633 rm -f "${D}"var/lib/asterisk/agi-bin/*
634 rm -f "${D}"etc/asterisk/*
635 fi
636 rm -rf "${D}"var/spool/asterisk/voicemail/default
637
638 # keep directories
639 diropts -m 0770 -o asterisk -g asterisk
640 keepdir /etc/asterisk
641 keepdir /var/lib/asterisk
642 keepdir /var/run/asterisk
643 keepdir /var/spool/asterisk
644 keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
645 diropts -m 0750 -o asterisk -g asterisk
646 keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
647
648 newinitd "${FILESDIR}"/1.6.2/asterisk.initd3 asterisk
649 newconfd "${FILESDIR}"/1.6.0/asterisk.confd asterisk
650
651 # install the upgrade documentation
652 #
653 dodoc README UPGRADE* BUGS CREDITS
654
655 # install extra documentation
656 #
657 if use doc
658 then
659 dodoc doc/*.txt
660 dodoc doc/*.pdf
661 dodoc doc/PEERING
662 dodoc doc/CODING-GUIDELINES
663 dodoc doc/tex/*.pdf
664 fi
665
666 # install snmp mib files
667 #
668 if use snmp
669 then
670 insinto /usr/share/snmp/mibs/
671 doins doc/digium-mib.txt doc/asterisk-mib.txt
672 fi
673
674 # install SIP scripts; bug #300832
675 #
676 dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
677 dodoc "${FILESDIR}/1.6.2/find_call_sip_trace.sh"
678 dodoc "${FILESDIR}/1.6.2/find_call_ids.sh"
679 dodoc "${FILESDIR}/1.6.2/call_data.txt"
680
681 insinto /etc/logrotate.d
682 newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk
683 }
684
685 pkg_postinst() {
686 #
687 # Announcements, warnings, reminders...
688 #
689 einfo "Asterisk has been installed"
690 einfo
691 elog "If you want to know more about asterisk, visit these sites:"
692 elog "http://www.asteriskdocs.org/"
693 elog "http://www.voip-info.org/wiki-Asterisk"
694 einfo
695 elog "http://www.automated.it/guidetoasterisk.htm"
696 einfo
697 elog "Gentoo VoIP IRC Channel:"
698 elog "#gentoo-voip @ irc.freenode.net"
699 }
700
701 pkg_config() {
702 einfo "Do you want to reset file permissions and ownerships (y/N)?"
703
704 read tmp
705 tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
706
707 if [[ "$tmp" = "y" ]] ||\
708 [[ "$tmp" = "yes" ]]
709 then
710 einfo "Resetting permissions to defaults..."
711
712 for x in spool run lib log; do
713 chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
714 chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
715 done
716
717 chown -R root:asterisk "${ROOT}"etc/asterisk
718 chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
719
720 einfo "done"
721 else
722 einfo "skipping"
723 fi
724 }