]> git.pld-linux.org Git - packages/asterisk.git/blob - asterisk.spec
- rm unpackaged files at this point; cosmetics
[packages/asterisk.git] / asterisk.spec
1 # TODO:
2 # - cgi-bin package - separate, because of suid-root
3 # - separate plugins into packages
4 # - use shared versions of lpc10, gsm,...
5 # - CFLAGS passing
6 # - fix bluetooth patch
7 # - package commandline tools (aelparse etc.)
8 #
9 # Conditional build:
10 %bcond_with     rxfax           # without rx (also tx :-D) fax
11 %bcond_with     bluetooth       # without bluetooth support (NFT)
12 %bcond_with     zhone           # zhone hack
13 %bcond_with     zhone_hack      # huge hack workarounding broken zhone channel banks which start randomly
14                                 # issuing pulse-dialled calls to weird numbers
15 %bcond_with     bristuff        # BRIstuff (Junghanns.NET BRI adapters) support
16 %bcond_with     verbose         # verbose build
17
18 %define         spandsp_version 0.0.2pre26
19 %define         rel     3
20 Summary:        Asterisk PBX
21 Summary(pl.UTF-8):      Centralka (PBX) Asterisk
22 Name:           asterisk
23 Version:        1.6.1.9
24 Release:        %{rel}%{?with_bristuff:.bristuff}
25 License:        GPL v2
26 Group:          Applications/System
27 Source0:        http://downloads.digium.com/pub/asterisk/releases/%{name}-%{version}.tar.gz
28 # Source0-md5:  e40cc69fb53e1cad9f30d1d533383efd
29 Source1:        %{name}.init
30 Source2:        %{name}.sysconfig
31 Source3:        http://downloads.digium.com/pub/telephony/sounds/releases/%{name}-core-sounds-en-gsm-1.4.13.tar.gz
32 # Source3-md5:  65add705003e9aebdb4cd03bd1a26f97
33 Source4:        http://downloads.digium.com/pub/telephony/sounds/%{name}-moh-freeplay-wav.tar.gz
34 # Source4-md5:  e523fc2b4ac524f45da7815e97780540
35 Source5:        %{name}.logrotate
36 Source10:       http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/app_txfax.c
37 # Source10-md5: 8c8fcb263b76897022b4c28052a7b439
38 Source11:       http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/app_rxfax.c
39 # Source11-md5: ab6983b51c412883545b36993d704999
40 Patch0:         %{name}-m4.patch
41 Patch1:         %{name}-configure.patch
42 Patch2:         %{name}-no_k6_on_sparc.patch
43 Patch3:         %{name}-lib.patch
44 Patch4:         %{name}-ppc.patch
45 # http://soft-switch.org/downloads/spandsp/spandsp-%{spandsp_version}/asterisk-1.2.x/apps_Makefile.patch
46 Patch10:        %{name}-txfax-Makefile.patch
47 Patch11:        %{name}-fix-ptlib.patch
48 Patch12:        %{name}-chan_bluetooth.patch
49 Patch13:        %{name}-zhone.patch
50 # http://svn.debian.org/wsvn/pkg-voip/asterisk/trunk/debian/patches/bristuff
51 Patch14:        %{name}-bristuff.patch
52 Patch15:        %{name}-bristuff-build.patch
53 Patch16:        %{name}-bristuff-libpri.patch
54 URL:            http://www.asterisk.org/
55 BuildRequires:  OSPToolkit
56 BuildRequires:  SDL_image-devel
57 BuildRequires:  alsa-lib-devel
58 BuildRequires:  autoconf
59 BuildRequires:  automake
60 BuildRequires:  bison
61 %{?with_bluetooth:BuildRequires: bluez-devel}
62 BuildRequires:  curl-devel
63 BuildRequires:  dahdi-linux-devel
64 BuildRequires:  dahdi-tools-devel
65 BuildRequires:  freetds-devel >= 0.63
66 BuildRequires:  gawk
67 BuildRequires:  gcc >= 5:3.4
68 BuildRequires:  gmime22-devel
69 BuildRequires:  iksemel-devel
70 BuildRequires:  imap-static
71 BuildRequires:  jack-audio-connection-kit-devel
72 BuildRequires:  libcap-devel
73 BuildRequires:  libogg-devel
74 BuildRequires:  libvorbis-devel
75 BuildRequires:  mISDNuser-devel
76 BuildRequires:  mysql-devel
77 BuildRequires:  ncurses-devel
78 BuildRequires:  net-snmp-devel
79 BuildRequires:  newt-devel
80 BuildRequires:  openais-devel
81 BuildRequires:  openh323-devel
82 BuildRequires:  openldap-devel
83 BuildRequires:  openssl-devel >= 0.9.7d
84 BuildRequires:  pam-devel
85 BuildRequires:  pkgconfig
86 BuildRequires:  popt-devel
87 BuildRequires:  portaudio-devel
88 BuildRequires:  postgresql-devel
89 BuildRequires:  pwlib-devel
90 BuildRequires:  radiusclient-ng-devel
91 BuildRequires:  rpmbuild(macros) >= 1.268
92 BuildRequires:  sed >= 4.0
93 BuildRequires:  spandsp-devel
94 %{?with_rxfax:BuildRequires:    spandsp-devel-%{spandsp_version}}
95 BuildRequires:  speex-devel
96 BuildRequires:  sqlite-devel
97 BuildRequires:  sqlite3-devel
98 BuildRequires:  unixODBC-devel
99 BuildRequires:  xorg-lib-libX11-devel
100 BuildRequires:  zlib-devel
101 %if %{with bristuff}
102 BuildRequires:  libgsmat-devel
103 BuildRequires:  libpri-bristuff-devel >= 1.2.4
104 %else
105 BuildRequires:  libpri-devel >= 1.2.4
106 %endif
107 Requires(post,preun):   /sbin/chkconfig
108 Requires:       rc-scripts
109 %requires_eq    openh323
110 %requires_eq    pwlib
111 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
112
113 %description
114 Asterisk is an Open Source PBX and telephony development platform that
115 can both replace a conventional PBX and act as a platform for
116 developing custom telephony applications for delivering dynamic
117 content over a telephone similarly to how one can deliver dynamic
118 content through a web browser using CGI and a web server.
119
120 Asterisk talks to a variety of telephony hardware including BRI, PRI,
121 POTS, and IP telephony clients using the Inter-Asterisk eXchange
122 protocol (e.g. gnophone or miniphone). For more information and a
123 current list of supported hardware, see http://www.asterisk.org/.
124
125 %description -l pl.UTF-8
126 Asterisk to wolnodostępna centralka (PBX) i platforma programistyczna
127 dla telefonii, mogąca zastąpić konwencjonalne PBX-y oraz służyć jako
128 platforma do rozwijania własnych aplikacji telefonicznych do
129 przekazywania dynamicznej treści przez telefon, podobnie jak można
130 przekazywać dynamiczną treść przez przeglądarkę WWW przy użyciu CGI i
131 serwera WWW.
132
133 Asterisk współpracuje z wielorakim sprzętem telefonicznym, w tym BRI,
134 PRI, POTS oraz klienty telefonii IP używające protokołu Inter-Asterisk
135 eXchange (np. gnophone lub miniphone). Więcej informacji i listę
136 obsługiwanego sprzętu można znaleźć pod http://www.asterisk.org/.
137
138 %package devel
139 Summary:        Header files for Asterisk platform
140 Summary(pl.UTF-8):      Pliki nagłówkowe platformy Asterisk
141 Group:          Development
142
143 %description devel
144 Header files for Asterisk development platform.
145
146 %description devel -l pl.UTF-8
147 Pliki nagłówkowe platformy programistycznej Asterisk.
148
149 %package examples
150 Summary:        Example files for the Asterisk PBX
151 Summary(pl.UTF-8):      Pliki przykładowe dla centralki Asterisk
152 Group:          Applications/System
153 Requires:       %{name} = %{version}-%{release}
154
155 %description examples
156 Example files for the Asterisk PBX.
157
158 %description examples -l pl.UTF-8
159 Pliki przykładowe dla centralki Asterisk.
160
161 %prep
162 %setup -q
163
164 %{?with_zhone:sed -i -e 's|.*#define.*ZHONE_HACK.*|#define ZHONE_HACK 1|g' channels/chan_zap.c}
165
166 #%patch0 -p0
167 #%patch1 -p1
168 #%patch2 -p1
169 #%patch3 -p1
170 %patch4 -p1
171 #%patch5 -p1
172 #%patch6 -p1
173 #%patch7 -p1
174 #%patch9 -p1
175
176 %if %{with rxfax}
177 cd apps
178 %patch10 -p0
179 cp %{SOURCE10} .
180 cp %{SOURCE11} .
181 %endif
182
183 #%patch11 -p1
184
185 %{?with_bluetooth:%patch12 -p1}
186 %{?with_zhonehack:%patch13 -p1}
187 %if %{with bristuff}
188 %patch14 -p1
189 %patch15 -p1
190 %patch16 -p1
191 %endif
192
193 sed -i -e "s#/usr/lib/#/usr/%{_lib}/#g#" Makefile
194
195 mkdir -p imap/c-client
196 ln -s %{_libdir}/libc-client.a imap/c-client/c-client.a
197 ln -s %{_includedir}/imap/* imap/c-client/
198 echo '-lssl -lpam' > imap/c-client/LDFLAGS
199
200 %build
201 rm -f pbx/.depend
202
203 %{__aclocal} -I autoconf
204 %{__autoheader}
205 %{__autoconf}
206
207 export CPPFLAGS="%{rpmcppflags} -I/usr/include/openh323"
208 export WGET="/bin/true"
209 %configure \
210         %{?with_bristuff:--with-gsmat=%{_prefix}} \
211         --with-imap="`pwd`"/imap
212
213 # safe checks
214 %{?with_bristuff:grep '^#define HAVE_GSMAT 1' include/asterisk/autoconfig.h || exit 1}
215
216 cp -f .cleancount .lastclean
217
218 %{__make} -j1 -C menuselect \
219         %{?with_verbose:NOISY_BUILD=yes} \
220         CC="%{__cc}" \
221         OPTIMIZE="%{rpmcflags}"
222
223 %{__make} -j1 \
224         %{?with_verbose:NOISY_BUILD=yes} \
225         CC="%{__cc}" \
226         OPTIMIZE="%{rpmcflags}" \
227         CHANNEL_LIBS+=chan_bluetooth.so || :
228
229 # rerun needed; asterisk wants that
230 %{__make} -j1 \
231         %{?with_verbose:NOISY_BUILD=yes} \
232         CC="%{__cc}" \
233         OPTIMIZE="%{rpmcflags}" \
234         CHANNEL_LIBS+=chan_bluetooth.so
235
236 # it requires doxygen - I don't know if we should do this...
237 #%{__make} progdocs
238
239 # safe checks
240 %{?with_bristuff:objdump -p channels/chan_zap.so | grep -qE 'NEEDED +libgsmat\.so' || exit 1}
241
242 %install
243 rm -rf $RPM_BUILD_ROOT
244 install -d $RPM_BUILD_ROOT{/var/{log/asterisk/cdr-csv,spool/asterisk/monitor},/etc/{rc.d/init.d,sysconfig,logrotate.d}}
245
246 install %{SOURCE3} sounds
247 install %{SOURCE4} sounds
248 install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
249
250 %{__make} -j1 install \
251         DESTDIR=$RPM_BUILD_ROOT
252 %{__make} -j1 samples \
253         DESTDIR=$RPM_BUILD_ROOT
254
255 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
256 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
257
258 # unpackaged at this point
259 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/moh/.asterisk-moh-opsound-wav
260 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/moh/CHANGES-asterisk-moh-opsound-wav
261 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/moh/CREDITS-asterisk-moh-opsound-wav
262 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/moh/LICENSE-asterisk-moh-opsound-wav
263 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/sounds/.asterisk-core-sounds-en-gsm-1.4.15
264 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/CHANGES-asterisk-core-en-1.4.15
265 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/CREDITS-asterisk-core-en-1.4.15
266 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/LICENSE-asterisk-core-en-1.4.15
267 rm -f $RPM_BUILD_ROOT/var/lib/asterisk/sounds/en/core-sounds-en.txt
268
269 %clean
270 rm -rf $RPM_BUILD_ROOT
271
272 %post
273 /sbin/chkconfig --add asterisk
274 # this was insane; breaking all current calls
275 #%%service asterisk restart "Asterisk daemon"
276
277 %preun
278 if [ "$1" = "0" ]; then
279         %service asterisk stop
280         /sbin/chkconfig --del asterisk
281 fi
282
283 %files
284 %defattr(644,root,root,755)
285 %doc BUGS ChangeLog CHANGES CREDITS README* UPGRADE.txt configs doc/*.txt
286 %attr(755,root,root) %{_sbindir}/*
287 %dir %{_sysconfdir}/asterisk
288 %attr(754,root,root) /etc/rc.d/init.d/%{name}
289 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
290 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
291 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/*.conf
292 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/*.adsi
293 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/*.lua
294 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/asterisk/extensions.ael
295 %dir %{_libdir}/asterisk
296 %dir %{_libdir}/asterisk/modules
297 %attr(755,root,root) %{_libdir}/asterisk/modules/*.so
298 %dir /var/lib/asterisk
299 %dir /var/lib/asterisk/agi-bin
300 %dir /var/lib/asterisk/images
301 %dir /var/lib/asterisk/keys
302 %dir /var/lib/asterisk/moh
303 /var/lib/asterisk/moh/*.wav
304 %dir /var/lib/asterisk/sounds
305 %dir /var/lib/asterisk/sounds/en
306 %dir /var/lib/asterisk/sounds/en/digits
307 %dir /var/lib/asterisk/sounds/en/dictate
308 %dir /var/lib/asterisk/sounds/en/followme
309 %dir /var/lib/asterisk/sounds/en/letters
310 %dir /var/lib/asterisk/sounds/en/phonetic
311 %dir /var/lib/asterisk/sounds/en/silence
312 /var/lib/asterisk/images/*.jpg
313 /var/lib/asterisk/keys/*.pub
314 /var/lib/asterisk/phoneprov
315 /var/lib/asterisk/sounds/en/*.gsm
316 /var/lib/asterisk/sounds/en/digits/*.gsm
317 /var/lib/asterisk/sounds/en/dictate/*.gsm
318 /var/lib/asterisk/sounds/en/followme/*.gsm
319 /var/lib/asterisk/sounds/en/letters/*.gsm
320 /var/lib/asterisk/sounds/en/phonetic/*.gsm
321 /var/lib/asterisk/sounds/en/silence/*.gsm
322 /var/lib/asterisk/static-http
323 %dir /var/spool/asterisk
324 %dir /var/spool/asterisk/monitor
325 #%%dir /var/spool/asterisk/vm
326 %dir /var/spool/asterisk/voicemail
327 %dir /var/spool/asterisk/voicemail/default
328 %dir /var/spool/asterisk/voicemail/default/1234
329 %dir /var/spool/asterisk/voicemail/default/1234/en
330 %dir /var/log/asterisk
331 %dir /var/log/asterisk/cdr-csv
332 %{_mandir}/man8/asterisk.8*
333 %{_mandir}/man8/astgenkey.8*
334 %{_mandir}/man8/autosupport.8*
335 %{_mandir}/man8/safe_asterisk.8*
336 %dir /var/lib/asterisk/firmware
337 %dir /var/lib/asterisk/firmware/iax
338 /var/lib/asterisk/firmware/iax/iaxy.bin
339
340 %files examples
341 %defattr(644,root,root,755)
342 %attr(755,root,root) /var/lib/asterisk/agi-bin/agi-test.agi
343 %attr(755,root,root) /var/lib/asterisk/agi-bin/eagi-sphinx-test
344 %attr(755,root,root) /var/lib/asterisk/agi-bin/eagi-test
345 %attr(755,root,root) /var/lib/asterisk/agi-bin/jukebox.agi
346 /var/spool/asterisk/voicemail/default/1234/en/busy.gsm
347 /var/spool/asterisk/voicemail/default/1234/en/unavail.gsm
348
349 #%dir /var/lib/asterisk/agi-bin/*
350
351 %files devel
352 %defattr(644,root,root,755)
353 %dir %{_includedir}/asterisk
354 %{_includedir}/asterisk/*.h
355 %{_includedir}/asterisk.h
This page took 0.145549 seconds and 3 git commands to generate.