]> git.pld-linux.org Git - packages/opensips.git/blob - opensips.spec
- release 3
[packages/opensips.git] / opensips.spec
1 #
2 # Conditional build:
3 %bcond_without  mysql           # mysql support
4 %bcond_without  pgsql           # PostgreSQL support
5 %bcond_without  odbc            # ODBC support
6 %bcond_without  radius          # radius support
7 %bcond_without  carrierroute    # carrierroute support
8 %bcond_without  ldap            # LDAP support
9 %bcond_with     osp             # ETSI OSP VoIP Peering support
10 %bcond_without  geoip           # GeoIP
11 %bcond_without  json            # json support
12 %bcond_without  memcached       # memcached support
13
14 Summary:        SIP proxy, redirect and registrar server
15 Summary(pl.UTF-8):      Serwer SIP rejestrujący, przekierowujący i robiący proxy
16 Name:           opensips
17 Version:        1.6.4
18 %define         _upstreamrel    2
19 Release:        3
20 License:        GPL v2
21 Group:          Networking/Daemons
22 Source0:        http://opensips.org/pub/opensips/%{version}/src/%{name}-%{version}-%{_upstreamrel}-tls_src.tar.gz
23 # Source0-md5:  e9869d9a726d70f83de4a1e77cd24d40
24 Source1:        %{name}.init
25 Source2:        %{name}.sysconfig
26 URL:            http://www.opensips.org/
27 %{?with_geoip:BuildRequires:    GeoIP-devel}
28 %{?with_osp:BuildRequires:      OSPToolkit}
29 BuildRequires:  bison
30 BuildRequires:  curl-devel
31 BuildRequires:  expat-devel
32 BuildRequires:  flex
33 %{?with_json:BuildRequires:     json-c-devel}
34 %{?with_carrierroute:BuildRequires:     libconfuse-devel}
35 %{?with_memcached:BuildRequires:        libmemcached-devel}
36 %{?with_pgsql:BuildRequires:    libpqxx-devel}
37 BuildRequires:  libxml2-devel
38 BuildRequires:  libxslt-progs
39 #BuildRequires: lynx
40 %{?with_mysql:BuildRequires:    mysql-devel}
41 BuildRequires:  net-snmp-devel
42 %{?with_ldap:BuildRequires:     openldap-devel}
43 BuildRequires:  openssl-devel
44 BuildRequires:  pcre-devel
45 BuildRequires:  perl-devel
46 BuildRequires:  perl-tools-devel
47 %{?with_radius:BuildRequires:   radiusclient-ng-devel}
48 BuildRequires:  rpm-pythonprov
49 BuildRequires:  rpmbuild(macros) >= 1.268
50 #BuildRequires: subversion
51 %{?with_odbc:BuildRequires:     unixODBC-devel}
52 BuildRequires:  which
53 #BuildRequires: xmlrpc-c-devel >= 1.10.0
54 BuildRequires:  zlib-devel
55 Requires(post,preun):   /sbin/chkconfig
56 Requires:       rc-scripts
57 Suggests:       python-modules
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 # mi_xmlrpc requires xmlrpc-c-devel in version 1.9 only
61 %define exclude_modules mi_xmlrpc db_oracle
62
63 %description
64 OpenSIPS (Open SIP Server) is a mature Open Source implementation of a
65 SIP server. OpenSIPS is more than a SIP proxy/router as it includes
66 application-level functionalities. OpenSIPS, as a SIP server, is the
67 core component of any SIP-based VoIP solution. With a very flexible
68 and customizable routing engine, OpenSIPS 'unifies voice, video, IM
69 and presence services in a highly efficient way, thanks to its
70 scalable (modular) design.
71
72 %package mysql
73 Summary:        openSIPS MySQL module
74 Summary(pl.UTF-8):      Moduł MySQL do openSIPS
75 Group:          Networking/Daemons
76 Requires:       %{name} = %{version}-%{release}
77
78 %description mysql
79 MySQL module for openSIPS.
80
81 %description mysql -l pl.UTF-8
82 Moduł MySQL do openSIPS.
83
84 %package postgres
85 Summary:        openSIPS PostgreSQL module
86 Summary(pl.UTF-8):      Moduł PostgreSQL do openSIPS
87 Group:          Networking/Daemons
88 Requires:       %{name} = %{version}-%{release}
89
90 %description postgres
91 PostgreSQL module for openSIPS.
92
93 %description postgres -l pl.UTF-8
94 Moduł PostgreSQL do openSIPS.
95
96 %package json
97 Summary:        openSIPS JSON module
98 Summary(pl.UTF-8):      Moduł JSON do openSIPS
99 Group:          Networking/Daemons
100 Requires:       %{name} = %{version}-%{release}
101
102 %description json
103 JSON module for openSIPS.
104
105 %description json -l pl.UTF-8
106 Moduł JSON do openSIPS.
107
108 %package memcached
109 Summary:        openSIPS memcached module
110 Summary(pl.UTF-8):      Moduł memcached do openSIPS
111 Group:          Networking/Daemons
112 Requires:       %{name} = %{version}-%{release}
113
114 %description memcached
115 Memcached module for openSIPS.
116
117 %description memcached -l pl.UTF-8
118 Moduł memcached do openSIPS.
119
120 %package radius
121 Summary:        openSIPS Radius module
122 Summary(pl.UTF-8):      Moduł Radius do openSIPS
123 Group:          Networking/Daemons
124 Requires:       %{name} = %{version}-%{release}
125
126 %description radius
127 Radius module for openSIPS.
128
129 %description radius -l pl.UTF-8
130 Moduł Radius do openSIPS.
131
132 %package odbc
133 Summary:        openSIPS ODBC module
134 Summary(pl.UTF-8):      Moduł ODBC do openSIPS
135 Group:          Networking/Daemons
136 Requires:       %{name} = %{version}-%{release}
137
138 %description odbc
139 ODBC module for openSIPS.
140
141 %description odbc -l pl.UTF-8
142 Moduł ODBC do openSIPS.
143
144 %package perl
145 Summary:        openSIPS perl and perlvdb modules
146 Summary(pl.UTF-8):      Moduły perl i perlvdb do openSIPS
147 Group:          Networking/Daemons
148 Requires:       %{name} = %{version}-%{release}
149
150 %description perl
151 Perl modules (perl & perlvdb) for openSIPS.
152
153 %description perl -l pl.UTF-8
154 Moduły perl i perlvdb do openSIPS.
155
156 %package xmpp
157 Summary:        openSIPS XMPP/Jabber modules
158 Summary(pl.UTF-8):      Moduły XMPP/Jabber do openSIPS
159 Group:          Networking/Daemons
160 Requires:       %{name} = %{version}-%{release}
161 Obsoletes:      opensips-jabber
162
163 %description xmpp
164 XMPP/Jabber modules for openSIPS.
165
166 %description xmpp -l pl.UTF-8
167 Moduły XMPP/Jabber do openSIPS.
168
169 %package ldap
170 Summary:        openSIPS LDAP and H350 modules
171 Summary(pl.UTF-8):      Moduły LDAP i H350 do openSIPS
172 Group:          Networking/Daemons
173 Requires:       %{name} = %{version}-%{release}
174
175 %description ldap
176 LDAP and H350 modules for openSIPS.
177
178 %description ldap -l pl.UTF-8
179 Moduły LDAP i H350 do openSIPS.
180
181 %package carrierroute
182 Summary:        openSIPS Carrierroute module
183 Summary(pl.UTF-8):      Moduł Carrierroute do openSIPS
184 Group:          Networking/Daemons
185 Requires:       %{name} = %{version}-%{release}
186
187 %description carrierroute
188 Carrierroute module for openSIPS.
189
190 %description carrierroute -l pl.UTF-8
191 Moduł Carrierroute do openSIPS.
192
193 %package osp
194 Summary:        openSIPS OSP module
195 Summary(pl.UTF-8):      Moduł OSP do openSIPS
196 Group:          Networking/Daemons
197 Requires:       %{name} = %{version}-%{release}
198
199 %description osp
200 OSP module for openSIPS.
201
202 %description osp -l pl.UTF-8
203 Moduł OSP do openSIPS.
204
205 %package mmgeoip
206 Summary:        openSIPS MaxMind GeoIP module
207 Summary(pl.UTF-8):      Moduł MaxMind GeoIP do openSIPS
208 Group:          Networking/Daemons
209 Requires:       %{name} = %{version}-%{release}
210
211 %description mmgeoip
212 MaxMind GeoIP module for openSIPS.
213
214 %description mmgeoip -l pl.UTF-8
215 Moduł MaxMind GeoIP do openSIPS.
216
217 %package snmpstats
218 Summary:        openSIPS SNMP statistics module
219 Summary(pl.UTF-8):      Moduł do statystyk SNMP do openSIPS
220 Group:          Networking/Daemons
221 Requires:       %{name} = %{version}-%{release}
222
223 %description snmpstats
224 openSIPS SNMP statistics module.
225
226 %description snmpstats -l pl.UTF-8
227 Moduł do statystyk SNMP do openSIPS.
228
229 %package -n mibs-%{name}
230 Summary:        MIBs for openSIPS
231 Summary(pl.UTF-8):      MIB-y dla openSIPS
232 Group:          Applications/System
233 Requires:       mibs-dirs
234 Requires:       mibs-net-snmp
235 Obsoletes:      opensips-mibs
236
237 %description -n mibs-%{name}
238 MIBs for openSIPS.
239
240 %description -n mibs-%{name} -l pl.UTF-8
241 MIB-y dla openSIPS.
242
243 %prep
244 %setup -q -n %{name}-%{version}-%{_upstreamrel}-tls
245
246 find -type d -name CVS | xargs rm -rf
247
248 %build
249 exclude_modules="%{exclude_modules}"
250 %if %{without ldap}
251 exclude_modules="$exclude_modules h350 ldap"
252 %endif
253 %if %{without carrierroute}
254 exclude_modules="$exclude_modules carrierroute"
255 %endif
256 %if %{without osp}
257 exclude_modules="$exclude_modules osp"
258 %endif
259 %if %{without mysql}
260 exclude_modules="$exclude_modules db_mysql"
261 %endif
262 %if %{without pgsql}
263 exclude_modules="$exclude_modules db_postgres"
264 %endif
265 %if %{without odbc}
266 exclude_modules="$exclude_modules db_unixodbc"
267 %endif
268 %if %{without geoip}
269 exclude_modules="$exclude_modules mmgeoip"
270 %endif
271 %if %{without radius}
272 exclude_modules="$exclude_modules aaa_radius"
273 %endif
274 %if %{without json}
275 exclude_modules="$exclude_modules json"
276 %endif
277 %if %{without memcached}
278 exclude_modules="$exclude_modules memcached"
279 %endif
280 echo "$exclude_modules" > exclude_modules
281 %{__make} all \
282         exclude_modules="$exclude_modules" \
283         prefix="%{_prefix}" \
284         cfg-prefix=$RPM_BUILD_ROOT \
285         cfg-target=/etc/opensips/ \
286         CC="%{__cc}" \
287         PREFIX="%{_prefix}" \
288         CFLAGS="%{rpmcflags} -Wcast-align -fPIC" \
289         TLS=1
290
291 %install
292 rm -rf $RPM_BUILD_ROOT
293 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{ser,sysconfig,rc.d/init.d}
294
295 exclude_modules="$(cat exclude_modules)"
296 %{__make} install \
297         exclude_modules="$exclude_modules" \
298         prefix="%{_prefix}" \
299         basedir=$RPM_BUILD_ROOT \
300         cfg-prefix=$RPM_BUILD_ROOT \
301         cfg-target=/etc/opensips/ \
302         INSTALLMIBDIR=$RPM_BUILD_ROOT%{_datadir}/mibs
303
304 for i in modules/*; do \
305         i=$(basename $i)
306         [ -f modules/$i/README ] && cp -f modules/$i/README README.$i; \
307 done
308
309 install -d $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
310 install $RPM_BUILD_ROOT%{_docdir}/%{name}/* \
311         $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
312 rm -rf  $RPM_BUILD_ROOT%{_docdir}/%{name}
313
314 #cd doc/serdev
315 #docbook2html serdev.sgml
316 #rm -f serdev.sgml
317 #cd ../seruser
318 #docbook2html seruser.sgml
319 #rm -f seruser.sgml
320 #cd ../..
321
322 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/opensips
323 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/opensips
324
325 %clean
326 rm -rf $RPM_BUILD_ROOT
327
328 %post
329 /sbin/chkconfig --add opensips
330 %service opensips restart "SIP Daemon"
331
332 %preun
333 if [ "$1" = "0" ]; then
334         %service opensips stop
335         /sbin/chkconfig --del opensips
336 fi
337
338 %files
339 %defattr(644,root,root,755)
340 %doc README* AUTHORS CREDITS ChangeLog INSTALL NEWS scripts examples
341 %attr(755,root,root) %{_sbindir}/*
342 %dir %{_sysconfdir}/opensips
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/opensips.cfg
344 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/opensipsctlrc
345 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/osipsconsolerc
346 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/opensips
347 %attr(754,root,root) /etc/rc.d/init.d/opensips
348 %dir %{_libdir}/opensips
349 %dir %{_libdir}/opensips/opensipsctl
350 %{_libdir}/opensips/opensipsctl/*.*
351 %dir %{_libdir}/opensips/opensipsctl/dbtextdb
352 %attr(755,root,root) %{_libdir}/opensips/opensipsctl/dbtextdb/dbtextdb.py
353 %dir %{_libdir}/opensips/modules
354 # explict list here, no globs please (to avoid mistakes)
355 %attr(755,root,root) %{_libdir}/opensips/modules/acc.so
356 %attr(755,root,root) %{_libdir}/opensips/modules/alias_db.so
357 %attr(755,root,root) %{_libdir}/opensips/modules/auth.so
358 %attr(755,root,root) %{_libdir}/opensips/modules/auth_aaa.so
359 %attr(755,root,root) %{_libdir}/opensips/modules/auth_db.so
360 %attr(755,root,root) %{_libdir}/opensips/modules/auth_diameter.so
361 %attr(755,root,root) %{_libdir}/opensips/modules/avpops.so
362 %attr(755,root,root) %{_libdir}/opensips/modules/b2b_entities.so
363 %attr(755,root,root) %{_libdir}/opensips/modules/b2b_logic.so
364 %attr(755,root,root) %{_libdir}/opensips/modules/benchmark.so
365 %attr(755,root,root) %{_libdir}/opensips/modules/call_control.so
366 %attr(755,root,root) %{_libdir}/opensips/modules/cfgutils.so
367 %attr(755,root,root) %{_libdir}/opensips/modules/closeddial.so
368 %attr(755,root,root) %{_libdir}/opensips/modules/cpl-c.so
369 %attr(755,root,root) %{_libdir}/opensips/modules/db_berkeley.so
370 %attr(755,root,root) %{_libdir}/opensips/modules/db_flatstore.so
371 %attr(755,root,root) %{_libdir}/opensips/modules/db_http.so
372 %attr(755,root,root) %{_libdir}/opensips/modules/db_text.so
373 %attr(755,root,root) %{_libdir}/opensips/modules/db_virtual.so
374 %attr(755,root,root) %{_libdir}/opensips/modules/dialog.so
375 %attr(755,root,root) %{_libdir}/opensips/modules/dialplan.so
376 %attr(755,root,root) %{_libdir}/opensips/modules/dispatcher.so
377 %attr(755,root,root) %{_libdir}/opensips/modules/diversion.so
378 %attr(755,root,root) %{_libdir}/opensips/modules/domain.so
379 %attr(755,root,root) %{_libdir}/opensips/modules/domainpolicy.so
380 %attr(755,root,root) %{_libdir}/opensips/modules/drouting.so
381 %attr(755,root,root) %{_libdir}/opensips/modules/enum.so
382 %attr(755,root,root) %{_libdir}/opensips/modules/exec.so
383 %attr(755,root,root) %{_libdir}/opensips/modules/gflags.so
384 %attr(755,root,root) %{_libdir}/opensips/modules/group.so
385 %attr(755,root,root) %{_libdir}/opensips/modules/identity.so
386 %attr(755,root,root) %{_libdir}/opensips/modules/imc.so
387 %attr(755,root,root) %{_libdir}/opensips/modules/lcr.so
388 %attr(755,root,root) %{_libdir}/opensips/modules/load_balancer.so
389 %attr(755,root,root) %{_libdir}/opensips/modules/localcache.so
390 %attr(755,root,root) %{_libdir}/opensips/modules/mangler.so
391 %attr(755,root,root) %{_libdir}/opensips/modules/maxfwd.so
392 %attr(755,root,root) %{_libdir}/opensips/modules/mediaproxy.so
393 %attr(755,root,root) %{_libdir}/opensips/modules/mi_datagram.so
394 %attr(755,root,root) %{_libdir}/opensips/modules/mi_fifo.so
395 %attr(755,root,root) %{_libdir}/opensips/modules/msilo.so
396 %attr(755,root,root) %{_libdir}/opensips/modules/nat_traversal.so
397 %attr(755,root,root) %{_libdir}/opensips/modules/nathelper.so
398 %attr(755,root,root) %{_libdir}/opensips/modules/options.so
399 %attr(755,root,root) %{_libdir}/opensips/modules/path.so
400 %attr(755,root,root) %{_libdir}/opensips/modules/pdt.so
401 %attr(755,root,root) %{_libdir}/opensips/modules/peering.so
402 %attr(755,root,root) %{_libdir}/opensips/modules/permissions.so
403 %attr(755,root,root) %{_libdir}/opensips/modules/pike.so
404 %attr(755,root,root) %{_libdir}/opensips/modules/presence.so
405 %attr(755,root,root) %{_libdir}/opensips/modules/presence_callinfo.so
406 %attr(755,root,root) %{_libdir}/opensips/modules/presence_dialoginfo.so
407 %attr(755,root,root) %{_libdir}/opensips/modules/presence_mwi.so
408 %attr(755,root,root) %{_libdir}/opensips/modules/presence_xcapdiff.so
409 %attr(755,root,root) %{_libdir}/opensips/modules/presence_xml.so
410 %attr(755,root,root) %{_libdir}/opensips/modules/pua.so
411 %attr(755,root,root) %{_libdir}/opensips/modules/pua_bla.so
412 %attr(755,root,root) %{_libdir}/opensips/modules/pua_dialoginfo.so
413 %attr(755,root,root) %{_libdir}/opensips/modules/pua_mi.so
414 %attr(755,root,root) %{_libdir}/opensips/modules/pua_usrloc.so
415 %attr(755,root,root) %{_libdir}/opensips/modules/qos.so
416 %attr(755,root,root) %{_libdir}/opensips/modules/ratelimit.so
417 %attr(755,root,root) %{_libdir}/opensips/modules/regex.so
418 %attr(755,root,root) %{_libdir}/opensips/modules/registrar.so
419 %attr(755,root,root) %{_libdir}/opensips/modules/rls.so
420 %attr(755,root,root) %{_libdir}/opensips/modules/rr.so
421 %attr(755,root,root) %{_libdir}/opensips/modules/seas.so
422 %attr(755,root,root) %{_libdir}/opensips/modules/signaling.so
423 %attr(755,root,root) %{_libdir}/opensips/modules/siptrace.so
424 %attr(755,root,root) %{_libdir}/opensips/modules/sl.so
425 %attr(755,root,root) %{_libdir}/opensips/modules/sms.so
426 %attr(755,root,root) %{_libdir}/opensips/modules/speeddial.so
427 %attr(755,root,root) %{_libdir}/opensips/modules/sst.so
428 %attr(755,root,root) %{_libdir}/opensips/modules/statistics.so
429 %attr(755,root,root) %{_libdir}/opensips/modules/stun.so
430 %attr(755,root,root) %{_libdir}/opensips/modules/textops.so
431 %attr(755,root,root) %{_libdir}/opensips/modules/tlsops.so
432 %attr(755,root,root) %{_libdir}/opensips/modules/tm.so
433 %attr(755,root,root) %{_libdir}/opensips/modules/uac.so
434 %attr(755,root,root) %{_libdir}/opensips/modules/uac_redirect.so
435 %attr(755,root,root) %{_libdir}/opensips/modules/uri.so
436 %attr(755,root,root) %{_libdir}/opensips/modules/userblacklist.so
437 %attr(755,root,root) %{_libdir}/opensips/modules/usrloc.so
438 %attr(755,root,root) %{_libdir}/opensips/modules/xcap_client.so
439 %dir %{_datadir}/%{name}
440 %{_datadir}/%{name}/db_berkeley
441 %{_datadir}/%{name}/dbtext
442 %{_mandir}/man*/*
443
444 %files xmpp
445 %defattr(644,root,root,755)
446 %attr(755,root,root) %{_libdir}/opensips/modules/jabber.so
447 %attr(755,root,root) %{_libdir}/opensips/modules/xmpp.so
448 %attr(755,root,root) %{_libdir}/opensips/modules/pua_xmpp.so
449
450 %if %{with mysql}
451 %files mysql
452 %defattr(644,root,root,755)
453 %attr(755,root,root) %{_libdir}/opensips/modules/db_mysql.so
454 %{_datadir}/%{name}/mysql
455 %endif
456
457 %if %{with pgsql}
458 %files postgres
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_libdir}/opensips/modules/db_postgres.so
461 %{_datadir}/%{name}/postgres
462 %endif
463
464 %if %{with json}
465 %files json
466 %defattr(644,root,root,755)
467 %attr(755,root,root) %{_libdir}/opensips/modules/json.so
468 %endif
469
470 %if %{with memcached}
471 %files memcached
472 %defattr(644,root,root,755)
473 %attr(755,root,root) %{_libdir}/opensips/modules/memcached.so
474 %endif
475
476 %if %{with radius}
477 %files radius
478 %defattr(644,root,root,755)
479 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opensips/dictionary.opensips
480 %attr(755,root,root) %{_libdir}/opensips/modules/aaa_radius.so
481 %endif
482
483 %if %{with odbc}
484 %files odbc
485 %defattr(644,root,root,755)
486 %attr(755,root,root) %{_libdir}/opensips/modules/db_unixodbc.so
487 %endif
488
489 %if %{with geoip}
490 %files mmgeoip
491 %defattr(644,root,root,755)
492 %attr(755,root,root) %{_libdir}/opensips/modules/mmgeoip.so
493 %endif
494
495 %if %{with ldap}
496 %files ldap
497 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_libdir}/opensips/modules/h350.so
499 %attr(755,root,root) %{_libdir}/opensips/modules/ldap.so
500 %endif
501
502 %if %{with carrierroute}
503 %files carrierroute
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_libdir}/opensips/modules/carrierroute.so
506 %endif
507
508 %if %{with osp}
509 %files osp
510 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/opensips/modules/osp.so
512 %endif
513
514 %files snmpstats
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_libdir}/opensips/modules/snmpstats.so
517
518 %files perl
519 %defattr(644,root,root,755)
520 %attr(755,root,root) %{_libdir}/opensips/modules/perl.so
521 %attr(755,root,root) %{_libdir}/opensips/modules/perlvdb.so
522
523 %files -n mibs-%{name}
524 %defattr(644,root,root,755)
525 %{_datadir}/mibs/*
This page took 0.221797 seconds and 3 git commands to generate.