206 lines
6.3 KiB
RPMSpec
206 lines
6.3 KiB
RPMSpec
%define special_modules mysql jabber cpl-c postgres pa
|
|
%define serweb_version 0.9.4
|
|
|
|
Summary: SIP Express Router
|
|
Name: ser
|
|
Version: 0.9.6
|
|
Release: 2%{?dist}
|
|
License: GPL
|
|
Group: System Environment/Daemons
|
|
Source0: http://ftp.iptel.org/pub/ser/latest/src/ser-%{version}_src.tar.gz
|
|
Source1: ftp://ftp.berlios.de/pub/ser/latest/contrib/serweb-%{serweb_version}.tar.gz
|
|
Source2: serweb.conf
|
|
Source3: ser.init
|
|
Patch0: serweb-path.patch
|
|
URL: http://www.iptel.org/ser/
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
BuildRequires: expat-devel, libxml2-devel, mysql-devel, postgresql-devel
|
|
Requires(post): /sbin/chkconfig
|
|
Requires(preun): /sbin/chkconfig
|
|
Requires(preun): /sbin/service
|
|
|
|
%description
|
|
A high-performance, configurable SIP server. It can act as registrar, proxy
|
|
or redirect server. It features an application-server interface, presence
|
|
support, SMS gateway, SIMPLE2Jabber gateway, RADIUS/syslog accounting and
|
|
authorization, server status monitoring, FCP security, etc.
|
|
|
|
%package mysql
|
|
Summary: MySQL Storage Support for the SIP Express Router
|
|
Group: System Environment/Daemons
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description mysql
|
|
The %{name}-mysql package contains the MySQL plugin for %{name}, which allows
|
|
a MySQL-Database to be used for persistent storage.
|
|
|
|
%package postgresql
|
|
Summary: PostgreSQL Storage Support for the SIP Express Router
|
|
Group: System Environment/Daemons
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description postgresql
|
|
The %{name}-postgresql package contains the PostgreSQL plugin for %{name}, which allows
|
|
a PostgreSQL-Database to be used for persistent storage.
|
|
|
|
%package serweb
|
|
Summary: Web interface for ser user self-provisioning and administration
|
|
Group: System Environment/Daemons
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: httpd, mysql >= 4.0, php >= 4.3, php-mysql
|
|
|
|
%description serweb
|
|
SERWEB is web toolbox for SIP Express Router (ser). It can be used for:
|
|
|
|
* registering new users
|
|
* managing user's accounts
|
|
* finding new friends
|
|
* viewing missed calls
|
|
* viewing realized calls
|
|
* sending instant messages
|
|
* subscribing notifications
|
|
* viewing stored instant and voicemail messages
|
|
* server monitoring
|
|
|
|
%prep
|
|
%setup -q
|
|
%setup -q -a 1
|
|
%patch0 -p1 -b .path
|
|
|
|
# Enable SQL support for the acc module
|
|
sed -i -e 's/#DEFS+=-DSQL_ACC/DEFS+=-DSQL_ACC/' modules/acc/Makefile
|
|
|
|
# Remove unnecessary .cvsignores
|
|
find -name '.cvsignore' -exec rm -f {} \;
|
|
|
|
|
|
%build
|
|
%{__make} all skip_modules="%{special_modules}" cfg-target=%{_sysconfdir}/ser/
|
|
|
|
for MOD in %{special_modules}; do
|
|
%{__make} modules modules="modules/$MOD" cfg-target=%{_sysconfdir}/ser/
|
|
done
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%{__make} install skip_modules="%{special_modules}" basedir=%{buildroot} prefix=%{_prefix} cfg-prefix=%{buildroot}
|
|
|
|
for MOD in %{special_modules}; do
|
|
%{__make} install-modules-all modules="modules/$MOD" basedir=%{buildroot} prefix=%{_prefix} cfg-prefix=%{buildroot}
|
|
done
|
|
|
|
# postgres extras
|
|
sed -i -e 's@#!/usr/local/bin/perl@#!/usr/bin/perl@' modules/postgres/copy_to_psql
|
|
install -D -m 755 modules/postgres/serpgctl %{buildroot}%{_sbindir}/serpgctl
|
|
|
|
# Initscript
|
|
install -D -m 755 %{SOURCE3} %{buildroot}%{_initrddir}/ser
|
|
|
|
# Remove docs incorrectly installed by make install
|
|
rm -rf %{buildroot}%{_docdir}/ser
|
|
|
|
# Generate docs
|
|
for file in `find modules -iname README`; do
|
|
ext=$(echo $file|cut -d / -f 2)
|
|
cp $file README.$ext
|
|
done
|
|
|
|
# Copy docs
|
|
cp -r modules/permissions/config permissions.config
|
|
cp -r modules/mediaproxy/config mediaproxy.config
|
|
cp -r modules/nathelper/examples nathelper.config
|
|
cp -r modules/acc/etc acc.config
|
|
if [ ! -d Jabber ]; then
|
|
mkdir Jabber
|
|
fi
|
|
cp -f modules/jabber/doc/faq.txt Jabber/faq.txt
|
|
cp -f modules/jabber/doc/gateways.txt Jabber/gateways.txt
|
|
cp -f modules/jabber/doc/regjab.pl Jabber/regjab.pl
|
|
cp -f modules/jabber/doc/xxjab.* Jabber/
|
|
cp -f modules/jabber/doc/web/* Jabber/
|
|
find Jabber -type f -exec chmod -x {} \;
|
|
|
|
# Fix more permissions
|
|
chmod -x modules/postgres/copy_to_psql
|
|
|
|
### Build filelist
|
|
# Add modules
|
|
find %{buildroot}%{_libdir}/ser/modules/ -name *.so | \
|
|
grep -v -E '(mysql|postgres)' | \
|
|
sed -e "s#^%{buildroot}##" > filelist
|
|
|
|
# Add documentation
|
|
ls README.* | grep -v -E '(mysql|postgres)' | sed -e 's/\(.*\)/%doc \1/' >> filelist
|
|
|
|
# serweb configuration
|
|
mkdir -p %{buildroot}%{_datadir}/serweb
|
|
mkdir -p %{buildroot}%{_sysconfdir}/ser/serweb
|
|
find serweb-%{serweb_version} -name '.cvsignore' -exec rm -f {} \;
|
|
for file in application_layer data_layer html lang phplib scripts smarty templates; do
|
|
cp -rP serweb-%{serweb_version}/$file %{buildroot}%{_datadir}/serweb/
|
|
done
|
|
cp -rP serweb-%{serweb_version}/config/* %{buildroot}%{_sysconfdir}/ser/serweb/
|
|
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/httpd/conf.d/serweb.conf
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%post
|
|
/sbin/chkconfig --add ser
|
|
|
|
%preun
|
|
if [ $1 = 0 ]; then
|
|
/sbin/service ser stop >/dev/null 2>&1
|
|
/sbin/chkconfig --del ser
|
|
fi
|
|
|
|
%postun
|
|
if [ "$1" -ge "1" ]; then
|
|
/sbin/service ser condrestart >/dev/null 2>&1
|
|
fi
|
|
|
|
%files -f filelist
|
|
%defattr(-,root,root,-)
|
|
%doc README README-MODULES INSTALL NEWS AUTHORS COPYING CREDITS Jabber permissions.config mediaproxy.config
|
|
%doc nathelper.config acc.config examples
|
|
%{_sbindir}/gen_ha1
|
|
%{_sbindir}/ser
|
|
%{_sbindir}/serunix
|
|
%{_sbindir}/serctl
|
|
%dir %{_libdir}/ser/
|
|
%dir %{_libdir}/ser/modules/
|
|
%dir %{_sysconfdir}/ser
|
|
%config(noreplace) %{_sysconfdir}/ser/dictionary.ser
|
|
%config(noreplace) %{_sysconfdir}/ser/ser.cfg
|
|
%{_initrddir}/ser
|
|
%{_mandir}/man5/ser.cfg.5*
|
|
%{_mandir}/man8/ser.8*
|
|
|
|
%files mysql
|
|
%defattr(-,root,root,-)
|
|
%doc modules/mysql/doc/mysql_parser.dia
|
|
%{_libdir}/ser/modules/mysql.so
|
|
%{_sbindir}/ser_mysql.sh
|
|
|
|
%files postgresql
|
|
%doc README.postgres modules/postgres/copy_to_psql
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/ser/modules/postgres.so
|
|
%{_sbindir}/serpgctl
|
|
|
|
%files serweb
|
|
%defattr(-,root,root,-)
|
|
%doc serweb-%{serweb_version}/README serweb-%{serweb_version}/INSTALL serweb-%{serweb_version}/COPYING serweb-%{serweb_version}/CHANGELOG
|
|
%dir %{_datadir}/serweb
|
|
%{_datadir}/serweb/*
|
|
%dir %{_sysconfdir}/ser/serweb
|
|
%config(noreplace) %{_sysconfdir}/ser/serweb/*.php
|
|
%config(noreplace) %{_sysconfdir}/httpd/conf.d/serweb.conf
|
|
|
|
%changelog
|
|
* Tue Mar 28 2006 Andreas Thienemann <andreas@bawue.net> 0.9.6-2
|
|
- Changes to the spec-file, to conform to FE policies.
|
|
|
|
* Fri Feb 18 2006 Andreas Thienemann <andreas@bawue.net> 0.9.6-1
|
|
- Initial spec.
|