ChangeLog

# ChangeLog for net-misc/asterisk
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/ChangeLog,v 1.180 2008/05/21 19:00:02 dev-zero Exp $

21 May 2008; Tiziano Müller asterisk-1.2.13.ebuild,
asterisk-1.2.13-r1.ebuild, asterisk-1.2.14.ebuild,
asterisk-1.2.14-r1.ebuild, asterisk-1.2.14-r2.ebuild,
asterisk-1.2.17.ebuild, asterisk-1.2.17-r1.ebuild,
asterisk-1.2.21.1.ebuild, asterisk-1.2.21.1-r1.ebuild,
asterisk-1.2.27.ebuild:
Changed dependency for postgresql from dev-db/postgresql to
virtual/postgresql-server

25 Mar 2008; Ferris McCormick asterisk-1.2.27.ebuild:
Sparc stable, security Bug #213883.

23 Mar 2008; Markus Meier asterisk-1.2.27.ebuild:
amd64/x86 stable, security bug #213883

*asterisk-1.2.27 (23 Mar 2008)

23 Mar 2008; Rajiv Aaron Manglani
+asterisk-1.2.27.ebuild:
version bump. fixes security bugs #200792, #202733, #213883.

21 Feb 2008; asterisk-1.2.17-r1.ebuild,
asterisk-1.2.21.1-r1.ebuild:
Stable on amd64; bug 185713

12 Feb 2008; Ferris McCormick
asterisk-1.2.17-r1.ebuild, asterisk-1.2.21.1-r1.ebuild:
Sparc stable, Security Bug #185713.

06 Jan 2008; Rajiv Aaron Manglani
-files/1.0.0/asterisk-1.0.5-astcfg-0.0.2.diff,
-files/1.0.0/asterisk-1.0.5-hppa.patch,
-files/1.0.0/asterisk-1.0.5-lpc10flags.diff,
-files/1.0.0/asterisk-1.0.5-speex.diff,
-files/1.0.0/asterisk-1.0.7-initgroups.diff,
-files/1.0.0/asterisk-1.0.7-manager-cli-segv.patch,
-files/1.0.0/asterisk-1.0.7-scripts.diff,
-files/1.0.0/asterisk-1.0.8-callerid.patch,
-files/1.0.0/asterisk-1.0.10-vmail.cgi.patch, -files/1.0.0/asterisk.confd,
-files/1.0.0/asterisk-1.0.8-hppa.patch,
-files/1.0.0/asterisk-1.0.10-weak-references.diff,
-files/1.0.0/asterisk.confd.sec,
-files/1.0.0/asterisk-1.0-CVE-2006-1827.patch,
-files/1.0.0/asterisk-1.0.8-initgroups.diff,
-files/1.0.0/asterisk-1.0.10-misdn.patch, -files/1.0.0/asterisk.rc6,
-files/1.0.0/asterisk-1.0.8-ptr64fix.diff,
-files/1.0.0/asterisk-1.0.12-r2-chan_sip.patch,
-files/1.0.0/asterisk.rc6.sec, -files/1.0.0/asterisk-1.0.9-freetds.diff,
-files/1.0.0/asterisk-uclibc-dns.diff,
-files/1.0.0/res_perl-1.0.7-bristuff-0.2.0.diff,
-files/1.0.0/asterisk-1.0.9-ukcid.patch,
-files/1.0.0/asterisk-1.0.9-vmail.cgi.patch,
-files/1.0.0/asterisk-1.0.9-weak-references.diff, metadata.xml,
-asterisk-1.0.12-r2.ebuild:
removing asterisk and zaptel 1.0.

14 Nov 2007; Steve Dibb asterisk-1.2.14-r2.ebuild:
amd64 stable, bug 175321

28 Oct 2007; Christian Heim asterisk-1.0.12-r2.ebuild,
asterisk-1.2.13.ebuild, asterisk-1.2.13-r1.ebuild, asterisk-1.2.14.ebuild,
asterisk-1.2.14-r1.ebuild, asterisk-1.2.14-r2.ebuild,
asterisk-1.2.17.ebuild, asterisk-1.2.17-r1.ebuild,
asterisk-1.2.21.1.ebuild, asterisk-1.2.21.1-r1.ebuild:
Include virtual/logger in RDEPEND, as the initscript already specifies 'need
logger'.

10 Sep 2007; Christian Faulhammer
asterisk-1.2.17-r1.ebuild, asterisk-1.2.21.1-r1.ebuild:
stable x86, security bug 185713

*asterisk-1.2.21.1-r1 (28 Aug 2007)
*asterisk-1.2.17-r1 (28 Aug 2007)

28 Aug 2007; Stefan Knoblich +asterisk-1.2.17-r1.ebuild,
+asterisk-1.2.21.1-r1.ebuild:
Add security patches for ASA-2007-14, -15, -16, -18, fixing bug #185713.

17 Jul 2007; Christian Faulhammer
asterisk-1.2.21.1.ebuild:
stable x86, security bug 171884

16 Jul 2007; Gustavo Zacarias
asterisk-1.2.21.1.ebuild:
Stable on sparc wrt security #171884

13 Jul 2007; Gustavo Zacarias
files/1.2.0/asterisk-1.2.21.1-h323-dumb-makefile.diff:
Build fix for h323 wrt #176811

13 Jul 2007; Gustavo Zacarias
asterisk-1.2.21.1.ebuild:
Fix build bug #185162

*asterisk-1.2.21.1 (12 Jul 2007)

12 Jul 2007; Gustavo Zacarias
+files/1.2.0/asterisk-1.2.21.1-h323-dumb-makefile.diff,
+asterisk-1.2.21.1.ebuild:
Verbump fixes #171884 and #180510

02 Jul 2007; Doug Goldstein asterisk-1.0.12-r2.ebuild,
asterisk-1.2.13.ebuild, asterisk-1.2.13-r1.ebuild, asterisk-1.2.14.ebuild,
asterisk-1.2.14-r1.ebuild, asterisk-1.2.14-r2.ebuild,
asterisk-1.2.17.ebuild:
Remove sites that no longer exist and are now spam havens

01 May 2007; Raúl Porcel asterisk-1.2.17.ebuild:
x86 stable wrt security bug 175960

30 Apr 2007; Gustavo Zacarias
asterisk-1.2.17.ebuild:
Stable on sparc wrt security #175960

27 Apr 2007; Gustavo Zacarias
files/1.2.0/asterisk-1.2.17-h323-dumb-makefile.diff:
Fix H323 for real wrt #176259

26 Apr 2007; Gustavo Zacarias
-files/1.2.0/asterisk-1.2.17-ASA-2007-011.patch,
-files/1.2.0/asterisk-1.2.17-ASA-2007-012.patch, asterisk-1.2.17.ebuild:
Fix for cvs breaking headers on patches #176170

26 Apr 2007; Gustavo Zacarias
asterisk-1.2.17.ebuild:
Also >=zaptel-1.2.16 while we're at it too

26 Apr 2007; Gustavo Zacarias
asterisk-1.2.17.ebuild:
Make 1.2.17 want libpri-1.2.4

*asterisk-1.2.17 (26 Apr 2007)

26 Apr 2007; Gustavo Zacarias
+files/1.2.0/asterisk-1.2.17-ASA-2007-011.patch,
+files/1.2.0/asterisk-1.2.17-ASA-2007-012.patch,
+files/1.2.0/asterisk-1.2.17-h323-dumb-makefile.diff,
+asterisk-1.2.17.ebuild:
Verbump, should close #175960, #175858, #172680 and #172257

19 Apr 2007; Gustavo Zacarias
files/1.2.0/asterisk.rc6:
Fix for nice absolute path #174539

05 Apr 2007; Roy Marples files/1.2.0/asterisk.rc6:
use nscd and dns so that asterisk can resolve server names on boot.

23 Mar 2007; Rajiv Aaron Manglani
-files/1.0.0/asterisk-1.0.12-chan_sip.patch, -asterisk-1.0.12-r1.ebuild:
remove old ebuild.

20 Mar 2007; Raúl Porcel asterisk-1.0.12-r2.ebuild,
asterisk-1.2.14-r2.ebuild:
x86 stable wrt security bug 171467

*asterisk-1.2.14-r2 (20 Mar 2007)

20 Mar 2007; Gustavo Zacarias
+files/1.2.0/asterisk-1.2.14-chan_sip2.patch, +asterisk-1.2.14-r2.ebuild:
Revpatch wrt security #171467 and sparc stable

*asterisk-1.0.12-r2 (19 Mar 2007)

19 Mar 2007; Rajiv Aaron Manglani
+files/1.0.0/asterisk-1.0.12-r2-chan_sip.patch,
+asterisk-1.0.12-r2.ebuild:
patch SIP denial of service vulnerability. bug #171467.

19 Mar 2007; Rajiv Aaron Manglani
-asterisk-1.0.12.ebuild:
remove old ebuild.

13 Mar 2007; Christian Faulhammer
asterisk-1.0.12-r1.ebuild, asterisk-1.2.14-r1.ebuild:
stable x86, security bug #169161

*asterisk-1.2.14-r1 (13 Mar 2007)

13 Mar 2007; Gustavo Zacarias
+files/1.2.0/asterisk-1.2.14-chan_sip.patch, +asterisk-1.2.14-r1.ebuild:
Revbump wrt security #169616 and sparc stable

09 Mar 2007; files/1.2.0/asterisk.rc6:
- posix compliant init.d script from Natanael Copa. bug 170080

*asterisk-1.0.12-r1 (09 Mar 2007)

09 Mar 2007; Rajiv Aaron Manglani
+files/1.0.0/asterisk-1.0.12-chan_sip.patch, +asterisk-1.0.12-r1.ebuild:
patch SIP denial of service vulnerability. bug #169616.

11 Feb 2007; Rajiv Aaron Manglani
-asterisk-1.2.12.1.ebuild:
remove old ebuild. bug #164217.

29 Jan 2007; Rajiv Aaron Manglani
-asterisk-1.0.11_p1.ebuild:
removing old ebuild. bugs #154136 and #164217.

27 Jan 2007; Joseph Jezak asterisk-1.0.12.ebuild:
Marked ~ppc for bug #154136.

17 Jan 2007; Gustavo Zacarias
asterisk-1.2.14.ebuild:
Switch bri patch to gentoo mirrors instead of gentooexperimental

*asterisk-1.2.14 (17 Jan 2007)

17 Jan 2007; Gustavo Zacarias
+asterisk-1.2.14.ebuild:
New version with BRIstuff-0.3.0-PRE-1x

06 Jan 2007; Timothy Redaelli
asterisk-1.0.11_p1.ebuild, asterisk-1.0.12.ebuild,
asterisk-1.2.12.1.ebuild, asterisk-1.2.13.ebuild,
asterisk-1.2.13-r1.ebuild:
s/einfo/elog/

21 Dec 2006; Rajiv Aaron Manglani
asterisk-1.0.12.ebuild:
stable on x86.

28 Nov 2006; Timothy Redaelli
asterisk-1.2.12.1.ebuild, asterisk-1.2.13.ebuild,
asterisk-1.2.13-r1.ebuild:
Removed -lssl from LIBS if compiled with USE=-ssl wrt bug #155333. Installed
asterisk.h in /usr/include/asterisk to make plugins compile. Added
codec_gsm.so to QA_TEXTRELS_x86 and QA_EXECSTACK_x86 to make asterisk
compile with FEATURES=stricter. Added CC=$(tc-getCC) to make it compile with
cross-distcc.

23 Nov 2006; Francesco Riosa asterisk-1.0.11_p1.ebuild,
asterisk-1.0.12.ebuild, asterisk-1.2.12.1.ebuild, asterisk-1.2.13.ebuild:
dev-db/mysql => virtual/mysql

