OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 09-Oct-2005 21:27:05 Branch: HEAD Handle: 2005100920270500 Added files: openpkg-src/openser fsl.openser openser.cfg openser.patch openser.schema-dbtext.txt openser.spec rc.openser Log: new package: openser 0.9.5 (Open SIP Express Router) Summary: Revision Changes Path 1.1 +16 -0 openpkg-src/openser/fsl.openser 1.1 +58 -0 openpkg-src/openser/openser.cfg 1.1 +12 -0 openpkg-src/openser/openser.patch 1.1 +8 -0 openpkg-src/openser/openser.schema-dbtext.txt 1.1 +205 -0 openpkg-src/openser/openser.spec 1.1 +57 -0 openpkg-src/openser/rc.openser ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/openser/fsl.openser ============================================================================ $ cvs diff -u -r0 -r1.1 fsl.openser --- /dev/null 2005-10-09 21:26:46 +0200 +++ fsl.openser 2005-10-09 21:27:05 +0200 @@ -0,0 +1,16 @@ +## +## fsl.openser -- OSSP fsl configuration +## + +ident .*(openser)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/openser/openser.log", + perm=0664 + ) + } +}; + @@ . patch -p0 <<'@@ .' Index: openpkg-src/openser/openser.cfg ============================================================================ $ cvs diff -u -r0 -r1.1 openser.cfg --- /dev/null 2005-10-09 21:26:46 +0200 +++ openser.cfg 2005-10-09 21:27:05 +0200 @@ -0,0 +1,58 @@ +## +## openser.cfg -- OpenSER server configuration +## + +# +# GLOBAL CONFIGURATION PARAMETERS +# + +# process configuration +debug=1 +log_stderror=no +fork=yes +check_via=no +dns=no +rev_dns=no +children=4 +user="@l_rusr@" +group="@l_rgrp@" +fifo="@l_prefix@/var/openser/openser.fifo" +workdir="@l_prefix@/var/openser" + +# network configuration +alias="example.com" +listen="127.0.0.1" +port=5060 + +# +# EXTENSION MODULE LOADING +# + +loadmodule "@l_prefix@/lib/openser/modules/dbtext.so" +loadmodule "@l_prefix@/lib/openser/modules/sl.so" +loadmodule "@l_prefix@/lib/openser/modules/tm.so" +loadmodule "@l_prefix@/lib/openser/modules/rr.so" +loadmodule "@l_prefix@/lib/openser/modules/maxfwd.so" +loadmodule "@l_prefix@/lib/openser/modules/usrloc.so" +loadmodule "@l_prefix@/lib/openser/modules/registrar.so" +loadmodule "@l_prefix@/lib/openser/modules/textops.so" +loadmodule "@l_prefix@/lib/openser/modules/auth.so" +loadmodule "@l_prefix@/lib/openser/modules/auth_db.so" + +# +# EXTENSION MODULE CONFIGURATION +# + +# module usrloc: +modparam("usrloc", "db_mode", 2) +modparam("usrloc|auth_db", "db_url", "dbtext://@l_prefix@/var/openser/db") + +# module auth: +modparam("auth_db", "calculate_ha1", 1) +modparam("auth_db", "password_column", "password") +modparam("auth_db", "user_column", "username") +modparam("auth_db", "domain_column", "domain") + +# module rr: +modparam("rr", "enable_full_lr", 1) + @@ . patch -p0 <<'@@ .' Index: openpkg-src/openser/openser.patch ============================================================================ $ cvs diff -u -r0 -r1.1 openser.patch --- /dev/null 2005-10-09 21:26:46 +0200 +++ openser.patch 2005-10-09 21:27:05 +0200 @@ -0,0 +1,12 @@ +Index: Makefile.defs +--- Makefile.defs.orig 2005-07-01 14:13:43 +0200 ++++ Makefile.defs 2005-10-09 18:37:26 +0200 +@@ -982,6 +982,8 @@ + found_lock_method=yes + endif + ++LDFLAGS += -L$(prefix)/lib ++LIBS += -lfsl + + + @@ . patch -p0 <<'@@ .' Index: openpkg-src/openser/openser.schema-dbtext.txt ============================================================================ $ cvs diff -u -r0 -r1.1 openser.schema-dbtext.txt --- /dev/null 2005-10-09 21:26:46 +0200 +++ openser.schema-dbtext.txt 2005-10-09 21:27:05 +0200 @@ -0,0 +1,8 @@ +subscriber: username(str) domn(str) password(str) first_name(str) last_name(str) phone(str) email_address(str) datetime_created(int) datetime_modified(int) confirmation(str) flag(str) sendnotification(str) greeting(str) ha1(str) ha1b(str) perms(str) allow_find(str) timezone(str,null) rpid(str,null) uuid(str,null) +subscriber: admin:default:admin:Initial:Admin:123:[EMAIL PROTECTED]::::::::::::: +location: username(str) domain(str,null) contact(str,null) expires(int,null) q(double,null) callid(str,null) cseq(int,null) last_modified(str) replicate(int,null) state(int,null) flags(int) user_agent(str) received(str) +aliases: username(str) domain(str,null) contact(str,null) expires(int,null) q(double,null) callid(str,null) cseq(int,null) last_modified(str) replicate(int,null) state(int,null) flags(int) user_agent(str) received(str) +version: table_name(str) table_version(int) +version: subscriber:3 +version: location:6 +version: aliases:6 @@ . patch -p0 <<'@@ .' Index: openpkg-src/openser/openser.spec ============================================================================ $ cvs diff -u -r0 -r1.1 openser.spec --- /dev/null 2005-10-09 21:26:46 +0200 +++ openser.spec 2005-10-09 21:27:05 +0200 @@ -0,0 +1,205 @@ +## +## openser.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/> +## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/> +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: openser +Summary: Open SIP Express Router +URL: http://openser.org/ +Vendor: FhG FOKUS +Packager: OpenPKG +Distribution: OpenPKG +Class: EVAL +Group: Network +License: GPL +Version: 0.9.5 +Release: 20051009 + +# package options +%option with_fsl yes + +# list of sources +Source0: http://openser.org/pub/openser/%{version}/src/openser-%{version}_src.tar.gz +Source1: rc.openser +Source2: fsl.openser +Source3: openser.cfg +Source4: openser.schema-dbtext.txt +Patch0: openser.patch + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20040130, make, gcc, flex, bison +PreReq: OpenPKG, openpkg >= 20040130 +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl >= 1.2.0 +PreReq: fsl >= 1.2.0 +%endif +AutoReq: no +AutoReqProv: no + +%description + OpenSER is a project spawned from FhG FOKUS SIP Express Router + (SER). It provides SIP (RFC3621) registrar, proxy and routing + functionality. 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. + +%track + prog openser = { + version = %{version} + url = http://openser.org/pub/openser/ + regex = (\d+\.\d+\.\d+)/ + url = http://openser.org/pub/openser/__NEWVER__/src/ + regex = openser-(__VER__)_src\.tar\.gz + } + +%prep + %setup -q + %patch -p0 + +%build + # build dependencies + %{l_make} %{l_mflags} \ + CC="%{l_cc}" \ + prefix=%{l_prefix} \ + dep >/dev/null 2>&1 || true + + # build program + %{l_make} %{l_mflags} \ + CC="%{l_cc}" \ + prefix=%{l_prefix} + + # build modules + %{l_make} %{l_mflags} \ + CC="%{l_cc}" \ + prefix=%{l_prefix} \ + modules \ + skip_modules="mysql jabber" + +%install + rm -rf $RPM_BUILD_ROOT + + # install program + %{l_make} %{l_mflags} \ + basedir=$RPM_BUILD_ROOT \ + prefix=%{l_prefix} \ + cfg-prefix=$RPM_BUILD_ROOT \ + cfg-target=%{l_prefix}/etc/openser/ \ + doc-dir=share/openser/doc/ \ + man-dir=man/ \ + install + + # install modules + %{l_make} %{l_mflags} \ + basedir=$RPM_BUILD_ROOT \ + prefix=%{l_prefix} \ + cfg-prefix=$RPM_BUILD_ROOT \ + cfg-target=%{l_prefix}/etc/openser/ \ + doc-dir=share/openser/doc/ \ + man-dir=man/ \ + install-modules \ + skip_modules="mysql jabber" + + # strip down installation + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + rm -f $RPM_BUILD_ROOT%{l_prefix}/sbin/openser_mysql.sh + + # post-adjust installation + %{l_shtool} subst \ + -e 's;/etc/ser/.openserctlrc;%{l_prefix}/etc/openser/openserctlrc;g' \ + -e 's;\(PID_FILE\)=.*;\1=%{l_prefix}/var/openser/openser.pid;' \ + -e 's;\(SER_FIFO\)=.*;\1=%{l_prefix}/var/openser/openser.fifo;' \ + $RPM_BUILD_ROOT%{l_prefix}/sbin/openserctl + + # install default configuration + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/openser + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE openser.cfg} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/openser/ + + # install OSSP fsl configuration + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE fsl.openser} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.openser} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # create database directory and install database schema definitions + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/var/openser + %{l_shtool} install -c -m 644 \ + %{SOURCE openser.schema-dbtext.txt} \ + $RPM_BUILD_ROOT%{l_prefix}/share/openser/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%not %dir %{l_prefix}/etc/fsl' \ + '%config %{l_prefix}/etc/fsl/*' \ + '%config %{l_prefix}/etc/openser/*' \ + '%doc %{l_prefix}/share/openser/doc/*' \ + '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/openser' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + +%post + # on install, setup database + if [ ! -d $RPM_INSTALL_PREFIX/var/openser/db ]; then + mkdir $RPM_INSTALL_PREFIX/var/openser/db + chown %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/openser/db + chmod 755 $RPM_INSTALL_PREFIX/var/openser/db + schema="$RPM_INSTALL_PREFIX/share/openser/openser.schema-dbtext.txt" + for table in `sed -e 's;\([^:]*\):.*;\1;' <$schema | sort -u`; do + grep "^${table}:" $schema | sed -e "s;^${table}: *;;" \ + >$RPM_INSTALL_PREFIX/var/openser/db/$table + done + chown %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/openser/db/* 2>/dev/null || true + chmod 644 $RPM_INSTALL_PREFIX/var/openser/db/* 2>/dev/null || true + fi + + # after upgrade, restart service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} openser status 2>/dev/null` + [ ".$openser_active" = .yes ] && %{l_rc} openser restart + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} openser stop 2>/dev/null + rm -rf $RPM_INSTALL_PREFIX/var/openser/db 2>/dev/null || true + rm -f $RPM_INSTALL_PREFIX/var/openser/* 2>/dev/null || true + exit 0 + @@ . patch -p0 <<'@@ .' Index: openpkg-src/openser/rc.openser ============================================================================ $ cvs diff -u -r0 -r1.1 rc.openser --- /dev/null 2005-10-09 21:26:46 +0200 +++ rc.openser 2005-10-09 21:27:05 +0200 @@ -0,0 +1,57 @@ [EMAIL PROTECTED]@/lib/openpkg/bash @l_prefix@/etc/rc +## +## rc.openser -- Run-Commands +## + +%config + openser_enable="$openpkg_rc_def" + openser_flags="" + openser_log_prolog="true" + openser_log_epilog="true" + openser_log_numfiles="10" + openser_log_minsize="1M" + openser_log_complevel="9" + +%common + openser_pidfile="@l_prefix@/var/openser/openser.pid" + +%status -u @l_susr@ -o + openser_usable="no" + openser_active="no" + if [ "[EMAIL PROTECTED]@/sbin/openser -c 2>/dev/null | grep 'config file ok'`" != . ]; then + openser_usable="yes" + fi + if @l_prefix@/sbin/openserctl ps >/dev/null 2>&1; then + openser_active="yes" + fi + echo "openser_enable=\"$openser_enable\"" + echo "openser_usable=\"$openser_usable\"" + echo "openser_active=\"$openser_active\"" + +%start -p 100 -u @l_susr@ + rcService openser enable yes || exit 0 + rcService openser active yes && exit 0 + @l_prefix@/sbin/openser \ + -P $openser_pidfile \ + ${openser_flags} + +%stop -p 900 -u @l_susr@ + rcService openser enable yes || exit 0 + rcService openser active no && exit 0 + @l_prefix@/sbin/openserctl stop + sleep 2 + +%restart -p 100 -u @l_susr@ + rcService openser enable yes || exit 0 + rcService openser active no && exit 0 + rc openser stop start + +%daily -u @l_susr@ + rcService openser enable yes || exit 0 + shtool rotate -f \ + -n ${openser_log_numfiles} -s ${openser_log_minsize} -d \ + -z ${openser_log_complevel} -m 644 -o @l_rusr@ -g @l_rgrp@ \ + -P "${openser_log_prolog}" \ + -E "${openser_log_epilog}; rc openser reload" \ + @l_prefix@/var/openser/openser.log + @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org