File ser.spec of Package ser
%define EXCLUDED_MODULES mysql jabber auth_radius group_radius uri_radius postgres snmp cpl cpl-c extcmd
%define MYSQL_MODULES mysql
%define JABBER_MODULES jabber
%define RADIUS_MODULES auth_radius group_radius uri_radius
%define RADIUS_MOD_PATH modules/auth_radius modules/group_radius modules/uri_radius
%define prerelease pre8
Summary: SIP Express Router, very fast and flexible SIP Proxy
Name: ser
Version: 0.9.7
Release: 0
Packager: Peter Nixon <peter+rpmspam@suntel.com.tr>
License: GPL
Group: Productivity/Telephony/SIP/Servers
Source: %{name}-%{version}-%{prerelease}_src_2007-01-26.tar.bz2
Source2: ser.init.SuSE
%ifarch x86_64
Patch1: Makefile.defs.patch
%endif
Patch2: usrloc_R_X86_64_PC32.patch
URL: http://www.iptel.org/ser
Vendor: FhG Fokus
BuildRoot: /var/tmp/%{name}-%{version}-root
Conflicts: ser < %{version}, ser-mysql < %{version}, ser-jabber < %{version}, ser-radius < %{version}
BuildRequires: make flex bison
BuildRequires: expat
BuildRequires: mysql-devel
BuildRequires: radiusclient-ng-devel
%if 0%{?suse_version} > 1020
BuildRequires: libexpat-devel
%endif
%description
SIP Express Router (SER) is a very fast and flexible SIP (RFC3621)
proxy server. Written entirely in C, SER can handle thousands calls
per second even on low-budget hardware. A C Shell like scripting language
provides full control over the server's behaviour. It's modular
architecture allows only required functionality to be loaded.
Currently the following modules are available: digest authentication,
CPL scripts, instant messaging, MySQL support, a presence agent, radius
authentication, record routing, an SMS Gateway, a jabber gateway, a
transaction module, registrar and user location.
%package mysql
Summary: MySQL connectivity for the SIP Express Router.
Group: Productivity/Telephony/SIP/Servers
Requires: ser = %{version}
BuildPrereq: mysql-devel zlib-devel
%description mysql
The ser-mysql package contains MySQL database connectivity that you
need to use digest authentication module or persistent user location
entries.
%package jabber
Summary: sip jabber message translation support for the SIP Express Router.
Group: Productivity/Telephony/SIP/Servers
Requires: ser = %{version}
BuildPrereq: expat
%description jabber
The ser-jabber package contains a sip to jabber message translator.
%package radius
Summary: ser radius authentication, group and uri check modules.
Group: Productivity/Telephony/SIP/Servers
Requires: ser = %{version}
%description radius
The ser-radius package contains modules for radius authentication, group
membership and uri checking.
%prep
%setup -q -n %{name}-%{version}-%{prerelease}
%ifarch x86_64
%patch1
%endif
#%patch2
%build
export CFLAGS="$RPM_OPT_FLAGS -I/usr/include/pgsql -fPIC"
make all skip_modules="%EXCLUDED_MODULES" \
modules-dir=%_lib/%{name}/modules/ \
cfg-target=/%{_sysconfdir}/ser/
make modules modules="modules/%MYSQL_MODULES" \
modules-dir=%_lib/%{name}/modules/ \
cfg-target=/%{_sysconfdir}/ser/
make modules modules="modules/%JABBER_MODULES" \
modules-dir=%_lib/%{name}/modules/ \
cfg-target=/%{_sysconfdir}/ser/
make modules modules="%RADIUS_MOD_PATH" \
modules-dir=%_lib/%{name}/modules/ \
cfg-target=/%{_sysconfdir}/ser/
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
export CFLAGS="$RPM_OPT_FLAGS -I/usr/include/pgsql -fPIC"
make install skip_modules="%EXCLUDED_MODULES" \
basedir=$RPM_BUILD_ROOT \
prefix=/usr \
modules-dir=%_lib/%{name}/modules/ \
cfg-prefix=$RPM_BUILD_ROOT \
cfg-target=/%{_sysconfdir}/ser/ \
doc-prefix=$RPM_BUILD_ROOT \
doc-dir=/%{_docdir}/ser/
make install-modules modules="modules/%MYSQL_MODULES" \
basedir=$RPM_BUILD_ROOT \
prefix=/usr \
modules-dir=%_lib/%{name}/modules/ \
cfg-prefix=$RPM_BUILD_ROOT \
cfg-target=/%{_sysconfdir}/ser/ \
doc-prefix=$RPM_BUILD_ROOT \
doc-dir=/%{_docdir}/ser/
make install-modules modules="modules/%JABBER_MODULES" \
basedir=$RPM_BUILD_ROOT \
prefix=/usr \
modules-dir=%_lib/%{name}/modules/ \
cfg-prefix=$RPM_BUILD_ROOT \
cfg-target=/%{_sysconfdir}/ser/ \
doc-prefix=$RPM_BUILD_ROOT \
doc-dir=/%{_docdir}/ser/
make install-modules modules="%RADIUS_MOD_PATH" \
basedir=$RPM_BUILD_ROOT \
prefix=/usr \
modules-dir=%_lib/%{name}/modules/ \
cfg-prefix=$RPM_BUILD_ROOT \
cfg-target=/%{_sysconfdir}/ser/ \
doc-prefix=$RPM_BUILD_ROOT \
doc-dir=/%{_docdir}/ser/
make install-doc modules="modules/%JABBER_MODULES %RADIUS_MOD_PATH" \
basedir=$RPM_BUILD_ROOT \
prefix=/usr \
modules-dir=%_lib/%{name}/modules/ \
doc-prefix=$RPM_BUILD_ROOT \
doc-dir=/%{_docdir}/ser/
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/init.d
install -m755 $RPM_SOURCE_DIR/ser.init.SuSE \
$RPM_BUILD_ROOT/%{_sysconfdir}/init.d/ser
ln -sf ../../etc/init.d/ser $RPM_BUILD_ROOT/usr/sbin/rcser
%clean
rm -rf "$RPM_BUILD_ROOT"
%post
sbin/insserv etc/init.d/ser
%preun
if [ $1 = 0 ]; then
etc/init.d/ser stop > /dev/null 2>&1
fi
%postun
sbin/insserv etc/init.d/
%files
%defattr(-,root,root)
%dir %{_docdir}/ser
%doc %{_docdir}/ser/*
%dir %{_sysconfdir}/ser
%config(noreplace) %{_sysconfdir}/ser/*
%config %{_sysconfdir}/init.d/*
%dir %{_libdir}/ser
%dir %{_libdir}/ser/modules
%{_libdir}/ser/modules/acc.so
%{_libdir}/ser/modules/auth.so
%{_libdir}/ser/modules/auth_db.so
%{_libdir}/ser/modules/auth_diameter.so
%{_libdir}/ser/modules/dbtext.so
%{_libdir}/ser/modules/domain.so
%{_libdir}/ser/modules/enum.so
%{_libdir}/ser/modules/exec.so
%{_libdir}/ser/modules/group.so
%{_libdir}/ser/modules/mangler.so
%{_libdir}/ser/modules/maxfwd.so
%{_libdir}/ser/modules/mediaproxy.so
%{_libdir}/ser/modules/msilo.so
%{_libdir}/ser/modules/nathelper.so
%{_libdir}/ser/modules/pdt.so
%{_libdir}/ser/modules/permissions.so
%{_libdir}/ser/modules/pike.so
%{_libdir}/ser/modules/print.so
%{_libdir}/ser/modules/registrar.so
%{_libdir}/ser/modules/rr.so
%{_libdir}/ser/modules/sl.so
%{_libdir}/ser/modules/sms.so
%{_libdir}/ser/modules/textops.so
%{_libdir}/ser/modules/tm.so
%{_libdir}/ser/modules/uri.so
%{_libdir}/ser/modules/usrloc.so
%{_libdir}/ser/modules/xlog.so
%{_libdir}/ser/modules/avp.so
%{_libdir}/ser/modules/avp_db.so
%{_libdir}/ser/modules/avpops.so
%{_libdir}/ser/modules/dispatcher.so
%{_libdir}/ser/modules/diversion.so
%{_libdir}/ser/modules/flatstore.so
%{_libdir}/ser/modules/gflags.so
%{_libdir}/ser/modules/options.so
%{_libdir}/ser/modules/speeddial.so
%{_libdir}/ser/modules/uri_db.so
%{_sbindir}/ser
%{_sbindir}/serctl
%{_sbindir}/serunix
%{_sbindir}/gen_ha1
/usr/sbin/rcser
%{_mandir}/man5/*
%{_mandir}/man8/*
%files mysql
%defattr(-,root,root)
%{_libdir}/ser/modules/mysql.so
%{_sbindir}/ser_mysql.sh
%files jabber
%defattr(-,root,root)
%{_libdir}/ser/modules/jabber.so
%doc %{_docdir}/ser/README.jabber
%files radius
%defattr(-,root,root)
%{_libdir}/ser/modules/auth_radius.so
%{_libdir}/ser/modules/group_radius.so
%{_libdir}/ser/modules/uri_radius.so
%doc %{_docdir}/ser/README.auth_radius
%doc %{_docdir}/ser/README.group_radius
%doc %{_docdir}/ser/README.uri_radius
%changelog
* Wed Sep 26 2007 Peter Nixon
- Update package to 0.9.7-pre8
- add libexpat-devel builddep for openSUSE 10.3
* Tue Jul 26 2005 Peter Nixon
- include SUSE version in the rpm filename(s)
- changed version to 0.9.3 (new upstream release)
- update rpm package group to match SUSE 9.3
- removed files no longer in tarball
- enabled radius modules
- add symlink for rcser
* Tue Jul 27 2004 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.fraunhofer.de>
- changed vesion to 0.8.14 (new upstream release)
- added ext to the modules list, removed the radius modules (they depend on radiusclient-ng now)
* Fri Nov 14 2003 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.fraunhofer.de>
- changed vesion to 0.8.12 (new upstream release)
- added auth_diameter, pdt & mangler to the modules list
* Wed Aug 28 2003 Nils Ohlmeier <nils@iptel.org>
- replaced modules Conflicts with required Ser version
- fixed doc installation for SuSE pathes
- added doc for jabber and radius
* Wed Aug 28 2003 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.fraunhofer.de>
- added doc (READMEs, NEWS, AUTHORS a.s.o)
- added xlog to the modules list
* Wed Aug 27 2003 Nils Ohlmeier <nils@iptel.org>
- fixed module dependencys
- added Conflicts for modules
* Wed Aug 27 2003 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.fraunhofer.de>
- changed vesion to 0.8.11
- gen_ha1 is now left in _sbindir
- removed harv_ser.sh
- added Conflicts
* Mon Jun 2 2003 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.fraunhofer.de>
- added a separate rpm for the radius modules
- updated to the new makefile variables (removed lots of unnecessary stuff)
* Tue Nov 12 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- replaced expat-devel with expat
- removed leading + from a few lines
* Tue Nov 12 2002 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.gmd.de>
- added a separate rpm for the jabber modules
- moved all the binaries to sbin
- removed obsolete installs (make install installs everything now)
* Mon Oct 28 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- Added mysql and mysql-devel to the Req for the ser-mysql rpm.
* Thu Sep 26 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- Added library path to mysql/Makefile to build on SuSE 8.0
* Thu Sep 26 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- Added 'make [modules|modules-install]' to adapted Makefile changes
* Wed Sep 25 2002 Andrei Pelinescu - Onciul <pelinescu-onciul@fokus.gmd.de>
- modified make install & make: added cfg-target & modules-target
* Wed Sep 25 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- Copyed mysql connectivity subpackage from orig rpm.spec.
* Fri Sep 06 2002 Nils Ohlmeier <ohlmeier@fokus.fhg.de>
- Adaptation to SuSE.
* Mon Sep 02 2002 Jan Janak <J.Janak@sh.cvut.cz>
- gen_ha1 utility added, scripts added.
* Tue Aug 28 2002 Jan Janak <J.Janak@sh.cvut.cz>
- Finished the first version of the spec file.
* Sun Aug 12 2002 Jan Janak <J.Janak@sh.cvut.cz>
- First version of the spec file.