14 Nov 2006; Alin Nastac asterisk-1.2.13-r1.ebuild:
Remove libpq dependency (#153656).

10 Nov 2006; Stefan Schweizer
asterisk-1.2.13-r1.ebuild:
Removed the bri patching bug that was introduced in -r1. Better not change
quoting - it can lead to serious bugs

*asterisk-1.0.12 (06 Nov 2006)

06 Nov 2006; Rajiv Aaron Manglani
+asterisk-1.0.12.ebuild:
version bump. fixes bug #154136, security bug #151881.

*asterisk-1.2.13-r1 (02 Nov 2006)

02 Nov 2006; Alin Nastac files/1.2.0/asterisk.rc6,
+files/1.2.0/asterisk-1.2.13-memleaks.diff, +asterisk-1.2.13-r1.ebuild:
Fix multiple bugs: #111095, #135300, #148054, #148309, #148853, #152303 and
#153656.

20 Oct 2006; Gustavo Zacarias
asterisk-1.2.13.ebuild:
Stable on sparc wrt security #151881

20 Oct 2006; Joshua Jackson asterisk-1.2.13.ebuild:
Stable x86; bug #151881

*asterisk-1.2.13 (19 Oct 2006)

19 Oct 2006; Stefan Schweizer
-asterisk-1.2.11.ebuild, +asterisk-1.2.13.ebuild:
version bump

08 Oct 2006; Stefan Schweizer
asterisk-1.2.12.1.ebuild:
make sure chan_misdn/capi is not getting installed

06 Oct 2006; Chris Gianelloni
asterisk-1.2.12.1.ebuild:
Stable on x86 wrt bug #144941.

03 Oct 2006; Gustavo Zacarias
asterisk-1.2.12.1.ebuild:
Stable on sparc wrt #144941

*asterisk-1.2.12.1 (03 Oct 2006)

03 Oct 2006; Stefan Schweizer
-asterisk-1.0.7-r4.ebuild, -asterisk-1.0.8-r3.ebuild,
-asterisk-1.0.9-r4.ebuild, -asterisk-1.0.10-r2.ebuild,
-asterisk-1.2.9_p1.ebuild, +asterisk-1.2.12.1.ebuild:
version bump from overlay

06 Oct 2006; Simon Stelling asterisk-1.2.11.ebuild:
fix wrt multilib-strict; bug 138242

14 Sep 2006; Gustavo Zacarias
asterisk-1.2.11.ebuild:
Stable on sparc wrt security #144941

*asterisk-1.2.11 (06 Sep 2006)

06 Sep 2006; Stefan Knoblich +asterisk-1.2.11.ebuild:
Version bump, generic jitterbuffer support reenabled, bristuff-0.3.0-PRE-1s.

13 Jun 2006; Stefan Knoblich -asterisk-1.2.7_p1.ebuild,
-asterisk-1.2.7_p1-r1.ebuild:
Remove old asterisk-1.2 ebuilds.

12 Jun 2006; Rajiv Aaron Manglani
asterisk-1.0.11_p1.ebuild:
stable on x86 for security bug #135680.

11 Jun 2006; Rajiv Aaron Manglani
asterisk-1.0.11_p1.ebuild:
fix DEPEND. bug #136379.

08 Jun 2006; Rajiv Aaron Manglani
-asterisk-1.0.7-r2.ebuild, -asterisk-1.0.7-r3.ebuild,
-asterisk-1.0.8-r1.ebuild, -asterisk-1.0.8-r2.ebuild,
-asterisk-1.0.9-r3.ebuild, -asterisk-1.0.10-r1.ebuild:
remove old ebuilds.

*asterisk-1.2.9_p1 (07 Jun 2006)
*asterisk-1.0.11_p1 (07 Jun 2006)

07 Jun 2006; Stefan Knoblich +asterisk-1.0.11_p1.ebuild,
+asterisk-1.2.9_p1.ebuild:
Security bump (bug #135680), genericjb dropped from 1.2.9_p1 for now
(latest patch does not apply), 1.0.11_p1 updated to use bristuff-0.2.0-PRE8r,
1.2.9_p1 updated to use bristuff-0.3.0-PRE-1p.

*asterisk-1.2.7_p1-r1 (06 May 2006)

06 May 2006; Stefan Knoblich
+asterisk-1.2.7_p1-r1.ebuild:
Revision bump, updating to bristuff-0.3.0-PRE-1o.

30 Apr 2006; Stefan Knoblich
+files/1.0.0/asterisk-1.0.9-ukcid.patch:
Add missing ukcid patch, spotted by Jason Wever .

27 Apr 2006; Alec Warner
files/digest-asterisk-1.0.10-r1, files/digest-asterisk-1.0.10-r2,
Manifest:
Fixing SHA256 digest, pass four

26 Apr 2006; Mark Loeser asterisk-1.0.7-r4.ebuild,
asterisk-1.0.8-r3.ebuild:
Stable on x86; bug #131096

25 Apr 2006; Gustavo Zacarias
asterisk-1.0.8-r3.ebuild, asterisk-1.0.10-r2.ebuild:
Stable on sparc wrt security #131096

*asterisk-1.0.10-r2 (24 Apr 2006)
*asterisk-1.0.9-r4 (24 Apr 2006)
*asterisk-1.0.8-r3 (24 Apr 2006)
*asterisk-1.0.7-r4 (24 Apr 2006)

24 Apr 2006; Stefan Knoblich
+files/1.0.0/asterisk-1.0-CVE-2006-1827.patch, +asterisk-1.0.7-r4.ebuild,
+asterisk-1.0.8-r3.ebuild, +asterisk-1.0.9-r4.ebuild,
+asterisk-1.0.10-r2.ebuild, -asterisk-1.2.0.ebuild,
-asterisk-1.2.1.ebuild, -asterisk-1.2.4.ebuild:
Security revision bump; asterisk-1.0.x: add fix for CVS-2006-1827: Integer
sigendness error in format-jpeg.c (bug #131096); dropping affected
asterisk-1.2.x ebuilds.

17 Apr 2006; Stefan Knoblich
files/1.2.0/asterisk-updater:
Add more functions to asterisk-updater check.

16 Apr 2006; Stefan Knoblich
files/1.2.0/asterisk-updater:
strip --update from emerge options (breaks reemerging of already installed
1.2 compatible ebuilds), modify creation of ebuild list.

*asterisk-1.2.7_p1 (16 Apr 2006)

16 Apr 2006; Stefan Knoblich
+files/1.2.0/asterisk.confd, +files/1.2.0/asterisk.rc6,
+files/1.2.0/asterisk-updater, +asterisk-1.2.7_p1.ebuild:
New version, add experimental generic jitter buffer patch (use at your own
risk), cleanups, add asterisk-updater script and check for asterisk-1.0.x
modules after update, initgroups patch has been dropped (update your conf.d
and init.d files!), add work-in-progress wrapper initscript.

13 Mar 2006; Stefan Knoblich asterisk-1.2.4.ebuild:
Getloadavg fix for uclibc is still necessary for >=asterisk-1.2.4 (jaervosz++).

06 Mar 2006; Gustavo Zacarias
asterisk-1.0.8-r2.ebuild, asterisk-1.0.10-r1.ebuild:
Stable on sparc wrt #125172

*asterisk-1.0.10-r1 (06 Mar 2006)
*asterisk-1.0.9-r3 (06 Mar 2006)
*asterisk-1.0.8-r2 (06 Mar 2006)
*asterisk-1.0.7-r3 (06 Mar 2006)

06 Mar 2006; Rajiv Aaron Manglani
+files/1.0.0/asterisk-1.0.10-vmail.cgi.patch, +asterisk-1.0.7-r3.ebuild,
+asterisk-1.0.8-r2.ebuild, -asterisk-1.0.9-r2.ebuild,
+asterisk-1.0.9-r3.ebuild, -asterisk-1.0.10.ebuild,
+asterisk-1.0.10-r1.ebuild:
new diff for vmail.cgi to fully fix bug #111836.

06 Mar 2006; Stefan Knoblich asterisk-1.0.8-r1.ebuild,
asterisk-1.0.9-r2.ebuild, asterisk-1.0.10.ebuild:
Fix SRC_URI in asterisk-1.0.x ebuilds.

04 Mar 2006; Stefan Knoblich asterisk-1.2.4.ebuild:
New release, fix SRC_URI in ebuild.

28 Feb 2006; Stefan Knoblich
-files/1.0.0/asterisk-1.0.1-linux26.diff, -asterisk-1.0.5-r3.ebuild,
-asterisk-1.0.6-r2.ebuild:
Removed old 1.0.x versions.

05 Feb 2006; Stefan Knoblich asterisk-1.2.4.ebuild:
Fix installation of wrong init and conf.d script (bug #121602).

*asterisk-1.2.4 (02 Feb 2006)

02 Feb 2006; Stefan Knoblich +asterisk-1.2.4.ebuild:
Version bump.

23 Jan 2006; Stefan Knoblich asterisk-1.2.0.ebuild,
asterisk-1.2.1.ebuild:
Fixed SRC_URI.

20 Dec 2005; Stefan Knoblich
+files/1.2.0/asterisk-1.2.1-uclibc-getloadavg.diff,
files/1.0.0/asterisk.rc6.sec, asterisk-1.2.1.ebuild:
Fixed to compile on uclibc where getloadavg is not available,
added capi to use dependencies of the initscript.

*asterisk-1.2.1 (17 Dec 2005)

17 Dec 2005; Stefan Knoblich +asterisk-1.2.1.ebuild:
Version bump, modified bristuff 0.3.0-PRE1c patch to apply.

03 Dec 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.10-misdn.patch, asterisk-1.0.10.ebuild:
Added patch for chan_misdn support on asterisk-1.0.x as requested by genstef.

*asterisk-1.0.10 (02 Dec 2005)

02 Dec 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.10-weak-references.diff,
+asterisk-1.0.10.ebuild:
New version, ebuild cleanups, uk callerid support for x100p clones, chan_sip
MySQL friends support and new bristuff version (RC8q).

01 Dec 2005; Stefan Knoblich Manifest:
Fixed Manifest.

28 Nov 2005; asterisk-1.0.5-r3.ebuild,
asterisk-1.0.6-r2.ebuild, asterisk-1.0.7-r2.ebuild,
asterisk-1.0.8-r1.ebuild, asterisk-1.0.9-r2.ebuild:
Switched from perl-module to perl-app eclass

21 Nov 2005; Stefan Knoblich asterisk-1.2.0.ebuild:
New patchset, patchutils messed up the sip header fix.

20 Nov 2005; Stefan Knoblich asterisk-1.2.0.ebuild:
Re-enabled bri support.

18 Nov 2005; Stefan Knoblich asterisk-1.0.9-r2.ebuild:
Fix #112733, typo in the version check.

*asterisk-1.2.0 (18 Nov 2005)

18 Nov 2005; Stefan Knoblich
+files/1.2.0/asterisk-1.2.0_beta-ukcid.patch,
-asterisk-1.2.0_beta1-r1.ebuild, +asterisk-1.2.0.ebuild:
Version bumped and removed old beta ebuild

*asterisk-1.2.0_beta1-r1 (08 Nov 2005)
*asterisk-1.0.9-r2 (08 Nov 2005)
*asterisk-1.0.8-r1 (08 Nov 2005)
*asterisk-1.0.7-r2 (08 Nov 2005)
*asterisk-1.0.6-r2 (08 Nov 2005)
*asterisk-1.0.5-r3 (08 Nov 2005)

08 Nov 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.9-vmail.cgi.patch, -asterisk-1.0.5-r2.ebuild,
+asterisk-1.0.5-r3.ebuild, -asterisk-1.0.6-r1.ebuild,
+asterisk-1.0.6-r2.ebuild, -asterisk-1.0.7-r1.ebuild,
+asterisk-1.0.7-r2.ebuild, -asterisk-1.0.8.ebuild,
+asterisk-1.0.8-r1.ebuild, -asterisk-1.0.9.ebuild,
-asterisk-1.0.9-r1.ebuild, +asterisk-1.0.9-r2.ebuild,
-asterisk-1.2.0_beta1.ebuild, +asterisk-1.2.0_beta1-r1.ebuild:
Security revbump, fixes #111836. Removed old insecure versions. Thanks to
Rajiv Manglani for reporting this one.

29 Oct 2005; Stefan Knoblich
files/1.0.0/asterisk-1.0.9-freetds.diff:
tds_free_connect has been renamed too, update patch

29 Oct 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.9-freetds.diff, asterisk-1.0.9-r1.ebuild:
Fixed cdr_tds module compilation with >=freetds-0.6.3, reported by
Widyachacra Rajapaksha.

15 Sep 2005; Stefan Knoblich asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild,
asterisk-1.0.9.ebuild, asterisk-1.0.9-r1.ebuild:
Fixed SRC_URI.

13 Sep 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.8-ptr64fix.diff, asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild,
asterisk-1.0.9.ebuild, asterisk-1.0.9-r1.ebuild:
Fix segfault on amd64 caused by wrong data-type in pointer arithmetic
(#105762), thanks to Joseph for reporting this.

11 Sep 2005; Aron Griffis
asterisk-1.2.0_beta1.ebuild:
Mark 1.2.0_beta1 ~alpha

08 Sep 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.5-lpc10flags.diff, asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild,
asterisk-1.0.9-r1.ebuild, asterisk-1.0.9.ebuild:
Removed the CFLAGS+=-march=$(PROC) (where $(PROC) = uname -m) part from the
lpc10 Makefile, this fixes the illegal instruction error message on
non-nehemiah Via C3 CPUs (bug #84939). Thanks to
Christian Zoffoli for providing the neccessary
information to fix this bug.

02 Sep 2005; Stefan Knoblich
asterisk-1.2.0_beta1.ebuild:
Changed /bin/false to -1 for Gentoo/*BSD (bug #103421).

29 Aug 2005; Stefan Knoblich
asterisk-1.2.0_beta1.ebuild:
Tarball has been fixed, updated digest and removed workaround.

28 Aug 2005; Stefan Knoblich
asterisk-1.2.0_beta1.ebuild:
Added a workaround for the missing version information (thanks to DBoone on
IRC for pointing this out). Make all would do a clean run because of a
left-over .cleancount file in the tarball, killing the .version file. We
simply remove .cleancount now if it does exist.

28 Aug 2005; Stefan Knoblich
asterisk-1.2.0_beta1.ebuild:
Small cleanup.

*asterisk-1.2.0_beta1 (27 Aug 2005)

27 Aug 2005; +asterisk-1.2.0_beta1.ebuild:
Added new 1.2.0 beta ebuild.

24 Aug 2005; Daniel Black
files/1.0.0/asterisk.rc6.sec:
made init script "use mysql and postgresql" as per bug #101798. Thanks to
Chris Gaffney for the bug report

23 Aug 2005; asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild,
asterisk-1.0.9.ebuild, asterisk-1.0.9-r1.ebuild:
Use -1 instead of /bin/false with enewuser.

*asterisk-1.0.9-r1 (18 Aug 2005)

18 Aug 2005; asterisk-1.0.6-r1.ebuild,
asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild, asterisk-1.0.9.ebuild,
+asterisk-1.0.9-r1.ebuild:
Revision bump (bristuff update) and fixed bristuff part of SRC_URI (after
site redesign).

02 Aug 2005; Gustavo Zacarias asterisk-1.0.8.ebuild:
Stable on sparc

29 Jul 2005;
+files/1.0.0/asterisk-1.0.9-weak-references.diff, asterisk-1.0.9.ebuild,
asterisk-1.0.8.ebuild:
Added patch to mark adsi_* functions as weak references, this fixes loading
of res_features.so (= asterisk startup) on ssp enabled systems. Many thanks
to Uberlord (Roy Marples ) for examining the problem
and providing a patch. Closing #100697 and #85655.

*asterisk-1.0.9 (29 Jul 2005)

29 Jul 2005; +asterisk-1.0.9.ebuild:
Version bump.

26 Jul 2005; asterisk-1.0.8.ebuild:
Stable on x86 and fixed SRC_URI.

26 Jul 2005; -files/0.9.0/asterisk.confd,
-files/0.9.0/asterisk.rc6, -asterisk-0.9.0.ebuild:
Removing old version.

26 Jul 2005; asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild:
Added openssl to dependencies (thanks jaervosz).

21 Jul 2005; Stefan Knoblich asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild:
Moved user+group creation to pkg_preinst() as suggested by Gabe in bug #99466,
permissions and ownerships are changed in pkg_postinst() now.

28 Jun 2005; Stefan Knoblich asterisk-1.0.7-r1.ebuild:
Marking stable on x86, closing #88732 and #96826.

26 Jun 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.8-callerid.patch, asterisk-1.0.8.ebuild:
Added dialplan callerid matching fix.

25 Jun 2005; Stefan Knoblich asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild, asterisk-1.0.8.ebuild:
Fixed SRC_URI and a typo.

25 Jun 2005; David Holm asterisk-1.0.7-r1.ebuild:
Added to ~ppc.

25 Jun 2005; Tobias Scherbaum
asterisk-1.0.8.ebuild:
Added to ~ppc.

*asterisk-1.0.8 (25 Jun 2005)

25 Jun 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.8-hppa.patch,
+files/1.0.0/asterisk-1.0.8-initgroups.diff, +asterisk-1.0.8.ebuild:
Version bump.

24 Jun 2005; Stefan Knoblich -asterisk-1.0.5-r1.ebuild,
-asterisk-1.0.5.ebuild, -asterisk-1.0.6.ebuild, -asterisk-1.0.7.ebuild:
Removing old ebuilds without security update.

24 Jun 2005; Stefan Knoblich asterisk-1.0.5-r2.ebuild,
asterisk-1.0.6-r1.ebuild:
Added 1.0.7 security fix to backported non-root ebuilds, restoring ~* keywords.

23 Jun 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.7-manager-cli-segv.patch,
asterisk-1.0.7-r1.ebuild:
Added security fix for
http://www.portcullis-security.com/advisory/advisory-05-013.txt (bug #96826)
(taken from asterisk-1.0.8), non-root changes and cleanups, astconf.h is
installed into /usr/include/asterisk, because several external modules need
it. Tested and marking ~* again.

01 Jun 2005; Stefan Knoblich -asterisk-1.0.0.ebuild,
-asterisk-1.0.1.ebuild, -asterisk-1.0.2.ebuild, -asterisk-1.0.3-r1.ebuild,
-asterisk-1.0.3.ebuild:
Removed old ebuilds.

*asterisk-1.0.5-r2 (01 Jun 2005)

01 Jun 2005; Stefan Knoblich
files/1.0.0/asterisk-1.0.7-scripts.diff, files/1.0.0/asterisk.confd.sec,
files/1.0.0/asterisk.rc6.sec, +asterisk-1.0.5-r2.ebuild,
+asterisk-1.0.6-r1.ebuild, asterisk-1.0.7-r1.ebuild:
Minor fixes, non-root changes backported to 1.0.5 and 1.0.6 (still in use)
and bristuff update (1.0.7-r1).

29 May 2005; asterisk-1.0.1.ebuild,
asterisk-1.0.2.ebuild, asterisk-1.0.3-r1.ebuild, asterisk-1.0.3.ebuild,
asterisk-1.0.5-r1.ebuild, asterisk-1.0.5.ebuild, asterisk-1.0.6.ebuild,
asterisk-1.0.7-r1.ebuild, asterisk-1.0.7.ebuild:
- update asterisk to use libc expanded variable elibc_uclibc vs uclibc so
USE=-* works

15 May 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.7-initgroups.diff, files/1.0.0/asterisk.confd.sec,
files/1.0.0/asterisk.rc6.sec, asterisk-1.0.7-r1.ebuild:
Added initgroups support to asterisk instead of using start-stop-daemon's
--chguid because that one broke running asterisk with realtime priority (-p).
Fixed init script for initgroups. Users will have to use ebuild config after
updating asterisk to fix permissions on the filesystem, warning messages have
been added.

12 May 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.7-scripts.diff, asterisk-1.0.7-r1.ebuild:
Added non-root changes to addmailbox and astgenkey, fixed warning
countdown and bristuff update.

11 May 2005; Stefan Knoblich
files/1.0.0/asterisk.confd.sec:
Fixed asterisk.confd.sec

11 May 2005; Stefan Knoblich asterisk-1.0.7-r1.ebuild:
Changed ebuild to fix permissions on live-filesystem during pkg_postinst,
not the nicest way to do this but the best one to force sane defaults.

10 May 2005; David Holm asterisk-1.0.7.ebuild:
Added to ~ppc.

09 May 2005; Stefan Knoblich asterisk-1.0.7-r1.ebuild:
Added warning messages, some minor tweaks

*asterisk-1.0.7-r1 (07 May 2005)

07 May 2005; Stefan Knoblich
+files/1.0.0/asterisk.confd.sec, +files/1.0.0/asterisk.rc6.sec,
+asterisk-1.0.7-r1.ebuild:
Fixes bug #88732, adding asterisk user and group, changing
permissions of files in /var/{lib,spool,run,log}/asterisk
to asterisk:asterisk rwxr-x---. Updated to bristuff-0.2.0-RC8a.
Masked for testing.

05 May 2005; Sven Wegener asterisk-1.0.6.ebuild,
asterisk-1.0.7.ebuild:
Added missing parentheses to SRC_URI.

20 Apr 2005; Stefan Knoblich asterisk-1.0.7.ebuild:
Fixed #89648, api and some other additional docs get installed now.

29 Mar 2005; Stefan Knoblich -digest-asterisk-1.0.7,
asterisk-1.0.7.ebuild:
Added additional built_with_use checks for perl and libperl, because res_perl
requires both to have ithreads support. Removed duplicate digest file in wrong
directory.

28 Mar 2005; Stefan Knoblich
+files/1.0.0/res_perl-1.0.7-bristuff-0.2.0.diff, asterisk-1.0.7.ebuild:
Added fix for compiling res_perl with bri enabled.

27 Mar 2005; Stefan Knoblich asterisk-1.0.7.ebuild:
Fixed and re-enabled res_perl support, perl modules are now installed into
/usr/lib/perl/..., applications and htdocs are in /var/lib/asterisk/perl.
Now everything is where it belongs.

22 Mar 2005; Stefan Knoblich files/0.9.0/asterisk.rc6,
files/1.0.0/asterisk.rc6:
Fix asterisk's initscript to run after zaptel's (thanks gustavoz).

*asterisk-1.0.7 (21 Mar 2005)

21 Mar 2005; Stefan Knoblich +asterisk-1.0.7.ebuild:
Version bump.

11 Mar 2005; Stefan Knoblich asterisk-1.0.6.ebuild:
Fixed hardened workaround for gsm codec (closes #84767).

*asterisk-1.0.6 (10 Mar 2005)

10 Mar 2005; Stefan Knoblich +asterisk-1.0.6.ebuild:
New version. Adds speex use-flag and bristuff support; disables res_perl for
now. Sounds add-on has been split from the main package, they're now in
asterisk-sounds if you need them.

21 Feb 2005; Simon Stelling asterisk-1.0.5-r1.ebuild
added ~amd64

20 Feb 2005; Guy Martin
+files/1.0.0/asterisk-1.0.5-hppa.patch, asterisk-1.0.5-r1.ebuild:
Added some hppa love.

*asterisk-1.0.5-r1 (14 Feb 2005)

14 Feb 2005; Stefan Knoblich
+files/1.0.0/asterisk-1.0.5-astcfg-0.0.2.diff,
+files/1.0.0/asterisk-1.0.5-speex.diff,
+files/1.0.0/asterisk-1.0.5-uclibc-dns.diff, +asterisk-1.0.5-r1.ebuild:
Fix detection problems w/ >=speex-1.1.0. Except for codec_gsm.so (needs some
more investigation), all plugins use -fPIC and are free from TEXT_RELocations.
Fixed uclibc patch (thanks to Ned Ludd , closes #72984).
Added postgres use-flag and fixed postgres detection. Added use-flags and
sed-foo for voicemail database support (thx to Gustavo Zacarias
for pointing this out). Added experimental patch for
asterisk-config config script that should ease development / use of external
modules and extensions.

31 Jan 2005; Gustavo Zacarias asterisk-1.0.5.ebuild:
Keyworded ~sparc

31 Jan 2005; Gustavo Zacarias
asterisk-1.0.3-r1.ebuild, asterisk-1.0.3.ebuild:
Keyworded ~sparc again, thanks to chrb

*asterisk-1.0.5 (28 Jan 2005)

28 Jan 2005; Chris Bainbridge +asterisk-1.0.5.ebuild:
Version bump and CFLAGS fixes.

*asterisk-1.0.3-r1 (28 Jan 2005)

28 Jan 2005; Chris Bainbridge +asterisk-1.0.3-r1.ebuild:
Add sox (required for Record app, and probably others)

27 Jan 2005; Stefan Knoblich
-files/0.5.0/asterisk-0.5.0-Makefile-samples.patch,
-files/0.5.0/asterisk-0.5.0-makefile-fix.diff, -files/0.5.0/asterisk.confd,
-files/0.5.0/asterisk.rc6, -asterisk-0.2.0.ebuild, -asterisk-0.5.0.ebuild:
removing old versions

24 Jan 2005; Brian Jackson asterisk-1.0.1.ebuild,
asterisk-1.0.2.ebuild, asterisk-1.0.3.ebuild:
few more uclibc move changes

27 Dec 2004; Gustavo Zacarias asterisk-1.0.3.ebuild:
Keyworded ~sparc

*asterisk-1.0.3 (19 Dec 2004)

19 Dec 2004; Stefan Knoblich +asterisk-1.0.3.ebuild:
new version

18 Dec 2004; Stefan Knoblich asterisk-1.0.0.ebuild, asterisk-1.0.1.ebuild, asterisk-1.0.2.ebuild:
zapata isn't used by asterisk anymore, dependency removed

26 Nov 2004; asterisk-1.0.1.ebuild, asterisk-1.0.2.ebuild:
uclibc dependency had wrong category (closes #72478)

*asterisk-1.0.2 (10 Nov 2004)

10 Nov 2004; +asterisk-1.0.2.ebuild:
version bump.

*asterisk-1.0.1 (30 Oct 2004)

30 Oct 2004; +files/1.0.0/asterisk-1.0.1-linux26.diff,
+files/1.0.0/asterisk-uclibc-dns.diff, +asterisk-1.0.1.ebuild:
new version, pri and zaptel use-flags flipped (now default disabled), fixes:
#66557 (thx to REdOG ), #66720 (webapp stuff
removed...), a workaround for #65195 (fixed for newer versions of linux?).

*asterisk-1.0.0 (24 Sep 2004)

24 Sep 2004; +files/1.0.0/asterisk.confd,
+files/1.0.0/asterisk.rc6, +asterisk-1.0.0.ebuild:
version bump, init script uses start-stop-daemon now

27 Jul 2004; Stefan Knoblich asterisk-0.9.0.ebuild:
stable on x86, removed obsolete iax dependency

05 Jul 2004; asterisk-0.9.0.ebuild:
SRC_URI has changed

01 Jul 2004; Jon Hood asterisk-0.2.0.ebuild,
asterisk-0.5.0.ebuild, asterisk-0.9.0.ebuild:
change virtual/glibc to virtual/libc

26 Jun 2004; files/0.7.2/asterisk-0.7.2-makefile-fix.diff,
files/0.7.2/asterisk.confd, files/0.7.2/asterisk.rc6:
Removed asterisk-0.7.2, see http://www.securityfocus.com/bid/10569 for more
information

14 Jun 2004; Aron Griffis asterisk-0.5.0.ebuild,
asterisk-0.7.2.ebuild, asterisk-0.9.0.ebuild:
Fix use invocation

*asterisk-0.9.0 (10 May 2004)

10 May 2004; Stefan Knoblich asterisk-0.9.0.ebuild,
files/0.9.0/asterisk.confd, files/0.9.0/asterisk.rc6:
version bump.

17 Apr 2004; Stefan Knoblich asterisk-0.7.2.ebuild:
Fix broken voicemail webapp (#46182)

16 Mar 2004; Stefan Knoblich asterisk-0.7.2.ebuild:
asterisk-0.7.2 depends on zaptel/zapata >=0.8.1 now

19 Feb 2004; Stefan Knoblich asterisk-0.2.0.ebuild,
asterisk-0.5.0.ebuild, asterisk-0.7.2.ebuild:
fixed SRC_URI

15 Feb 2004; Stefan Knoblich asterisk-0.7.2.ebuild,
files/0.7.2/asterisk-0.7.2-makefile-fix.diff:
install makefile fix re-added

13 Feb 2004; Stefan Knoblich asterisk-0.5.0.ebuild,
asterisk-0.7.2.ebuild:
asterisk-0.7.2 hard-masked until new zaptel drivers arrive,
corrected header error in 0.5.0 and 0.7.2 ebuild,
0.7.2 now uses webapp eclass instead of webapp-apache

*asterisk-0.7.2 (13 Feb 2004)

13 Feb 2004; Stefan Knoblich asterisk-0.7.2.ebuild,
files/0.7.2/asterisk.confd, files/0.7.2/asterisk.rc6:
added asterisk-0.7.2 ebuild

09 Jan 2004; Stefan Knoblich asterisk-0.5.0.ebuild,
files/0.5.0/asterisk-0.5.0-makefile-fix.diff:
fixed bug #37212, fixed broken DEPEND use handling

*asterisk-0.5.0 (04 Jan 2004)

04 Jan 2004; Stefan Knoblich asterisk-0.2.0.ebuild,
asterisk-0.5.0.ebuild, metadata.xml,
files/0.5.0/asterisk-0.5.0-Makefile-samples.patch,
files/0.5.0/asterisk-0.5.0-makefile-fix.diff, files/0.5.0/asterisk.confd,
files/0.5.0/asterisk.rc6:
new ebuild asterisk-0.5.0, copyright header updates

30 Nov 2003; Brandy Westcott brandy@gentoo.org asterisk-0.2.0.ebuild:
Pinned emake to -j1. Closes bug #34642.

03 Oct 2003; Seemant Kulleen asterisk-0.2.0.ebuild:
from an email from the asterisk upstream authors, this package is actually
GPL-2, and NOT BSD. Apologies to them for this oversight. Thanks, in
particular, to: Malcolm Davenport for pointing this out

12 Jun 2003; asterisk-0.2.0.ebuild:
fix Header

*asterisk-0.2.0 (28 Nov 2002)

22 Apr 2003; Brandon Low asterisk-0.2.0.ebuild:
Change supersed dependencies

28 Nov 2002; Matt Keadle asterisk-0.2.0.ebuild
files/digest-asterisk-0.2.0:

Added initial ChangeLog which should be updated whenever the package is
updated in any way. Thanks to Rigo Ketelings for submitting this
ebuild.

Manifest

AUX 1.0.0/asterisk-1.0.5-uclibc-dns.diff 304 RMD160 6d58a0fdad04f5105c1b8f8bb3e2058b4f97f12f SHA1 5f7819a1e5f5b8f035146d5506bab83f4ecb6ae0 SHA256 e4de36e528b7d1a7941689d530d93f1ffd41a2f863a856e612e3637f78ea4890
AUX 1.2.0/asterisk-1.2.0_beta-ukcid.patch 5787 RMD160 f42b214375f0e10cfacb6b54699b9b27d6c129cb SHA1 82575b19fc6fab63ee03342fe0aa12bee8bf57f2 SHA256 dbd919646fd851b07da9d3d4f6a0412d654318ec0dd39523362aa45516b51e1b
AUX 1.2.0/asterisk-1.2.1-uclibc-getloadavg.diff 317 RMD160 f598d94a52cec83fefdafdce0694049c657e09e0 SHA1 fc0f4d990e386d39d43bac073f353421063186c9 SHA256 61daa70727418dbaf232fc5d1eaddd20a8505b943b8fb724a1b63170edfe88cc
AUX 1.2.0/asterisk-1.2.13-memleaks.diff 374 RMD160 7bf17c2b3123f75e1c1aa5ca78f7e4631071c9ff SHA1 5a2257e4225e6c9915590a29b52fe87acb45cda2 SHA256 234cd56492927c60ec29f0c0cf52e49b8ba35ed4a423df4250b68c269e72632c
AUX 1.2.0/asterisk-1.2.14-chan_sip.patch 468 RMD160 610a4e64e6c8207cf3f05d7c558a6d5d75b889ad SHA1 f563f2afab58f46e6383be4336284b7b75021937 SHA256 6251e649052bff2dd1aee186e9edecff3fcf88265975cb5a4a26c079929f6164
AUX 1.2.0/asterisk-1.2.14-chan_sip2.patch 1405 RMD160 39c94dbf22e4cad57ed6e8df42fd1f87a5f9943e SHA1 02dea93a60668b7dbade5a5b5c93cd1477f9a050 SHA256 a23edceff270a7e68730da9f5f3564c41db335e673dd5415a490e421ccf09c5a
AUX 1.2.0/asterisk-1.2.17-h323-dumb-makefile.diff 1084 RMD160 10fefffa08c8d03c50c556e4abe6054285d96121 SHA1 7fd4f329010c6f2103d5524d87a7e75826a5fda4 SHA256 a250d1b1536fb832476f8fd83c4adf085e5b9e7d4b6d7e4f00a798c462742fed
AUX 1.2.0/asterisk-1.2.21.1-h323-dumb-makefile.diff 1098 RMD160 c39cee5a6f420e6e63e30ac5e83aa9b78c1b12c8 SHA1 93087ecdcde11bd983d25acaac3723450abbc111 SHA256 86d0c8cd754754916c45d77d9c745d1688b3b7b54181ecb1d42a1934bdea7deb
AUX 1.2.0/asterisk-updater 3127 RMD160 41ea584081c3e565205e59771e24a8715d7e2042 SHA1 1c11d9ce286972b6f98c15a16cbb7f1c943414eb SHA256 93e6862361a320c7f7f30525b4209366190dd2bc21eedbd3654ffb4b991af5fd
AUX 1.2.0/asterisk.confd 2200 RMD160 f26ac9b18e8c1db86c54839d9b4a816cfe45c61f SHA1 2baee139893fd9c413d140db843831da1917f05f SHA256 b94a59f36a46362622acd2ccc811e1e9dd0abf928104285c7098d7c17a324379
AUX 1.2.0/asterisk.rc6 5891 RMD160 d14da5d703cdd9bedf9986e0e49a93d8031876ee SHA1 3e28003ecd2d0659266644bffe463fd25efddbcc SHA256 d2bbd0e335f7f2f399780778501df3fd2026ba27dfe48db3ab282430fb215531
DIST asterisk-1.2.11-jb.patch.bz2 15598 RMD160 cbf4a95e25bf03a41ebef2a726419299494bb298 SHA1 2302b0ff346f0efad8f1b7104be583edeb44ee5a SHA256 e85e438cb88993a188d063582f38eff0efc1b727e47d9f71809ee81d19992946
DIST asterisk-1.2.11-patches-1.0.tar.bz2 7432 RMD160 b840a16b6ae9ffb1e76da4a7a8129916e1710204 SHA1 9c80d334097a4493e10a89b5b9e7958696019590 SHA256 46d198be655b35383725dde72ed82ecc7767b8009356f88d27c763323d1cdaa8
DIST asterisk-1.2.13-bristuff-0.3.0-PRE-1s.diff.bz2 90716 RMD160 8a9a66f9397fa2b6892967ae98c9990ef400d829 SHA1 3e1a2435d21f51b7eefac810e78cc7def5b06a38 SHA256 e6fff5febd78944399148c373cdcf4e112e8dfc82e36fa87cea79e882e780354
DIST asterisk-1.2.13.tar.gz 10584113 RMD160 7cf9e00a0697b16891b463345c64a615c30015a3 SHA1 d2ec77e08f512a3fa11fd8639a7fe629a46ed242 SHA256 8d197b118d9ee25bc8793b37d1daa6b54fd6074e6738f462368361e5698d98f8
DIST asterisk-1.2.14-bristuff-0.3.0-PRE-1x.diff.bz2 95462 RMD160 4b592148b692d010dfd64df4a969838d15525489 SHA1 657772d3fce53570bf877c8b084f59f73e3af8b8 SHA256 30203a73f6f409bc96f0896d26d1cba47857e040003f6e066227519bb2ef91ef
DIST asterisk-1.2.14.tar.gz 10595184 RMD160 c07410e57086ebc34c78fd6794fa5395c3f5a174 SHA1 1e88a30bcd3d78c1cdee44b80e0162516102ea86 SHA256 115248cb7b1fc35dc2be24218f91a87272cf5c0d8c2050a36da2314fadc05cf4
DIST asterisk-1.2.17-bristuff-0.3.0-PRE-1y-d-2.diff.bz2 97765 RMD160 77261589822482fefac9ea42ff24dd8d5f858243 SHA1 ba9355549a8fff5cbc889d4b73c70306e96885fd SHA256 f7afdd84b634c29f6988b39afb4dd52c0c55b2e3b3772551f8d7b2d63817b5d0
DIST asterisk-1.2.17-patches-1.0.tar.bz2 11420 RMD160 2750b7392f75166c7e53fc3204c47e82138a2b45 SHA1 ce333058cecd752b86bca1c8a09f8f1af34a9a21 SHA256 731eabe9244d271a5d186c6aad64c2472c236bb99ee5850a3dec17e9275e699c
DIST asterisk-1.2.17-patches-1.1.tar.bz2 12659 RMD160 e2867d87941aef70e88b54e1f7d9cbc6f193c5bb SHA1 5ac71903ec77bfdfcd1545d78dc74b5426fa60c4 SHA256 d393dbdafb600453fe4bd4cffa88ff34b49dac0f8d1f31f2384cc17dc405b548
DIST asterisk-1.2.17.tar.gz 10615354 RMD160 f03fe30312c7e693c4804c40941db942ab092976 SHA1 dc9a6c6923dec93e57744579c50a1abd208f7ae2 SHA256 ab20ada37e0f2874a0c59ac7d5395c5980419da6344cbb78b60874e9b8631cf1
DIST asterisk-1.2.21.1-bristuff-0.3.0-PRE-1y-h.diff.bz2 97848 RMD160 2eac6de64317c7b3deac7d787e4c08e15f48043a SHA1 32ced83e79fb08ef3ee5fae1a08d1d712f801eef SHA256 6e386e16ec632bff57f709c55dcbf0808916f751f0d631dbfd561f536ea90049
DIST asterisk-1.2.21.1-patches-1.0.tar.bz2 7520 RMD160 5c493ae53ee88268d195ba729dda34619474d5ef SHA1 065b4b8f84024795bf22f2be5b504ec0a7a651e5 SHA256 31ff351a224950de552062392deb187620cae6203ee953c46e3c0bf77131a5dd
DIST asterisk-1.2.21.1-patches-1.1.tar.bz2 9906 RMD160 e331f7b24ed4b0317d0e829bc6ff6ffb5ac16452 SHA1 d2cdbd53c9f2d11d7f3bce9e26706adf79ec5bd0 SHA256 2a05d798e8793f8454f86098a61edef0d4e75920050de9be6caa54dd77ec3700
DIST asterisk-1.2.21.1.tar.gz 10638140 RMD160 adb839d290a7a89189ad342f5406c5f05634de58 SHA1 63eb9cbd35a6f500bee894472c3ee758e63fecd4 SHA256 125cf947b30c4a271e4524c05ac4532c2b3c50ac95c788b5c1709059573b0b0f
DIST asterisk-1.2.27-bristuff-0.3.0-PRE-1y-l.diff.bz2 97805 RMD160 825b89d1735e1901236d2a3abe621805050a9980 SHA1 2a9ba3ef98f403e25703110ac320c93d95fa9f00 SHA256 24967634e4a72c58ff6098f1b710e95f452cd16834f99be8bfcab220bb510e91
DIST asterisk-1.2.27-patches-1.0.tar.bz2 6653 RMD160 18f1d7fc4497466050ed4f517ff5732eb448ff2e SHA1 2aecd3e91cde38dbb0fd591e8a49db221f44b94e SHA256 a4da0570fca2df3c508f072be62722879956fe8c454027fbb8dafb7a6095384c
DIST asterisk-1.2.27.tar.gz 10645295 RMD160 5a6fedd420ee36c8f7d174352c3f09db9bc34a42 SHA1 e20659e4d637d740fd45e18d363189ffff431bf4 SHA256 2407996df3487060b9db1a4ca73f405b633a802ba9c1454f7f3ccaaa856971e6
DIST bristuff-0.3.0-PRE-1s.tar.gz 265953 RMD160 8d3abdbbae4c376d52225395c72f4538e1f84a94 SHA1 1d942df9e4fd963755080e011caba88a33601c1b SHA256 30adea4f070ed44d1952163e850c177f976857b96965e18844ccd492ccef968d
DIST bristuff-0.3.0-PRE-1x.tar.gz 279200 RMD160 bc84aa50370627cfead9e0646cf87c16ddff7b00 SHA1 e02a82cebaefa0d666ad56532369310aae818d91 SHA256 13d98160d4a10b46b77c822577e6c64ad7dadbc2df1b4cd0a1007ae3bbbd4aa8
DIST bristuff-0.3.0-PRE-1y-d.tar.gz 286165 RMD160 7424e3f6876ff1e9415c11d3c8ed70014c5a0f4f SHA1 cb984daf1616c847d02d4824e36e13d55a142ade SHA256 99688819bce753910b154ad0866d77f861e25842a1e810d0baf80a0a02cfef25
DIST bristuff-0.3.0-PRE-1y-h.tar.gz 286224 RMD160 bf0b9fce76c68565837b56676262fdd055240653 SHA1 cefd78476b6e394672de27849ca4a02b81a7ef1d SHA256 5657e2a50cfe35a64d9aa8caea4c3306539ed81a4ac955a9792a5d58c471a03f
DIST bristuff-0.3.0-PRE-1y-l.tar.gz 300381 RMD160 808862df63edf85997753e1e857cc907c54f2b60 SHA1 cc5c050e68bfa48df5a86299819deefecfeaf67e SHA256 d083b6529e34c3192e91f34b68c542106ebaa5e3046d816061709297061d3576
EBUILD asterisk-1.2.13-r1.ebuild 12309 RMD160 fb42e5d8f9eb68d65b0d9c305f9330dea705e2b9 SHA1 9b1cab2e7f742d77d4a3c1f6858cd801c1953000 SHA256 167bcf11c405740df7c1a3d5ddb9e9921050034793a8b3dc06fabb5bdbaaa385
EBUILD asterisk-1.2.13.ebuild 12164 RMD160 63a8f8a18da9cc621ad594e6ac0cb24da2e053a0 SHA1 7f1df8abc4489df89cac3c6a8da70ab3d46ff90c SHA256 7207fdb12b69adebc6f311e8044581baa90faae4638dc328f829b0962791d537
EBUILD asterisk-1.2.14-r1.ebuild 11882 RMD160 54e4ee5cfb85a8be0d76a9d45fc68e5d15f98624 SHA1 d7778cdf6ae4f28cec402ffa7428e07efdae7359 SHA256 ad129f2182894837adeffa701f6464ed041a47b6f0a1f30ae3c5018c9e8b27d4
EBUILD asterisk-1.2.14-r2.ebuild 11898 RMD160 aefa3374cf721f032ebb8dc89bdee8afa01d868f SHA1 b987b503db6e069d0cb8d966ea4823b0746e6554 SHA256 de14801004091107cc741438804d5c889dc654bdd20ef8ffa87a4d81c3d806be
EBUILD asterisk-1.2.14.ebuild 11787 RMD160 92e75479d539c7ca79ce63fa72cadc8c76016ec4 SHA1 2b0a358cccd082c3060aced99d88928d2814c775 SHA256 2d92dbdca66e0d911150654b8dd4d9bb7271ad3553f9468de71d5c9149f19910
EBUILD asterisk-1.2.17-r1.ebuild 12186 RMD160 99fa8da1a56265d19fecd0ab2b9f53f7a73fa2d6 SHA1 c5fdf7f837f75d93a573da9bd81b0ab42bd69865 SHA256 86b2ac8b51896ef168456939429e99e0ced8963363f669660f68f8882c363141
EBUILD asterisk-1.2.17.ebuild 12185 RMD160 6a23ab5bfedf659a7db7d5cc5fa49ca7a52a3d2b SHA1 845b77a74ebbc2f8ba0f4ba28bc43533587f791c SHA256 1bc39d34e01eaae7a6038ba942e3cadfd691da1ebc2b090e39a43c04ebe8bee8
EBUILD asterisk-1.2.21.1-r1.ebuild 11639 RMD160 a4ba6b9acd2b27ce9c8295adc5ac458421bb3812 SHA1 e1a4ee7fb965afb3fc35820481bcc432a12c13c4 SHA256 1254cc4527b14c1c71c3d7246c713b07dac1561002813e03c5b6629477d8adea
EBUILD asterisk-1.2.21.1.ebuild 11570 RMD160 23db85612e64b20b85b2a10360ff8f52437facdc SHA1 99dc3a52222c6accf1c9c5b4b082608fff211fbb SHA256 d5d2e3a473f1b2c85b07c8b74357f594adfa403b027eb1edafa76f237d23c0c1
EBUILD asterisk-1.2.27.ebuild 11498 RMD160 845ecc7fe8c35fe302247e74deea9d970ffcd232 SHA1 eed1e2234857bbae63dbd4039a303409512cf73c SHA256 ebb5f6ca7993d9a67191587b5bfa4103075cd6bd2afcf0adb258d7ff6709034a
MISC ChangeLog 35817 RMD160 f81dd0a07b766a9f1a9f7cf7ee7c49fe5f2ef271 SHA1 7225ef5f17de369a0b5b749686f3c1036807eab2 SHA256 bb9d274590343ec9f59699716799d61b99292364e14cb3624f124b1784b70207
MISC metadata.xml 345 RMD160 ce0076215245b28c91df8fcaf8a62c26c4f6b17e SHA1 b5d75d0687c1bb698d4ead8663aae5b7e73728fe SHA256 79f621be31d2899b13106f9a518c4c34971005fee3dd15564582d107e62da2e8

asterisk-1.2.13-r1.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.13-r1.ebuild,v 1.9 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib toolchain-funcs

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl ukcid zaptel \
elibc_uclibc"

BRI_VERSION="0.3.0-PRE-1s"
AST_PATCHES="1.2.11-patches-1.0"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( http://gentooexperimental.org/~genstef/dist/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.3 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.8 )
postgres? ( virtual/postgresql-server )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.3-r1
>=net-misc/zaptel-1.2.8 )"

DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"

#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"

QA_TEXTRELS_x86="usr/lib/asterisk/modules/codec_gsm.so"
QA_EXECSTACK_x86="usr/lib/asterisk/modules/codec_gsm.so"

#
# List of modules to ignore during scan (because they have been removed in 1.2.x)
#
SCAN_IGNORE_MODS="
app_qcall
chan_modem
chan_modem_i4l
chan_modem_bestdata
chan_modme_aopen"

#
# shortcuts
#
is_ast10update() {
return $(has_version "=net-misc/asterisk-1.0*")
}

is_astupdate() {
if ! is_ast10update; then
return $(has_version " fi
return 0
}

#
# Display a nice countdown...
#
countdown() {
local n

ebeep

n=${1:-10}
while [[ $n -gt 0 ]]; do
echo -en " Waiting $n second(s)...\r"
sleep 1
(( n-- ))
done
}

#
# Scan for asterisk-1.0.x modules that will have to be updated
#
scan_modules() {
local modules_list=""
local n

for x in $(ls -1 "${ROOT}"usr/$(get_libdir)/asterisk/modules/*.so); do
echo -en "Scanning.... $(basename ${x}) \r"

# skip blacklisted modules
hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue

if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
modules_list="${modules_list} $(basename ${x//.so})"
fi
done

if [[ -n "${modules_list}" ]]; then
echo " ========================================================"
ewarn "Please update or unmerge the following modules:"
echo

n=0
for x in ${modules_list}; do
ewarn " - ${x}"
(( n++ ))
done

echo
ewarn "Warning: $n outdated module(s) found!"
ewarn "Warning: asterisk may not work if you don't update them!"
echo " ========================================================"
echo
einfo "You can use the \"asterisk-updater\" script to update the modules"
echo
countdown
echo
return 1
else
einfo "No asterisk-1.0.x modules found!"
return 0
fi
}

pkg_setup() {
local checkfailed=0 waitaftermsg=0

if is_ast10update; then
ewarn " Asterisk UPGRADE Warning"
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
ewarn ""
ewarn " Asterisk UPGRADE Warning"
echo
waitaftermsg=1
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
waitaftermsg=1
fi

if [[ $waitaftermsg -eq 1 ]]; then
einfo "Press Ctrl+C to abort"
echo
countdown
fi

#
# Regular checks
#
einfo "Running some pre-flight checks..."
echo

# check if zaptel has been compiled with ukcid too
if use ukcid; then
if has_version net-misc/zaptel && ! built_with_use net-misc/zaptel ukcid; then
eerror "- ukcid: Re-emerge zaptel with \"ukcid\" useflag enabled!"
checkfailed=1
fi
fi
}

src_unpack() {
unpack ${A}
cd "${S}"

#
# gentoo patchset
#
for x in $(grep -v "^#\| \+" "${WORKDIR}"/patches/patches.list); do
epatch "${WORKDIR}"/patches/${x}
done
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.13-memleaks.diff

if use mmx; then
if ! use hardened; then
einfo "Enabling mmx optimization"
sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
Makefile
else
ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
fi
fi

if ! use debug; then
einfo "Disabling debug support"
sed -i -e "s:^\(DEBUG=\):#\1:" \
Makefile
fi

if ! use ssl; then
einfo "Disabling crypto support"
sed -i -e 's:^#\(NOCRYPTO=yes\):\1:' \
-e '/^LIBS+=-lssl/d' Makefile || die
fi

#
# uclibc patch
#
if use elibc_uclibc; then
einfo "Patching asterisk for uclibc..."
epatch "${FILESDIR}"/1.0.0/${PN}-1.0.5-uclibc-dns.diff
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
fi

#
# ukcid patch from http://www.lusyn.com/asterisk/
#
if use ukcid; then
einfo "Patching asterisk for UK Callerid..."
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.0_beta-ukcid.patch
fi

#
# BRI patches
#
if use bri; then
einfo "Patching asterisk w/ BRI stuff"

epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
#epatch "${S_BRI}"/patches/asterisk.patch
fi

#
# Generic jitterbuffer (asterisk bug #3854)
#
if use genericjb; then
einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
# epatch "${WORKDIR}"/ast_jb-${JB_PATCHES}.patch
epatch "${WORKDIR}"/${PN}-${JB_PATCHES}.patch

#sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
# Makefile
fi
}

src_compile() {
local myopts

use lowmem && \
myopts="-DLOW_MEMORY"

if use h323; then
einfo "Building H.323 wrapper lib..."
make -C channels/h323 \
NOTRACE=1 \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
libchanh323.a Makefile.ast || die "Make h323 failed"
fi

einfo "Building Asterisk..."
make \
CC=$(tc-getCC) \
NOTRACE=1 \
OPTIMIZE="${CFLAGS}" \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
OPTIONS="${myopts}" || die "Make failed"

# create api docs
use doc && \
make progdocs

# build bristuff's ISDNguard
use bri && \
make -C "${S_BRI}"/ISDNguard
}

src_install() {

# install asterisk
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"

# remove bristuff capi
use bri && \
rm -f "${D}"usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null

# remove installed sample files if nosamples flag is set
if use nosamples; then
einfo "Skipping installation of sample files..."
rm -rf "${D}"var/spool/asterisk/voicemail/default
rm -f "${D}"var/lib/asterisk/mohmp3/*
rm -f "${D}"var/lib/asterisk/sounds/demo-*
rm -f "${D}"var/lib/asterisk/agi-bin/*
else
einfo "Sample files have been installed"
keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
fi

# move sample configuration files to doc directory
if is_ast10update; then
elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
elif has_version "net-misc/asterisk"; then
elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
insinto /usr/share/doc/${PF}/conf
doins "${D}"etc/asterisk/*.conf*
rm -f "${D}"etc/asterisk/*.conf* 2>/dev/null
fi

# don't delete these directories, even if they are empty
for x in voicemail meetme system dictate monitor tmp; do
keepdir /var/spool/asterisk/${x}
done
keepdir /var/lib/asterisk/sounds/priv-callerintros
keepdir /var/lib/asterisk/mohmp3
keepdir /var/lib/asterisk/agi-bin
keepdir /var/log/asterisk/cdr-csv
keepdir /var/log/asterisk/cdr-custom
keepdir /var/run/asterisk

# install astxs
dobin contrib/scripts/astxs

newinitd "${FILESDIR}"/1.2.0/asterisk.rc6 asterisk
newconfd "${FILESDIR}"/1.2.0/asterisk.confd asterisk

# install standard docs...
dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
dodoc doc/README.*
dodoc doc/*.txt

docinto scripts
dodoc contrib/scripts/*

docinto utils
dodoc contrib/utils/*

docinto configs
dodoc configs/*

# install api docs
if use doc; then
insinto /usr/share/doc/${PF}/api/html
doins doc/api/html/*
fi

# install ISDNguard
if use bri; then
cd "${S_BRI}"/ISDNguard
dosbin ISDNguard

docinto ISDNguard
dodoc INSTALL.ISDNguard

cd "${S}"
fi

insinto /usr/share/doc/${PF}/cgi
doins contrib/scripts/vmail.cgi
doins images/*.gif

# install asterisk-updater
dosbin "${FILESDIR}"/1.2.0/asterisk-updater

# install asterisk.h, a lot of external modules need this
insinto /usr/include/asterisk
doins include/asterisk.h

# make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
rm -f "${D}"/etc/asterisk/misdn.conf "${D}"/usr/lib/asterisk/modules/chan_misdn.so \
"${D}"/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
rm -f "${D}"/usr/include/asterisk/chan_capi{,_app}.h \
"${D}"/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
}

pkg_preinst() {
enewgroup asterisk
enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
einfo "Fixing permissions"
for x in spool run lib log; do
chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
echo

#
# Announcements, warnings, reminders...
#
einfo "Asterisk has been installed"
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
echo
echo

#
# Warning about 1.0 -> 1.2 changes...
#
if is_ast10update; then
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
ewarn ""
fi

if is_astupdate; then
ewarn ""
ewarn " - The initgroups patch has been dropped, please update your"
ewarn " \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
ewarn ""
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
fi

# scan for old modules
if is_ast10update; then
einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
scan_modules
fi
}

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=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk

einfo "done"
else
einfo "skipping"
fi
}

asterisk-1.2.13.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.13.ebuild,v 1.10 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx mysql \
nosamples odbc osp postgres pri speex sqlite ssl ukcid zaptel"

BRI_VERSION="0.3.0-PRE-1s"
AST_PATCHES="1.2.11-patches-1.0"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( http://gentooexperimental.org/~genstef/dist/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc sparc x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.3 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
mysql? ( virtual/mysql )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.8 )
postgres? ( virtual/postgresql-server )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.3-r1
>=net-misc/zaptel-1.2.8 )"

DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"

#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"

#
# List of modules to ignore during scan (because they have been removed in 1.2.x)
#
SCAN_IGNORE_MODS="
app_qcall
chan_modem
chan_modem_i4l
chan_modem_bestdata
chan_modme_aopen"

#
# shortcuts
#
is_ast10update() {
return $(has_version "=net-misc/asterisk-1.0*")
}

is_astupdate() {
if ! is_ast10update; then
return $(has_version " fi
return 0
}

#
# Display a nice countdown...
#
countdown() {
local n

ebeep

n=${1:-10}
while [[ $n -gt 0 ]]; do
echo -en " Waiting $n second(s)...\r"
sleep 1
(( n-- ))
done
}

#
# Scan for asterisk-1.0.x modules that will have to be updated
#
scan_modules() {
local modules_list=""
local n

for x in $(ls -1 ${ROOT}usr/$(get_libdir)/asterisk/modules/*.so); do
echo -en "Scanning.... $(basename ${x}) \r"

# skip blacklisted modules
hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue

if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
modules_list="${modules_list} $(basename ${x//.so})"
fi
done

if [[ -n "${modules_list}" ]]; then
echo " ========================================================"
ewarn "Please update or unmerge the following modules:"
echo

n=0
for x in ${modules_list}; do
ewarn " - ${x}"
(( n++ ))
done

echo
ewarn "Warning: $n outdated module(s) found!"
ewarn "Warning: asterisk may not work if you don't update them!"
echo " ========================================================"
echo
einfo "You can use the \"asterisk-updater\" script to update the modules"
echo
countdown
echo
return 1
else
einfo "No asterisk-1.0.x modules found!"
return 0
fi
}

pkg_setup() {
local checkfailed=0 waitaftermsg=0

if is_ast10update; then
ewarn " Asterisk UPGRADE Warning"
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
ewarn ""
ewarn " Asterisk UPGRADE Warning"
echo
waitaftermsg=1
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
waitaftermsg=1
fi

if [[ $waitaftermsg -eq 1 ]]; then
einfo "Press Ctrl+C to abort"
echo
countdown
fi

#
# Regular checks
#
einfo "Running some pre-flight checks..."
echo

# check if zaptel has been compiled with ukcid too
if use ukcid; then
if ! built_with_use net-misc/zaptel ukcid; then
eerror "- ukcid: Re-emerge zaptel with \"ukcid\" useflag enabled!"
checkfailed=1
fi
fi

}

src_unpack() {
unpack ${A}
cd ${S}

#
# gentoo patchset
#
for x in $(grep -v "^#\| \+" ${WORKDIR}/patches/patches.list); do
epatch ${WORKDIR}/patches/${x}
done

if use mmx; then
if ! use hardened; then
einfo "Enabling mmx optimization"
sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
Makefile
else
ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
fi
fi

if ! use debug; then
einfo "Disabling debug support"
sed -i -e "s:^\(DEBUG=\):#\1:" \
Makefile
fi

if ! use ssl; then
einfo "Disabling crypto support"
sed -i -e "s:^#\(NOCRYPTO=yes\):\1:" \
Makefile
fi

#
# uclibc patch
#
if use elibc_uclibc; then
einfo "Patching asterisk for uclibc..."
epatch ${FILESDIR}/1.0.0/${PN}-1.0.5-uclibc-dns.diff
epatch ${FILESDIR}/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
fi

#
# ukcid patch from http://www.lusyn.com/asterisk/
#
if use ukcid; then
einfo "Patching asterisk for UK Callerid..."
epatch ${FILESDIR}/1.2.0/${PN}-1.2.0_beta-ukcid.patch
fi

#
# BRI patches
#
if use bri; then
einfo "Patching asterisk w/ BRI stuff"

epatch ${WORKDIR}/${MY_P}-bristuff-${BRI_VERSION}.diff
# epatch ${S_BRI}/patches/asterisk.patch
fi

#
# Generic jitterbuffer (asterisk bug #3854)
#
if use genericjb; then
einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
# epatch ${WORKDIR}/ast_jb-${JB_PATCHES}.patch
epatch ${WORKDIR}/${PN}-${JB_PATCHES}.patch

#sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
# Makefile
fi
}

src_compile() {
local myopts

use lowmem && \
myopts="-DLOW_MEMORY"

if use h323; then
einfo "Building H.323 wrapper lib..."
make -C channels/h323 \
NOTRACE=1 \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
libchanh323.a Makefile.ast || die "Make h323 failed"
fi

einfo "Building Asterisk..."
make \
NOTRACE=1 \
OPTIMIZE="${CFLAGS}" \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
OPTIONS="${myopts}" || die "Make failed"

# create api docs
use doc && \
make progdocs

# build bristuff's ISDNguard
use bri && \
make -C ${S_BRI}/ISDNguard
}

src_install() {

# install asterisk
make DESTDIR=${D} ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
make DESTDIR=${D} ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"

# remove bristuff capi
use bri && \
rm -f ${D}usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null

# remove installed sample files if nosamples flag is set
if use nosamples; then
einfo "Skipping installation of sample files..."
rm -rf ${D}var/spool/asterisk/voicemail/default
rm -f ${D}var/lib/asterisk/mohmp3/*
rm -f ${D}var/lib/asterisk/sounds/demo-*
rm -f ${D}var/lib/asterisk/agi-bin/*
else
einfo "Sample files have been installed"
keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
fi

# move sample configuration files to doc directory
if is_ast10update; then
elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
elif has_version "net-misc/asterisk"; then
elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
insinto /usr/share/doc/${PF}/conf
doins ${D}etc/asterisk/*.conf*
rm -f ${D}etc/asterisk/*.conf* 2>/dev/null
fi

# don't delete these directories, even if they are empty
for x in voicemail meetme system dictate monitor tmp; do
keepdir /var/spool/asterisk/${x}
done
keepdir /var/lib/asterisk/sounds/priv-callerintros
keepdir /var/lib/asterisk/mohmp3
keepdir /var/lib/asterisk/agi-bin
keepdir /var/log/asterisk/cdr-csv
keepdir /var/log/asterisk/cdr-custom
keepdir /var/run/asterisk

# install asterisk.h, a lot of external modules need this
insinto /usr/include/asterisk
doins include/asterisk.h

# install astgenkey, astxs, safe_asterisk and manpages
dobin contrib/scripts/astxs
dosbin contrib/scripts/astgenkey
dosbin contrib/scripts/safe_asterisk
doman contrib/scripts/safe_asterisk.8
doman contrib/scripts/astgenkey.8

newinitd ${FILESDIR}/1.2.0/asterisk.rc6 asterisk
newconfd ${FILESDIR}/1.2.0/asterisk.confd asterisk

# install standard docs...
dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
dodoc doc/README.*
dodoc doc/*.txt

docinto scripts
dodoc contrib/scripts/*

docinto utils
dodoc contrib/utils/*

docinto configs
dodoc configs/*

# install api docs
if use doc; then
insinto /usr/share/doc/${PF}/api/html
doins doc/api/html/*
fi

# install ISDNguard
if use bri; then
cd ${S_BRI}/ISDNguard
dosbin ISDNguard

docinto ISDNguard
dodoc INSTALL.ISDNguard

cd ${S}
fi

insinto /usr/share/doc/${PF}/cgi
doins contrib/scripts/vmail.cgi
doins images/*.gif

# install asterisk-updater
dosbin ${FILESDIR}/1.2.0/asterisk-updater

# make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
rm -f ${D}/etc/asterisk/misdn.conf ${D}/usr/lib/asterisk/modules/chan_misdn.so \
${D}/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
rm -f ${D}/usr/include/asterisk/chan_capi{,_app}.h \
${D}/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
}

pkg_preinst() {
enewgroup asterisk
enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
einfo "Fixing permissions"
for x in spool run lib log; do
chown -R asterisk:asterisk ${ROOT}var/${x}/asterisk
chmod -R u=rwX,g=rX,o= ${ROOT}var/${x}/asterisk
done

chown -R root:asterisk ${ROOT}etc/asterisk
chmod -R u=rwX,g=rX,o= ${ROOT}etc/asterisk
echo

#
# Announcements, warnings, reminders...
#
einfo "Asterisk has been installed"
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
echo
echo

#
# Warning about 1.0 -> 1.2 changes...
#
if is_ast10update; then
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
ewarn ""
fi

if is_astupdate; then
ewarn ""
ewarn " - The initgroups patch has been dropped, please update your"
ewarn " \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
ewarn ""
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
fi

# scan for old modules
if is_ast10update; then
einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
scan_modules
fi
}

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=rX,o= ${ROOT}var/${x}/asterisk
done

chown -R root:asterisk ${ROOT}etc/asterisk
chmod -R u=rwX,g=rX,o= ${ROOT}etc/asterisk

einfo "done"
else
einfo "skipping"
fi
}

asterisk-1.2.14-r1.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.14-r1.ebuild,v 1.6 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib toolchain-funcs

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl zaptel \
elibc_uclibc"

BRI_VERSION="0.3.0-PRE-1x"
AST_PATCHES="1.2.11-patches-1.0"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc sparc x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.3 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.8 )
postgres? ( virtual/postgresql-server )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.3-r1
>=net-misc/zaptel-1.2.8 )"

DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"

#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"

QA_TEXTRELS_x86="usr/lib/asterisk/modules/codec_gsm.so"
QA_EXECSTACK_x86="usr/lib/asterisk/modules/codec_gsm.so"

#
# List of modules to ignore during scan (because they have been removed in 1.2.x)
#
SCAN_IGNORE_MODS="
app_qcall
chan_modem
chan_modem_i4l
chan_modem_bestdata
chan_modme_aopen"

#
# shortcuts
#
is_ast10update() {
return $(has_version "=net-misc/asterisk-1.0*")
}

is_astupdate() {
if ! is_ast10update; then
return $(has_version " fi
return 0
}

#
# Display a nice countdown...
#
countdown() {
local n

ebeep

n=${1:-10}
while [[ $n -gt 0 ]]; do
echo -en " Waiting $n second(s)...\r"
sleep 1
(( n-- ))
done
}

#
# Scan for asterisk-1.0.x modules that will have to be updated
#
scan_modules() {
local modules_list=""
local n

for x in $(ls -1 "${ROOT}"usr/$(get_libdir)/asterisk/modules/*.so); do
echo -en "Scanning.... $(basename ${x}) \r"

# skip blacklisted modules
hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue

if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
modules_list="${modules_list} $(basename ${x//.so})"
fi
done

if [[ -n "${modules_list}" ]]; then
echo " ========================================================"
ewarn "Please update or unmerge the following modules:"
echo

n=0
for x in ${modules_list}; do
ewarn " - ${x}"
(( n++ ))
done

echo
ewarn "Warning: $n outdated module(s) found!"
ewarn "Warning: asterisk may not work if you don't update them!"
echo " ========================================================"
echo
einfo "You can use the \"asterisk-updater\" script to update the modules"
echo
countdown
echo
return 1
else
einfo "No asterisk-1.0.x modules found!"
return 0
fi
}

pkg_setup() {
local checkfailed=0 waitaftermsg=0

if is_ast10update; then
ewarn " Asterisk UPGRADE Warning"
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
ewarn ""
ewarn " Asterisk UPGRADE Warning"
echo
waitaftermsg=1
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
waitaftermsg=1
fi

if [[ $waitaftermsg -eq 1 ]]; then
einfo "Press Ctrl+C to abort"
echo
countdown
fi

#
# Regular checks
#
einfo "Running some pre-flight checks..."
echo

}

src_unpack() {
unpack ${A}
cd "${S}"

#
# gentoo patchset
#
for x in $(grep -v "^#\| \+" "${WORKDIR}"/patches/patches.list); do
epatch "${WORKDIR}"/patches/${x}
done

if use mmx; then
if ! use hardened; then
einfo "Enabling mmx optimization"
sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
Makefile
else
ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
fi
fi

if ! use debug; then
einfo "Disabling debug support"
sed -i -e "s:^\(DEBUG=\):#\1:" \
Makefile
fi

if ! use ssl; then
einfo "Disabling crypto support"
sed -i -e 's:^#\(NOCRYPTO=yes\):\1:' \
-e '/^LIBS+=-lssl/d' Makefile || die
fi

#
# uclibc patch
#
if use elibc_uclibc; then
einfo "Patching asterisk for uclibc..."
epatch "${FILESDIR}"/1.0.0/${PN}-1.0.5-uclibc-dns.diff
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
fi

#
# BRI patches
#
if use bri; then
einfo "Patching asterisk w/ BRI stuff"
pwd

epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
#epatch "${S_BRI}"/patches/asterisk.patch
fi

#
# Generic jitterbuffer (asterisk bug #3854)
#
if use genericjb; then
einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
# epatch "${WORKDIR}"/ast_jb-${JB_PATCHES}.patch
epatch "${WORKDIR}"/${PN}-${JB_PATCHES}.patch

#sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
# Makefile
fi

#
# Security patch bug #169616
#
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.14-chan_sip.patch

}

src_compile() {
local myopts

use lowmem && \
myopts="-DLOW_MEMORY"

if use h323; then
einfo "Building H.323 wrapper lib..."
make -C channels/h323 \
NOTRACE=1 \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
libchanh323.a Makefile.ast || die "Make h323 failed"
fi

einfo "Building Asterisk..."
make \
CC=$(tc-getCC) \
NOTRACE=1 \
OPTIMIZE="${CFLAGS}" \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
OPTIONS="${myopts}" || die "Make failed"

# create api docs
use doc && \
make progdocs

# build bristuff's ISDNguard
use bri && \
make -C "${S_BRI}"/ISDNguard
}

src_install() {

# install asterisk
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"

# remove bristuff capi
use bri && \
rm -f "${D}"usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null

# remove installed sample files if nosamples flag is set
if use nosamples; then
einfo "Skipping installation of sample files..."
rm -rf "${D}"var/spool/asterisk/voicemail/default
rm -f "${D}"var/lib/asterisk/mohmp3/*
rm -f "${D}"var/lib/asterisk/sounds/demo-*
rm -f "${D}"var/lib/asterisk/agi-bin/*
else
einfo "Sample files have been installed"
keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
fi

# move sample configuration files to doc directory
if is_ast10update; then
elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
elif has_version "net-misc/asterisk"; then
elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
insinto /usr/share/doc/${PF}/conf
doins "${D}"etc/asterisk/*.conf*
rm -f "${D}"etc/asterisk/*.conf* 2>/dev/null
fi

# don't delete these directories, even if they are empty
for x in voicemail meetme system dictate monitor tmp; do
keepdir /var/spool/asterisk/${x}
done
keepdir /var/lib/asterisk/sounds/priv-callerintros
keepdir /var/lib/asterisk/mohmp3
keepdir /var/lib/asterisk/agi-bin
keepdir /var/log/asterisk/cdr-csv
keepdir /var/log/asterisk/cdr-custom
keepdir /var/run/asterisk

# install astxs
dobin contrib/scripts/astxs

newinitd "${FILESDIR}"/1.2.0/asterisk.rc6 asterisk
newconfd "${FILESDIR}"/1.2.0/asterisk.confd asterisk

# install standard docs...
dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
dodoc doc/README.*
dodoc doc/*.txt

docinto scripts
dodoc contrib/scripts/*

docinto utils
dodoc contrib/utils/*

docinto configs
dodoc configs/*

# install api docs
if use doc; then
insinto /usr/share/doc/${PF}/api/html
doins doc/api/html/*
fi

# install ISDNguard
if use bri; then
cd "${S_BRI}"/ISDNguard
dosbin ISDNguard

docinto ISDNguard
dodoc INSTALL.ISDNguard

cd "${S}"
fi

insinto /usr/share/doc/${PF}/cgi
doins contrib/scripts/vmail.cgi
doins images/*.gif

# install asterisk-updater
dosbin "${FILESDIR}"/1.2.0/asterisk-updater

# install asterisk.h, a lot of external modules need this
insinto /usr/include/asterisk
doins include/asterisk.h

# make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
rm -f "${D}"/etc/asterisk/misdn.conf "${D}"/usr/lib/asterisk/modules/chan_misdn.so \
"${D}"/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
rm -f "${D}"/usr/include/asterisk/chan_capi{,_app}.h \
"${D}"/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
}

pkg_preinst() {
enewgroup asterisk
enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
einfo "Fixing permissions"
for x in spool run lib log; do
chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
echo

#
# Announcements, warnings, reminders...
#
einfo "Asterisk has been installed"
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
echo
echo

#
# Warning about 1.0 -> 1.2 changes...
#
if is_ast10update; then
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
ewarn ""
fi

if is_astupdate; then
ewarn ""
ewarn " - The initgroups patch has been dropped, please update your"
ewarn " \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
ewarn ""
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
fi

# scan for old modules
if is_ast10update; then
einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
scan_modules
fi
}

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=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk

einfo "done"
else
einfo "skipping"
fi
}

asterisk-1.2.14-r2.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.14-r2.ebuild,v 1.7 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib toolchain-funcs

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl zaptel \
elibc_uclibc"

BRI_VERSION="0.3.0-PRE-1x"
AST_PATCHES="1.2.11-patches-1.0"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 ~hppa ~ppc sparc x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.3 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.8 )
postgres? ( virtual/postgresql-server )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.3-r1
>=net-misc/zaptel-1.2.8 )"

DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"

#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"

QA_TEXTRELS_x86="usr/lib/asterisk/modules/codec_gsm.so"
QA_EXECSTACK_x86="usr/lib/asterisk/modules/codec_gsm.so"

#
# List of modules to ignore during scan (because they have been removed in 1.2.x)
#
SCAN_IGNORE_MODS="
app_qcall
chan_modem
chan_modem_i4l
chan_modem_bestdata
chan_modme_aopen"

#
# shortcuts
#
is_ast10update() {
return $(has_version "=net-misc/asterisk-1.0*")
}

is_astupdate() {
if ! is_ast10update; then
return $(has_version " fi
return 0
}

#
# Display a nice countdown...
#
countdown() {
local n

ebeep

n=${1:-10}
while [[ $n -gt 0 ]]; do
echo -en " Waiting $n second(s)...\r"
sleep 1
(( n-- ))
done
}

#
# Scan for asterisk-1.0.x modules that will have to be updated
#
scan_modules() {
local modules_list=""
local n

for x in $(ls -1 "${ROOT}"usr/$(get_libdir)/asterisk/modules/*.so); do
echo -en "Scanning.... $(basename ${x}) \r"

# skip blacklisted modules
hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue

if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
modules_list="${modules_list} $(basename ${x//.so})"
fi
done

if [[ -n "${modules_list}" ]]; then
echo " ========================================================"
ewarn "Please update or unmerge the following modules:"
echo

n=0
for x in ${modules_list}; do
ewarn " - ${x}"
(( n++ ))
done

echo
ewarn "Warning: $n outdated module(s) found!"
ewarn "Warning: asterisk may not work if you don't update them!"
echo " ========================================================"
echo
einfo "You can use the \"asterisk-updater\" script to update the modules"
echo
countdown
echo
return 1
else
einfo "No asterisk-1.0.x modules found!"
return 0
fi
}

pkg_setup() {
local checkfailed=0 waitaftermsg=0

if is_ast10update; then
ewarn " Asterisk UPGRADE Warning"
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
ewarn ""
ewarn " Asterisk UPGRADE Warning"
echo
waitaftermsg=1
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
waitaftermsg=1
fi

if [[ $waitaftermsg -eq 1 ]]; then
einfo "Press Ctrl+C to abort"
echo
countdown
fi

#
# Regular checks
#
einfo "Running some pre-flight checks..."
echo

}

src_unpack() {
unpack ${A}
cd "${S}"

#
# gentoo patchset
#
for x in $(grep -v "^#\| \+" "${WORKDIR}"/patches/patches.list); do
epatch "${WORKDIR}"/patches/${x}
done

if use mmx; then
if ! use hardened; then
einfo "Enabling mmx optimization"
sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
Makefile
else
ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
fi
fi

if ! use debug; then
einfo "Disabling debug support"
sed -i -e "s:^\(DEBUG=\):#\1:" \
Makefile
fi

if ! use ssl; then
einfo "Disabling crypto support"
sed -i -e 's:^#\(NOCRYPTO=yes\):\1:' \
-e '/^LIBS+=-lssl/d' Makefile || die
fi

#
# uclibc patch
#
if use elibc_uclibc; then
einfo "Patching asterisk for uclibc..."
epatch "${FILESDIR}"/1.0.0/${PN}-1.0.5-uclibc-dns.diff
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
fi

#
# BRI patches
#
if use bri; then
einfo "Patching asterisk w/ BRI stuff"
pwd

epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
#epatch "${S_BRI}"/patches/asterisk.patch
fi

#
# Generic jitterbuffer (asterisk bug #3854)
#
if use genericjb; then
einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
# epatch "${WORKDIR}"/ast_jb-${JB_PATCHES}.patch
epatch "${WORKDIR}"/${PN}-${JB_PATCHES}.patch

#sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
# Makefile
fi

#
# Security patch bug #169616 and bug #171467
#
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.14-chan_sip2.patch

}

src_compile() {
local myopts

use lowmem && \
myopts="-DLOW_MEMORY"

if use h323; then
einfo "Building H.323 wrapper lib..."
make -C channels/h323 \
NOTRACE=1 \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
libchanh323.a Makefile.ast || die "Make h323 failed"
fi

einfo "Building Asterisk..."
make \
CC=$(tc-getCC) \
NOTRACE=1 \
OPTIMIZE="${CFLAGS}" \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
OPTIONS="${myopts}" || die "Make failed"

# create api docs
use doc && \
make progdocs

# build bristuff's ISDNguard
use bri && \
make -C "${S_BRI}"/ISDNguard
}

src_install() {

# install asterisk
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"

# remove bristuff capi
use bri && \
rm -f "${D}"usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null

# remove installed sample files if nosamples flag is set
if use nosamples; then
einfo "Skipping installation of sample files..."
rm -rf "${D}"var/spool/asterisk/voicemail/default
rm -f "${D}"var/lib/asterisk/mohmp3/*
rm -f "${D}"var/lib/asterisk/sounds/demo-*
rm -f "${D}"var/lib/asterisk/agi-bin/*
else
einfo "Sample files have been installed"
keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
fi

# move sample configuration files to doc directory
if is_ast10update; then
elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
elif has_version "net-misc/asterisk"; then
elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
insinto /usr/share/doc/${PF}/conf
doins "${D}"etc/asterisk/*.conf*
rm -f "${D}"etc/asterisk/*.conf* 2>/dev/null
fi

# don't delete these directories, even if they are empty
for x in voicemail meetme system dictate monitor tmp; do
keepdir /var/spool/asterisk/${x}
done
keepdir /var/lib/asterisk/sounds/priv-callerintros
keepdir /var/lib/asterisk/mohmp3
keepdir /var/lib/asterisk/agi-bin
keepdir /var/log/asterisk/cdr-csv
keepdir /var/log/asterisk/cdr-custom
keepdir /var/run/asterisk

# install astxs
dobin contrib/scripts/astxs

newinitd "${FILESDIR}"/1.2.0/asterisk.rc6 asterisk
newconfd "${FILESDIR}"/1.2.0/asterisk.confd asterisk

# install standard docs...
dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
dodoc doc/README.*
dodoc doc/*.txt

docinto scripts
dodoc contrib/scripts/*

docinto utils
dodoc contrib/utils/*

docinto configs
dodoc configs/*

# install api docs
if use doc; then
insinto /usr/share/doc/${PF}/api/html
doins doc/api/html/*
fi

# install ISDNguard
if use bri; then
cd "${S_BRI}"/ISDNguard
dosbin ISDNguard

docinto ISDNguard
dodoc INSTALL.ISDNguard

cd "${S}"
fi

insinto /usr/share/doc/${PF}/cgi
doins contrib/scripts/vmail.cgi
doins images/*.gif

# install asterisk-updater
dosbin "${FILESDIR}"/1.2.0/asterisk-updater

# install asterisk.h, a lot of external modules need this
insinto /usr/include/asterisk
doins include/asterisk.h

# make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
rm -f "${D}"/etc/asterisk/misdn.conf "${D}"/usr/lib/asterisk/modules/chan_misdn.so \
"${D}"/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
rm -f "${D}"/usr/include/asterisk/chan_capi{,_app}.h \
"${D}"/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
}

pkg_preinst() {
enewgroup asterisk
enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
einfo "Fixing permissions"
for x in spool run lib log; do
chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
echo

#
# Announcements, warnings, reminders...
#
einfo "Asterisk has been installed"
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
echo
echo

#
# Warning about 1.0 -> 1.2 changes...
#
if is_ast10update; then
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
ewarn ""
fi

if is_astupdate; then
ewarn ""
ewarn " - The initgroups patch has been dropped, please update your"
ewarn " \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
ewarn ""
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
fi

# scan for old modules
if is_ast10update; then
einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
scan_modules
fi
}

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=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk

einfo "done"
else
einfo "skipping"
fi
}

asterisk-1.2.14.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.14.ebuild,v 1.6 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib toolchain-funcs

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl zaptel \
elibc_uclibc"

BRI_VERSION="0.3.0-PRE-1x"
AST_PATCHES="1.2.11-patches-1.0"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.3 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.8 )
postgres? ( virtual/postgresql-server )
osp? ( >=net-libs/osptoolkit-3.3.4 )
bri? ( >=net-libs/libpri-1.2.3-r1
>=net-misc/zaptel-1.2.8 )"

DEPEND="${RDEPEND}
sys-devel/flex
sys-devel/bison
doc? ( app-doc/doxygen )
virtual/logger"

#asterisk uses special mpg123 functions and does not work with mpeg321, bug #42703
PDEPEND="|| ( media-sound/mpg123 net-misc/asterisk-addons )"

QA_TEXTRELS_x86="usr/lib/asterisk/modules/codec_gsm.so"
QA_EXECSTACK_x86="usr/lib/asterisk/modules/codec_gsm.so"

#
# List of modules to ignore during scan (because they have been removed in 1.2.x)
#
SCAN_IGNORE_MODS="
app_qcall
chan_modem
chan_modem_i4l
chan_modem_bestdata
chan_modme_aopen"

#
# shortcuts
#
is_ast10update() {
return $(has_version "=net-misc/asterisk-1.0*")
}

is_astupdate() {
if ! is_ast10update; then
return $(has_version " fi
return 0
}

#
# Display a nice countdown...
#
countdown() {
local n

ebeep

n=${1:-10}
while [[ $n -gt 0 ]]; do
echo -en " Waiting $n second(s)...\r"
sleep 1
(( n-- ))
done
}

#
# Scan for asterisk-1.0.x modules that will have to be updated
#
scan_modules() {
local modules_list=""
local n

for x in $(ls -1 "${ROOT}"usr/$(get_libdir)/asterisk/modules/*.so); do
echo -en "Scanning.... $(basename ${x}) \r"

# skip blacklisted modules
hasq $(basename ${x//.so}) ${SCAN_IGNORE_MODS} && continue

if $(readelf -s "${x}" | grep -q "\(ast_load\|ast_destroy\)$"); then
modules_list="${modules_list} $(basename ${x//.so})"
fi
done

if [[ -n "${modules_list}" ]]; then
echo " ========================================================"
ewarn "Please update or unmerge the following modules:"
echo

n=0
for x in ${modules_list}; do
ewarn " - ${x}"
(( n++ ))
done

echo
ewarn "Warning: $n outdated module(s) found!"
ewarn "Warning: asterisk may not work if you don't update them!"
echo " ========================================================"
echo
einfo "You can use the \"asterisk-updater\" script to update the modules"
echo
countdown
echo
return 1
else
einfo "No asterisk-1.0.x modules found!"
return 0
fi
}

pkg_setup() {
local checkfailed=0 waitaftermsg=0

if is_ast10update; then
ewarn " Asterisk UPGRADE Warning"
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz after the installation!"
ewarn ""
ewarn " Asterisk UPGRADE Warning"
echo
waitaftermsg=1
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
waitaftermsg=1
fi

if [[ $waitaftermsg -eq 1 ]]; then
einfo "Press Ctrl+C to abort"
echo
countdown
fi

#
# Regular checks
#
einfo "Running some pre-flight checks..."
echo

}

src_unpack() {
unpack ${A}
cd "${S}"

#
# gentoo patchset
#
for x in $(grep -v "^#\| \+" "${WORKDIR}"/patches/patches.list); do
epatch "${WORKDIR}"/patches/${x}
done

if use mmx; then
if ! use hardened; then
einfo "Enabling mmx optimization"
sed -i -e "s:^#\(K6OPT[\t ]\+= -DK6OPT\):\1:" \
Makefile
else
ewarn "Hardened use-flag is set, not enabling mmx optimization for codec_gsm!"
fi
fi

if ! use debug; then
einfo "Disabling debug support"
sed -i -e "s:^\(DEBUG=\):#\1:" \
Makefile
fi

if ! use ssl; then
einfo "Disabling crypto support"
sed -i -e 's:^#\(NOCRYPTO=yes\):\1:' \
-e '/^LIBS+=-lssl/d' Makefile || die
fi

#
# uclibc patch
#
if use elibc_uclibc; then
einfo "Patching asterisk for uclibc..."
epatch "${FILESDIR}"/1.0.0/${PN}-1.0.5-uclibc-dns.diff
epatch "${FILESDIR}"/1.2.0/${PN}-1.2.1-uclibc-getloadavg.diff
fi

#
# BRI patches
#
if use bri; then
einfo "Patching asterisk w/ BRI stuff"
pwd

epatch "${WORKDIR}"/${MY_P}-bristuff-${BRI_VERSION}.diff
#epatch "${S_BRI}"/patches/asterisk.patch
fi

#
# Generic jitterbuffer (asterisk bug #3854)
#
if use genericjb; then
einfo "Generic jitterbuffer (ast #3854, full patch available on http://www.asterisk-backports.org/)"
# epatch "${WORKDIR}"/ast_jb-${JB_PATCHES}.patch
epatch "${WORKDIR}"/${PN}-${JB_PATCHES}.patch

#sed -i -e "s:^\(GENERIC_JB = \)#-DAST_JB:\1 -DAST_JB:" \
# Makefile
fi
}

src_compile() {
local myopts

use lowmem && \
myopts="-DLOW_MEMORY"

if use h323; then
einfo "Building H.323 wrapper lib..."
make -C channels/h323 \
NOTRACE=1 \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
libchanh323.a Makefile.ast || die "Make h323 failed"
fi

einfo "Building Asterisk..."
make \
CC=$(tc-getCC) \
NOTRACE=1 \
OPTIMIZE="${CFLAGS}" \
PWLIBDIR=/usr/share/pwlib \
OPENH323DIR=/usr/share/openh323 \
OPTIONS="${myopts}" || die "Make failed"

# create api docs
use doc && \
make progdocs

# build bristuff's ISDNguard
use bri && \
make -C "${S_BRI}"/ISDNguard
}

src_install() {

# install asterisk
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" install || die "Make install failed"
make DESTDIR="${D}" ASTLIBDIR="\$(INSTALL_PREFIX)/usr/$(get_libdir)/asterisk" samples || die "Failed to create sample files"

# remove bristuff capi
use bri && \
rm -f "${D}"usr/$(get_libdir)/asterisk/modules/{app,chan}_capi*.so 2>/dev/null

# remove installed sample files if nosamples flag is set
if use nosamples; then
einfo "Skipping installation of sample files..."
rm -rf "${D}"var/spool/asterisk/voicemail/default
rm -f "${D}"var/lib/asterisk/mohmp3/*
rm -f "${D}"var/lib/asterisk/sounds/demo-*
rm -f "${D}"var/lib/asterisk/agi-bin/*
else
einfo "Sample files have been installed"
keepdir /var/spool/asterisk/voicemail/default/1234/INBOX
fi

# move sample configuration files to doc directory
if is_ast10update; then
elog "Updating from old (pre-1.2) asterisk version, new configuration files have been installed"
elog "into ${ROOT}etc/asterisk, use etc-update or dispatch-conf to update them"
elif has_version "net-misc/asterisk"; then
elog "Configuration samples have been moved to: $ROOT/usr/share/doc/${PF}/conf"
insinto /usr/share/doc/${PF}/conf
doins "${D}"etc/asterisk/*.conf*
rm -f "${D}"etc/asterisk/*.conf* 2>/dev/null
fi

# don't delete these directories, even if they are empty
for x in voicemail meetme system dictate monitor tmp; do
keepdir /var/spool/asterisk/${x}
done
keepdir /var/lib/asterisk/sounds/priv-callerintros
keepdir /var/lib/asterisk/mohmp3
keepdir /var/lib/asterisk/agi-bin
keepdir /var/log/asterisk/cdr-csv
keepdir /var/log/asterisk/cdr-custom
keepdir /var/run/asterisk

# install astxs
dobin contrib/scripts/astxs

newinitd "${FILESDIR}"/1.2.0/asterisk.rc6 asterisk
newconfd "${FILESDIR}"/1.2.0/asterisk.confd asterisk

# install standard docs...
dodoc BUGS CREDITS LICENSE ChangeLog HARDWARE README README.fpm
dodoc SECURITY doc/CODING-GUIDELINES doc/linkedlists.README UPGRADE.txt
dodoc doc/README.*
dodoc doc/*.txt

docinto scripts
dodoc contrib/scripts/*

docinto utils
dodoc contrib/utils/*

docinto configs
dodoc configs/*

# install api docs
if use doc; then
insinto /usr/share/doc/${PF}/api/html
doins doc/api/html/*
fi

# install ISDNguard
if use bri; then
cd "${S_BRI}"/ISDNguard
dosbin ISDNguard

docinto ISDNguard
dodoc INSTALL.ISDNguard

cd "${S}"
fi

insinto /usr/share/doc/${PF}/cgi
doins contrib/scripts/vmail.cgi
doins images/*.gif

# install asterisk-updater
dosbin "${FILESDIR}"/1.2.0/asterisk-updater

# install asterisk.h, a lot of external modules need this
insinto /usr/include/asterisk
doins include/asterisk.h

# make sure misdn/capi stuff is not installed, provided by asterisk-chan_..
rm -f "${D}"/etc/asterisk/misdn.conf "${D}"/usr/lib/asterisk/modules/chan_misdn.so \
"${D}"/usr/share/doc/${PF}/{conf/misdn.conf,configs/misdn.conf.sample.gz,README.misdn.gz}
rm -f "${D}"/usr/include/asterisk/chan_capi{,_app}.h \
"${D}"/usr/share/doc/${PF}/{conf/capi.conf,configs/capi.conf.sample.gz}
}

pkg_preinst() {
enewgroup asterisk
enewuser asterisk -1 -1 /var/lib/asterisk asterisk
}

pkg_postinst() {
einfo "Fixing permissions"
for x in spool run lib log; do
chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk
echo

#
# Announcements, warnings, reminders...
#
einfo "Asterisk has been installed"
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"
elog
elog "http://www.automated.it/guidetoasterisk.htm"
elog
elog "Gentoo VoIP IRC Channel:"
elog "#gentoo-voip @ irc.freenode.net"
echo
echo

#
# Warning about 1.0 -> 1.2 changes...
#
if is_ast10update; then
ewarn ""
ewarn "- Please read ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.gz before continuing"
ewarn ""
fi

if is_astupdate; then
ewarn ""
ewarn " - The initgroups patch has been dropped, please update your"
ewarn " \"conf.d/asterisk\" and \"init.d/asterisk\" file!"
ewarn ""
fi

if use genericjb; then
ewarn "********************** Experimental Feature **************************"
ewarn "Please note that generic jitterbuffer support is experimental and may not"
ewarn "be included in newer versions!"
echo
fi

# scan for old modules
if is_ast10update; then
einfo "Asterisk has been updated from pre-1.2.x, scanning for old modules"
scan_modules
fi
}

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=rX,o= "${ROOT}"var/${x}/asterisk
done

chown -R root:asterisk "${ROOT}"etc/asterisk
chmod -R u=rwX,g=rX,o= "${ROOT}"etc/asterisk

einfo "done"
else
einfo "skipping"
fi
}

asterisk-1.2.17-r1.ebuild

# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.2.17-r1.ebuild,v 1.6 2008/05/21 19:00:02 dev-zero Exp $

inherit eutils multilib toolchain-funcs

IUSE="alsa bri curl debug doc gtk genericjb h323 hardened lowmem mmx \
nosamples odbc osp postgres pri speex sqlite ssl zaptel \
elibc_uclibc"

BRI_VERSION="0.3.0-PRE-1y-d"
AST_PATCHES="1.2.17-patches-1.1"
JB_PATCHES="1.2.11-jb"

## NOTE:
#
# - t.38 dropped
#

MY_P="${P/_p/.}"

DESCRIPTION="Asterisk: A Modular Open Source PBX System"
HOMEPAGE="http://www.asterisk.org/"
SRC_URI="http://ftp.digium.com/pub/asterisk/releases/${MY_P}.tar.gz
http://www.netdomination.org/pub/asterisk/${PN}-${AST_PATCHES}.tar.bz2
bri? ( mirror://gentoo/${MY_P}-bristuff-${BRI_VERSION}-2.diff.bz2
http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )
genericjb? ( http://www.netdomination.org/pub/asterisk/${PN}-${JB_PATCHES}.patch.bz2 )"
# bri? ( http://www.junghanns.net/downloads/bristuff-${BRI_VERSION}.tar.gz )

S="${WORKDIR}/${MY_P}"
S_BRI="${WORKDIR}/bristuff-${BRI_VERSION}"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~alpha amd64 ~hppa ~ppc sparc x86"

RDEPEND="dev-libs/newt
media-sound/sox
ssl? ( dev-libs/openssl )
gtk? ( =x11-libs/gtk+-1.2* )
pri? ( >=net-libs/libpri-1.2.4 )
h323? ( >=dev-libs/pwlib-1.8.3
>=net-libs/openh323-1.15.0 )
alsa? ( media-libs/alsa-lib )
curl? ( net-misc/curl )
odbc? ( dev-db/unixODBC )
speex? ( media-libs/speex )
sqlite? ( zaptel? ( >=net-misc/zaptel-1.2.16 )
postgres? ( virtual/postgresql-server )