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