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 [email protected]