/[gentoo-x86]/net-misc/asterisk/asterisk-1.8.29.0.ebuild
Gentoo

Contents of /net-misc/asterisk/asterisk-1.8.29.0.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (show annotations) (download)
Tue Oct 21 09:41:28 2014 UTC (5 years, 3 months ago) by chainsaw
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +1 -1 lines
FILE REMOVED
New releases on the 11 & 12 branches to address the POODLE (AST-2014-011) SSL 3.0 vulnerability. The 1.8 branch is hereby removed from portage as previously announced. 11 is low-churn and ideal to target for production environments. Our patch sets against 1.8 cost significant effort to maintain and essentially add 11-branch features to it.

(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 0xB5058F9A)

1 # Copyright 1999-2014 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/net-misc/asterisk/asterisk-1.8.29.0.ebuild,v 1.2 2014/09/18 10:29:46 chainsaw Exp $
4
5 EAPI=5
6 inherit autotools base eutils linux-info multilib user
7
8 MY_P="${PN}-${PV/_/-}"
9
10 DESCRIPTION="Asterisk: A Modular Open Source PBX System"
11 HOMEPAGE="http://www.asterisk.org/"
12 SRC_URI="http://downloads.asterisk.org/pub/telephony/asterisk/releases/${MY_P}.tar.gz
13 mirror://gentoo/gentoo-asterisk-patchset-1.20.tar.bz2"
14 LICENSE="GPL-2"
15 SLOT="0"
16 KEYWORDS="~amd64 ~x86"
17
18 IUSE_VOICEMAIL_STORAGE="
19 +voicemail_storage_file
20 voicemail_storage_odbc
21 voicemail_storage_imap
22 "
23 IUSE="${IUSE_VOICEMAIL_STORAGE} ais alsa bluetooth calendar +caps curl dahdi debug doc freetds gtalk http iconv jabber jingle ldap lua mysql newt +samples odbc osplookup oss portaudio postgres radius selinux snmp span speex sqlite sqlite3 srtp static syslog vorbis"
24
25 IUSE_EXPAND="VOICEMAIL_STORAGE"
26
27 REQUIRED_USE="
28 gtalk? ( jabber )
29 ^^ ( ${IUSE_VOICEMAIL_STORAGE/+/} )
30 voicemail_storage_odbc? ( odbc )
31 "
32
33 EPATCH_SUFFIX="patch"
34 PATCHES=( "${WORKDIR}/asterisk-patchset" )
35
36 RDEPEND="dev-libs/popt
37 dev-libs/libxml2
38 dev-libs/openssl
39 sys-libs/ncurses
40 sys-libs/zlib
41 ais? ( sys-cluster/openais )
42 alsa? ( media-libs/alsa-lib )
43 bluetooth? ( net-wireless/bluez )
44 calendar? ( net-libs/neon
45 dev-libs/libical
46 dev-libs/iksemel )
47 caps? ( sys-libs/libcap )
48 curl? ( net-misc/curl )
49 dahdi? ( >=net-libs/libpri-1.4.12_beta2
50 net-misc/dahdi-tools )
51 freetds? ( dev-db/freetds )
52 gtalk? ( dev-libs/iksemel )
53 http? ( dev-libs/gmime:2.6 )
54 iconv? ( virtual/libiconv )
55 jabber? ( dev-libs/iksemel )
56 jingle? ( dev-libs/iksemel )
57 ldap? ( net-nds/openldap )
58 lua? ( dev-lang/lua )
59 mysql? ( virtual/mysql )
60 newt? ( dev-libs/newt )
61 odbc? ( dev-db/unixODBC )
62 osplookup? ( net-libs/osptoolkit )
63 portaudio? ( media-libs/portaudio )
64 postgres? ( dev-db/postgresql-base )
65 radius? ( net-dialup/radiusclient-ng )
66 selinux? ( sec-policy/selinux-asterisk )
67 snmp? ( net-analyzer/net-snmp )
68 span? ( media-libs/spandsp )
69 speex? ( media-libs/speex )
70 sqlite? ( dev-db/sqlite:0 )
71 sqlite3? ( dev-db/sqlite:3 )
72 srtp? ( net-libs/libsrtp )
73 vorbis? ( media-libs/libvorbis )"
74
75 DEPEND="${RDEPEND}
76 voicemail_storage_imap? ( virtual/imap-c-client )
77 !net-libs/openh323
78 !net-libs/pjsip
79 virtual/pkgconfig"
80
81 RDEPEND="${RDEPEND}
82 syslog? ( virtual/logger )"
83
84 PDEPEND="net-misc/asterisk-core-sounds
85 net-misc/asterisk-extra-sounds
86 net-misc/asterisk-moh-opsound"
87
88 S="${WORKDIR}/${MY_P}"
89
90 pkg_setup() {
91 CONFIG_CHECK="~!NF_CONNTRACK_SIP"
92 local WARNING_NF_CONNTRACK_SIP="SIP (NAT) connection tracking is enabled. Some users
93 have reported that this module dropped critical SIP packets in their deployments. You
94 may want to disable it if you see such problems."
95 check_extra_config
96
97 enewgroup asterisk
98 enewgroup dialout 20
99 enewuser asterisk -1 -1 /var/lib/asterisk "asterisk,dialout"
100 }
101
102 src_prepare() {
103 base_src_prepare
104 AT_M4DIR=autoconf eautoreconf
105 }
106
107 src_configure() {
108 local vmst
109
110 econf \
111 --libdir="/usr/$(get_libdir)" \
112 --localstatedir="/var" \
113 --with-crypto \
114 --with-gsm=internal \
115 --with-popt \
116 --with-ssl \
117 --with-z \
118 --without-pwlib \
119 $(use_with caps cap) \
120 $(use_with http gmime) \
121 $(use_with newt) \
122 $(use_with portaudio)
123
124 # Blank out sounds/sounds.xml file to prevent
125 # asterisk from installing sounds files (we pull them in via
126 # asterisk-{core,extra}-sounds and asterisk-moh-opsound.
127 >"${S}"/sounds/sounds.xml
128
129 # That NATIVE_ARCH chatter really is quite bothersome
130 sed -i 's/NATIVE_ARCH=/NATIVE_ARCH=0/' build_tools/menuselect-deps || die "Unable to squelch noisy build system"
131
132 # Compile menuselect binary for optional components
133 emake menuselect.makeopts
134
135 # Broken functionality is forcibly disabled (bug #360143)
136 menuselect/menuselect --disable chan_misdn menuselect.makeopts
137 menuselect/menuselect --disable chan_ooh323 menuselect.makeopts
138
139 # Utility set is forcibly enabled (bug #358001)
140 menuselect/menuselect --enable smsq menuselect.makeopts
141 menuselect/menuselect --enable streamplayer menuselect.makeopts
142 menuselect/menuselect --enable aelparse menuselect.makeopts
143 menuselect/menuselect --enable astman menuselect.makeopts
144
145 # this is connected, otherwise it would not find
146 # ast_pktccops_gate_alloc symbol
147 menuselect/menuselect --enable chan_mgcp menuselect.makeopts
148 menuselect/menuselect --enable res_pktccops menuselect.makeopts
149
150 # SSL is forcibly enabled, IAX2 & DUNDI are expected to be available
151 menuselect/menuselect --enable pbx_dundi menuselect.makeopts
152 menuselect/menuselect --enable func_aes menuselect.makeopts
153 menuselect/menuselect --enable chan_iax2 menuselect.makeopts
154
155 # The others are based on USE-flag settings
156 use_select() {
157 local state=$(use "$1" && echo enable || echo disable)
158 shift # remove use from parameters
159
160 while [[ -n $1 ]]; do
161 menuselect/menuselect --${state} "$1" menuselect.makeopts
162 shift
163 done
164 }
165
166 use_select ais res_ais
167 use_select alsa chan_alsa
168 use_select bluetooth chan_mobile
169 use_select calendar res_calendar res_calendar_{caldav,ews,exchange,icalendar}
170 use_select curl func_curl res_config_curl res_curl
171 use_select dahdi app_dahdibarge app_dahdiras chan_dahdi codec_dahdi res_timing_dahdi
172 use_select freetds {cdr,cel}_tds
173 use_select gtalk chan_gtalk
174 use_select http res_http_post
175 use_select iconv func_iconv
176 use_select jabber res_jabber
177 use_select jingle chan_jingle
178 use_select ldap res_config_ldap
179 use_select lua pbx_lua
180 use_select mysql app_mysql cdr_mysql res_config_mysql
181 use_select odbc cdr_adaptive_odbc res_config_odbc {cdr,cel,res,func}_odbc
182 use_select osplookup app_osplookup
183 use_select oss chan_oss
184 use_select postgres {cdr,cel}_pgsql res_config_pgsql
185 use_select radius {cdr,cel}_radius
186 use_select snmp res_snmp
187 use_select span res_fax_spandsp
188 use_select speex {codec,func}_speex
189 use_select sqlite cdr_sqlite
190 use_select sqlite3 {cdr,cel}_sqlite3_custom
191 use_select srtp res_srtp
192 use_select syslog cdr_syslog
193 use_select vorbis format_ogg_vorbis
194
195 # Voicemail storage ...
196 for vmst in ${IUSE_VOICEMAIL_STORAGE/+/}; do
197 if use ${vmst}; then
198 menuselect/menuselect --enable $(echo ${vmst##*_} | tr '[:lower:]' '[:upper:]')_STORAGE menuselect.makeopts
199 fi
200 done
201 }
202
203 src_compile() {
204 ASTLDFLAGS="${LDFLAGS}" emake
205 }
206
207 src_install() {
208 mkdir -p "${D}"usr/$(get_libdir)/pkgconfig || die
209 emake DESTDIR="${D}" installdirs
210 emake DESTDIR="${D}" install
211
212 if use radius; then
213 insinto /etc/radiusclient-ng/
214 doins contrib/dictionary.digium
215 fi
216 if use samples; then
217 emake DESTDIR="${D}" samples
218 for conffile in "${D}"etc/asterisk/*.*
219 do
220 chown asterisk:asterisk $conffile
221 chmod 0660 $conffile
222 done
223 einfo "Sample files have been installed"
224 else
225 einfo "Skipping installation of sample files..."
226 rm -f "${D}"var/lib/asterisk/mohmp3/* || die
227 rm -f "${D}"var/lib/asterisk/sounds/demo-* || die
228 rm -f "${D}"var/lib/asterisk/agi-bin/* || die
229 rm -f "${D}"etc/asterisk/* || die
230 fi
231 rm -rf "${D}"var/spool/asterisk/voicemail/default || die
232
233 # keep directories
234 diropts -m 0770 -o asterisk -g asterisk
235 keepdir /etc/asterisk
236 keepdir /var/lib/asterisk
237 keepdir /var/spool/asterisk
238 keepdir /var/spool/asterisk/{system,tmp,meetme,monitor,dictate,voicemail}
239 diropts -m 0750 -o asterisk -g asterisk
240 keepdir /var/log/asterisk/{cdr-csv,cdr-custom}
241
242 newinitd "${FILESDIR}"/1.8.0/asterisk.initd7 asterisk
243 newconfd "${FILESDIR}"/1.8.0/asterisk.confd asterisk
244
245 # install the upgrade documentation
246 #
247 dodoc README UPGRADE* BUGS CREDITS
248
249 # install extra documentation
250 #
251 if use doc
252 then
253 dodoc doc/*.txt
254 dodoc doc/*.pdf
255 fi
256
257 # install SIP scripts; bugs #300832 & #414585
258 #
259 dodoc "${FILESDIR}/1.6.2/sip_calc_auth"
260 dodoc "${FILESDIR}/1.8.0/find_call_sip_trace.sh"
261 dodoc "${FILESDIR}/1.8.0/find_call_ids.sh"
262 dodoc "${FILESDIR}/1.6.2/call_data.txt"
263
264 # install logrotate snippet; bug #329281
265 #
266 insinto /etc/logrotate.d
267 newins "${FILESDIR}/1.6.2/asterisk.logrotate3" asterisk
268 }
269
270 pkg_postinst() {
271 #
272 # Announcements, warnings, reminders...
273 #
274 einfo "Asterisk has been installed"
275 echo
276 elog "If you want to know more about asterisk, visit these sites:"
277 elog "http://www.asteriskdocs.org/"
278 elog "http://www.voip-info.org/wiki-Asterisk"
279 echo
280 elog "http://www.automated.it/guidetoasterisk.htm"
281 echo
282 elog "Gentoo VoIP IRC Channel:"
283 elog "#gentoo-voip @ irc.freenode.net"
284 echo
285 echo
286 elog "1.6 -> 1.8 changes that you may care about:"
287 elog "http://svn.asterisk.org/svn/${PN}/tags/${PV}/UPGRADE.txt"
288 elog "or: bzless ${ROOT}usr/share/doc/${PF}/UPGRADE.txt.bz2"
289 }
290
291 pkg_config() {
292 einfo "Do you want to reset file permissions and ownerships (y/N)?"
293
294 read tmp
295 tmp="$(echo $tmp | tr '[:upper:]' '[:lower:]')"
296
297 if [[ "$tmp" = "y" ]] ||\
298 [[ "$tmp" = "yes" ]]
299 then
300 einfo "Resetting permissions to defaults..."
301
302 for x in spool run lib log; do
303 chown -R asterisk:asterisk "${ROOT}"var/${x}/asterisk
304 chmod -R u=rwX,g=rwX,o= "${ROOT}"var/${x}/asterisk
305 done
306
307 chown -R root:asterisk "${ROOT}"etc/asterisk
308 chmod -R u=rwX,g=rwX,o= "${ROOT}"etc/asterisk
309
310 einfo "done"
311 else
312 einfo "skipping"
313 fi
314 }

  ViewVC Help
Powered by ViewVC 1.1.20