include $(TOPDIR)/rules.mk
PKG_NAME:=ser
-PKG_VERSION:=0.9.0
+PKG_VERSION:=0.8.14
PKG_RELEASE:=1
-PKG_MD5SUM:=ae1f9b237f0006785ff22eafa1470ac4
+PKG_MD5SUM:=3e2e12c8dfbd7dad9199304093de0838
PKG_SOURCE_URL:=ftp://ftp.berlios.de/pub/ser/$(PKG_VERSION)/src
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)_src.tar.gz
$(PKG_BUILD_DIR)/$(PKG_NAME): $(PKG_BUILD_DIR)/.patched
$(MAKE) -C $(PKG_BUILD_DIR) \
+ extra_defs="-DUSE_PTHREAD_MUTEX " \
CC="$(TARGET_CC)" \
ARCH="$(ARCH)" \
COPTS="$(TARGET_CFLAGS)" \
- modules="$(SER_MODULES)" \
modules all
$(PKG_IPK): $(PKG_BUILD_DIR)/$(PKG_NAME)
--- /dev/null
+--- ser-0.8.14.orig/scripts/sc 2004-07-27 11:41:40.000000000 +0200
++++ ser-0.8.14/scripts/sc 2005-02-07 23:10:30.000000000 +0100
+@@ -19,7 +19,7 @@
+ # configuration for starting/stopping ser
+ PID_FILE=/var/run/ser.pid
+ SYSLOG=1 # 0=output to console, 1=output to syslog
+-STARTOPTIONS= # for example -dddd
++STARTOPTIONS="-m 5"
+
+ # ser's FIFO server
+ if [ -z "$SER_FIFO" ]; then
+@@ -338,11 +338,7 @@
+ if [ $# -eq 2 ] ; then
+ fifo_cmd ul_show_contact $UL_TABLE $2
+ elif [ $# -eq 1 ] ; then
+- printf "Dumping all contacts may take long: are you sure you want to proceed? [Y|N] "
+- read answer
+- if [ "$answer" = "y" -o "$answer" = "Y" ] ; then
+- fifo_cmd ul_dump
+- fi
++ fifo_cmd ul_dump
+ else
+ echo "wrong number of params for usrloc show"
+ usage
+@@ -590,7 +586,7 @@
+ case $1 in
+
+ start)
+- DIR=`dirname $0`
++ DIR=/usr/sbin
+ echo
+ printf "Starting SER : "
+ if [ -r $PID_FILE ] ; then
+@@ -612,6 +608,7 @@
+ printf "Stopping SER : "
+ if [ -r $PID_FILE ] ; then
+ kill `cat $PID_FILE`
++ rm $PID_FILE
+ echo "stopped"
+ else
+ echo No PID file found!
+@@ -621,10 +618,11 @@
+ ;;
+
+ restart)
+- DIR=`dirname $0`
++ DIR=/usr/sbin
+ printf "Stopping SER : "
+ if [ -r $PID_FILE ] ; then
+ kill `cat $PID_FILE`
++ rm $PID_FILE
+ echo "stopped"
+ else
+ echo No PID file found! SER problably not running
--- /dev/null
+--- ser-0.8.14.orig/locking.h 2004-07-27 01:18:35.000000000 +0200
++++ ser-0.8.14/locking.h 2004-12-26 15:39:03.000000000 +0100
+@@ -67,6 +67,8 @@
+ #define _locking_h
+
+ /* the order is important */
++#include <errno.h>
++#include "dprint.h"
+ #include "lock_ops.h"
+ #include "lock_alloc.h"
+
--- /dev/null
+--- ser-0.8.14.orig/main.c 2004-06-28 17:41:21.000000000 +0200
++++ ser-0.8.14/main.c 2005-01-07 23:24:27.000000000 +0100
+@@ -1447,18 +1447,20 @@
+ /* seed the prng */
+ /* try to use /dev/random if possible */
+ seed=0;
++/* this read call is blocking on OpenWRT, further investigations are necessary
+ if ((rfd=open("/dev/random", O_RDONLY))!=-1){
+ try_again:
+ if (read(rfd, (void*)&seed, sizeof(seed))==-1){
+- if (errno==EINTR) goto try_again; /* interrupted by signal */
++ if (errno==EINTR) goto try_again;
+ LOG(L_WARN, "WARNING: could not read from /dev/random (%d)\n",
+ errno);
+ }
+ DBG("read %u from /dev/random\n", seed);
+ close(rfd);
+ }else{
+- LOG(L_WARN, "WARNING: could not open /dev/random (%d)\n", errno);
+- }
++*/
++ LOG(L_WARN, "WARNING: could not read from /dev/random (%d)\n", errno);
++// }
+ seed+=getpid()+time(0);
+ DBG("seeding PRNG with %u\n", seed);
+ srand(seed);
--- /dev/null
+Binary files ser-0.8.14.old/.cfg.lex.swp and ser-0.8.14.dev/.cfg.lex.swp differ
+diff -urN ser-0.8.14.old/Makefile.defs ser-0.8.14.dev/Makefile.defs
+--- ser-0.8.14.old/Makefile.defs 2004-07-27 13:38:33.000000000 +0200
++++ ser-0.8.14.dev/Makefile.defs 2005-05-01 01:18:12.000000000 +0200
+@@ -660,7 +660,7 @@
+ endif
+ YACC_FLAGS=-d -b cfg
+ # on solaris add -lxnet (e.g. LIBS= -lxnet)
+-LIBS= -lfl -ldl -lresolv
++LIBS= -ldl -lresolv
+
+
+ #os specific stuff
+@@ -695,7 +695,7 @@
+ ifeq ($(CC_NAME), suncc)
+ LIBS= -lfast -ldl -lresolv
+ endif
+- LIBS+= -L/usr/local/lib -lfl -lxnet -lrt -lnsl
++ LIBS+= -L/usr/local/lib -lxnet -lrt -lnsl
+ # -lrt needed for sched_yield
+ endif
+
+@@ -705,9 +705,9 @@
+ ifneq ($(found_lock_method), yes)
+ DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
+ found_lock_method=yes
+- LIBS= -pthread -lfl #dlopen is in libc
++ LIBS= -pthread #dlopen is in libc
+ else
+- LIBS= -lfl #dlopen is in libc
++ LIBS= #dlopen is in libc
+ endif
+ YACC=yacc
+ endif
+@@ -722,7 +722,7 @@
+ # (symbols on openbsd are prefixed by "_")
+ YACC=yacc
+ # no sched_yield on openbsd unless linking with c_r (not recommended)
+- LIBS= -lfl
++ LIBS=
+ OPENBSD_IS_AOUT= $(shell echo "$(OSREL)" | \
+ sed -e 's/^3\.[0-3][^0-9]*$$/yes/' |sed -e 's/^[0-2]\..*/yes/')
+
+@@ -740,7 +740,7 @@
+ found_lock_method=yes
+ endif
+ YACC=yacc
+- LIBS= -lfl
++ LIBS=
+ endif
+
+ # OS X support, same as freebsd
+@@ -754,9 +754,9 @@
+ ifneq ($(found_lock_method), yes)
+ DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
+ found_lock_method=yes
+- LIBS= -pthread -lfl -lresolv #dlopen is in libc
++ LIBS= -pthread -lresolv #dlopen is in libc
+ else
+- LIBS= -lfl -lresolv #dlopen is in libc
++ LIBS= -lresolv #dlopen is in libc
+ endif
+ LDFLAGS= # darwin doesn't like -O2 or -E
+ MOD_LDFLAGS= -bundle -bundle_loader ../../$(MAIN_NAME)
+diff -urN ser-0.8.14.old/cfg.lex ser-0.8.14.dev/cfg.lex
+--- ser-0.8.14.old/cfg.lex 2004-02-12 17:17:48.000000000 +0100
++++ ser-0.8.14.dev/cfg.lex 2005-05-01 01:23:03.000000000 +0200
+@@ -71,7 +71,10 @@
+
+ static char* addstr(char*, char**);
+ static void count();
+-
++ int yywrap(void)
++ {
++ return 1;
++ }
+
+ %}
+
--- /dev/null
+diff -urN ser-0.8.14.old/Makefile ser-0.8.14.dev/Makefile
+--- ser-0.8.14.old/Makefile 2004-07-27 01:18:34.000000000 +0200
++++ ser-0.8.14.dev/Makefile 2005-05-01 01:29:25.000000000 +0200
+@@ -194,8 +194,8 @@
+ # binary dist. tar.gz
+ .PHONY: bin
+ bin:
+- mkdir -p tmp/ser/usr/local
+- $(MAKE) install basedir=tmp/ser prefix=/usr/local
++ mkdir -p tmp/ser/usr
++ $(MAKE) install basedir=tmp/ser prefix=/usr
+ $(TAR) -C tmp/ser/ -zcf ../$(NAME)-$(RELEASE)_$(OS)_$(ARCH).tar.gz .
+ rm -rf tmp/ser
+
+@@ -207,9 +207,9 @@
+ sunpkg:
+ mkdir -p tmp/ser
+ mkdir -p tmp/ser_sun_pkg
+- $(MAKE) install basedir=tmp/ser prefix=/usr/local
++ $(MAKE) install basedir=tmp/ser prefix=/usr
+ (cd solaris; \
+- pkgmk -r ../tmp/ser/usr/local -o -d ../tmp/ser_sun_pkg/ -v "$(RELEASE)" ;\
++ pkgmk -r ../tmp/ser/usr -o -d ../tmp/ser_sun_pkg/ -v "$(RELEASE)" ;\
+ cd ..)
+ cat /dev/null > ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local
+ pkgtrans -s tmp/ser_sun_pkg/ ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local \
+diff -urN ser-0.8.14.old/Makefile.defs ser-0.8.14.dev/Makefile.defs
+--- ser-0.8.14.old/Makefile.defs 2005-05-01 01:18:12.000000000 +0200
++++ ser-0.8.14.dev/Makefile.defs 2005-05-01 01:42:55.000000000 +0200
+@@ -64,20 +64,20 @@
+ # extra CC command line options (e.g -march=athlon-mp)
+ CC_EXTRA_OPTS ?=
+ # install location
+-DESTDIR ?= /usr/local
++DESTDIR ?= /usr
+ PREFIX ?= $(DESTDIR)
+-LOCALBASE ?= /usr/local
++LOCALBASE ?= /usr
+ prefix = $(PREFIX)
+ # install path is $(basedir) $(prefix)
+ # example:
+-# creating a bin. archive in /tmp, which unpacks in /usr/local
++# creating a bin. archive in /tmp, which unpacks in /usr
+ # basedir=/tmp
+-# prefix=/usr/local
++# prefix=/usr
+
+ BASEDIR ?=
+ basedir = $(BASEDIR)
+ # install prefixes for various stuff
+-cfg-prefix = $(basedir)$(prefix)
++cfg-prefix = /
+ bin-prefix = $(basedir)$(prefix)
+ modules-prefix = $(basedir)$(prefix)
+ doc-prefix = $(basedir)$(prefix)
+@@ -117,7 +117,7 @@
+ endif
+ ut-prefix = bin/
+ # target dirs for various stuff
+-cfg-target = $(prefix)/$(cfg-dir)
++cfg-target = /$(cfg-dir)
+ modules-target = $(prefix)/$(modules-dir)
+
+
+@@ -688,14 +688,14 @@
+ #MOD_LDFLAGS=-g -G
+ endif
+ ifneq ($(TLS),)
+- DEFS+= -I/usr/local/ssl/include
++ DEFS+= -I/usr/ssl/include
+ endif
+ YACC=yacc
+
+ ifeq ($(CC_NAME), suncc)
+ LIBS= -lfast -ldl -lresolv
+ endif
+- LIBS+= -L/usr/local/lib -lxnet -lrt -lnsl
++ LIBS+= -L/usr/lib -lxnet -lrt -lnsl
+ # -lrt needed for sched_yield
+ endif
+
+@@ -773,7 +773,7 @@
+
+ #add libssl if needed
+ ifneq ($(TLS),)
+-LIBS+= -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto
++LIBS+= -L/usr/lib -L/usr/ssl/lib -lssl -lcrypto
+ endif
+
+ ifneq ($(found_lock_method), yes)
+diff -urN ser-0.8.14.old/etc/ser.cfg ser-0.8.14.dev/etc/ser.cfg
+--- ser-0.8.14.old/etc/ser.cfg 2003-11-10 16:35:15.000000000 +0100
++++ ser-0.8.14.dev/etc/ser.cfg 2005-05-01 01:28:43.000000000 +0200
+@@ -26,19 +26,19 @@
+ # ------------------ module loading ----------------------------------
+
+ # Uncomment this if you want to use SQL database
+-#loadmodule "/usr/local/lib/ser/modules/mysql.so"
++#loadmodule "/usr/lib/ser/modules/mysql.so"
+
+-loadmodule "/usr/local/lib/ser/modules/sl.so"
+-loadmodule "/usr/local/lib/ser/modules/tm.so"
+-loadmodule "/usr/local/lib/ser/modules/rr.so"
+-loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
+-loadmodule "/usr/local/lib/ser/modules/usrloc.so"
+-loadmodule "/usr/local/lib/ser/modules/registrar.so"
++loadmodule "/usr/lib/ser/modules/sl.so"
++loadmodule "/usr/lib/ser/modules/tm.so"
++loadmodule "/usr/lib/ser/modules/rr.so"
++loadmodule "/usr/lib/ser/modules/maxfwd.so"
++loadmodule "/usr/lib/ser/modules/usrloc.so"
++loadmodule "/usr/lib/ser/modules/registrar.so"
+
+ # Uncomment this if you want digest authentication
+ # mysql.so must be loaded !
+-#loadmodule "/usr/local/lib/ser/modules/auth.so"
+-#loadmodule "/usr/local/lib/ser/modules/auth_db.so"
++#loadmodule "/usr/lib/ser/modules/auth.so"
++#loadmodule "/usr/lib/ser/modules/auth_db.so"
+
+ # ----------------- setting module-specific parameters ---------------
+
--- /dev/null
+diff -urN ser-0.8.14.old/config.h ser-0.8.14.dev/config.h
+--- ser-0.8.14.old/config.h 2004-04-27 22:28:59.000000000 +0200
++++ ser-0.8.14.dev/config.h 2005-05-01 01:48:00.000000000 +0200
+@@ -53,7 +53,7 @@
+ #define MAX_LISTEN 16
+
+ /* default number of child processes started */
+-#define CHILD_NO 8
++#define CHILD_NO 2
+
+ #define RT_NO 20 /* routing tables number */
+ #define FAILURE_RT_NO RT_NO /* on_failure routing tables number */
+@@ -117,7 +117,7 @@
+ #define PKG_MEM_POOL_SIZE 1024*1024
+
+ /*used if SH_MEM is defined*/
+-#define SHM_MEM_SIZE 32
++#define SHM_MEM_SIZE 8
+
+ #define TIMER_TICK 1
+
+++ /dev/null
-diff -urN ser-0.9.0.old/Makefile.defs ser-0.9.0/Makefile.defs
---- ser-0.9.0.old/Makefile.defs 2004-12-16 18:50:40.000000000 +0100
-+++ ser-0.9.0/Makefile.defs 2005-03-25 15:24:03.000000000 +0100
-@@ -788,7 +788,7 @@
- endif
- YACC_FLAGS=-d -b cfg
- # on solaris add -lxnet (e.g. LIBS= -lxnet)
--LIBS= -lfl -ldl -lresolv
-+LIBS= -ldl -lresolv
-
-
- #os specific stuff
-@@ -826,7 +826,7 @@
- endif
- OLD_SOLARIS= $(shell echo "$(OSREL)" | \
- sed -e 's/^5\.[0-6][^0-9]*$$/yes/' )
-- LIBS+= -L/usr/local/lib -lfl -lxnet -lnsl
-+ LIBS+= -L/usr/local/lib -lxnet -lnsl
- ifeq ($(OLD_SOLARIS), yes)
- LIBS+=-lposix4
- else
-@@ -841,9 +841,9 @@
- ifneq ($(found_lock_method), yes)
- DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
- found_lock_method=yes
-- LIBS= -pthread -lfl #dlopen is in libc
-+ LIBS= -pthread #dlopen is in libc
- else
-- LIBS= -lfl #dlopen is in libc
-+ LIBS= #dlopen is in libc
- endif
- YACC=yacc
- endif
-@@ -858,7 +858,7 @@
- # (symbols on openbsd are prefixed by "_")
- YACC=yacc
- # no sched_yield on openbsd unless linking with c_r (not recommended)
-- LIBS= -lfl
-+ LIBS=
- OPENBSD_IS_AOUT= $(shell echo "$(OSREL)" | \
- sed -e 's/^3\.[0-3][^0-9]*$$/yes/' |sed -e 's/^[0-2]\..*/yes/')
- # exception: on sparc openbsd 3.2 is elf and not aout
-@@ -885,7 +885,7 @@
- found_lock_method=yes
- endif
- YACC=yacc
-- LIBS= -lfl
-+ LIBS=
- endif
-
- # OS X support, same as freebsd
-@@ -899,9 +899,9 @@
- ifneq ($(found_lock_method), yes)
- DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems
- found_lock_method=yes
-- LIBS= -pthread -lfl -lresolv #dlopen is in libc
-+ LIBS= -pthread -lresolv #dlopen is in libc
- else
-- LIBS= -lfl -lresolv #dlopen is in libc
-+ LIBS= -lresolv #dlopen is in libc
- endif
- LDFLAGS= # darwin doesn't like -O2 or -E
- MOD_LDFLAGS= -bundle -bundle_loader ../../$(MAIN_NAME)
-diff -urN ser-0.9.0.old/cfg.lex ser-0.9.0/cfg.lex
---- ser-0.9.0.old/cfg.lex 2004-11-30 17:28:23.000000000 +0100
-+++ ser-0.9.0/cfg.lex 2005-03-25 15:27:49.000000000 +0100
-@@ -90,6 +90,10 @@
- static char* addstr(struct str_buf *, char*, int);
- static void count();
-
-+ int yywrap(void)
-+ {
-+ return 1;
-+ }
-
- %}
-
+++ /dev/null
-diff -urN ser-0.9.0.old/etc/ser.cfg ser-0.9.0/etc/ser.cfg
---- ser-0.9.0.old/etc/ser.cfg 2004-11-30 17:28:24.000000000 +0100
-+++ ser-0.9.0/etc/ser.cfg 2005-03-25 17:23:32.000000000 +0100
-@@ -25,20 +25,20 @@
- # ------------------ module loading ----------------------------------
-
- # Uncomment this if you want to use SQL database
--#loadmodule "/usr/local/lib/ser/modules/mysql.so"
-+#loadmodule "/usr/lib/ser/modules/mysql.so"
-
--loadmodule "/usr/local/lib/ser/modules/sl.so"
--loadmodule "/usr/local/lib/ser/modules/tm.so"
--loadmodule "/usr/local/lib/ser/modules/rr.so"
--loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
--loadmodule "/usr/local/lib/ser/modules/usrloc.so"
--loadmodule "/usr/local/lib/ser/modules/registrar.so"
--loadmodule "/usr/local/lib/ser/modules/textops.so"
-+loadmodule "/usr/lib/ser/modules/sl.so"
-+loadmodule "/usr/lib/ser/modules/tm.so"
-+loadmodule "/usr/lib/ser/modules/rr.so"
-+loadmodule "/usr/lib/ser/modules/maxfwd.so"
-+loadmodule "/usr/lib/ser/modules/usrloc.so"
-+loadmodule "/usr/lib/ser/modules/registrar.so"
-+loadmodule "/usr/lib/ser/modules/textops.so"
-
- # Uncomment this if you want digest authentication
- # mysql.so must be loaded !
--#loadmodule "/usr/local/lib/ser/modules/auth.so"
--#loadmodule "/usr/local/lib/ser/modules/auth_db.so"
-+#loadmodule "/usr/lib/ser/modules/auth.so"
-+#loadmodule "/usr/lib/ser/modules/auth_db.so"
-
- # ----------------- setting module-specific parameters ---------------
-
-diff -urN ser-0.9.0.old/Makefile ser-0.9.0/Makefile
---- ser-0.9.0.old/Makefile 2004-12-08 20:06:12.000000000 +0100
-+++ ser-0.9.0/Makefile 2005-03-25 17:21:35.000000000 +0100
-@@ -198,8 +198,8 @@
- # binary dist. tar.gz
- .PHONY: bin
- bin:
-- mkdir -p tmp/ser/usr/local
-- $(MAKE) install basedir=tmp/ser prefix=/usr/local
-+ mkdir -p tmp/ser/usr
-+ $(MAKE) install basedir=tmp/ser prefix=/usr
- $(TAR) -C tmp/ser/ -zcf ../$(NAME)-$(RELEASE)_$(OS)_$(ARCH).tar.gz .
- rm -rf tmp/ser
-
-@@ -211,9 +211,9 @@
- sunpkg:
- mkdir -p tmp/ser
- mkdir -p tmp/ser_sun_pkg
-- $(MAKE) install basedir=tmp/ser prefix=/usr/local
-+ $(MAKE) install basedir=tmp/ser prefix=/usr
- (cd solaris; \
-- pkgmk -r ../tmp/ser/usr/local -o -d ../tmp/ser_sun_pkg/ -v "$(RELEASE)" ;\
-+ pkgmk -r ../tmp/ser/usr -o -d ../tmp/ser_sun_pkg/ -v "$(RELEASE)" ;\
- cd ..)
- cat /dev/null > ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local
- pkgtrans -s tmp/ser_sun_pkg/ ../$(NAME)-$(RELEASE)-$(OS)-$(ARCH)-local \
-diff -urN ser-0.9.0.old/Makefile.defs ser-0.9.0/Makefile.defs
---- ser-0.9.0.old/Makefile.defs 2005-03-25 15:28:58.000000000 +0100
-+++ ser-0.9.0/Makefile.defs 2005-03-25 17:26:09.000000000 +0100
-@@ -68,15 +68,15 @@
- # extra CC command line options (e.g -march=athlon-mp)
- CC_EXTRA_OPTS ?=
- # install location
--DESTDIR ?= /usr/local
-+DESTDIR ?= /usr
- PREFIX ?= $(DESTDIR)
--LOCALBASE ?= /usr/local
-+LOCALBASE ?= /usr
- prefix = $(PREFIX)
- # install path is $(basedir) $(prefix)
- # example:
--# creating a bin. archive in /tmp, which unpacks in /usr/local
-+# creating a bin. archive in /tmp, which unpacks in /usr
- # basedir=/tmp
--# prefix=/usr/local
-+# prefix=/usr
-
- BASEDIR ?=
- basedir = $(BASEDIR)
-@@ -121,7 +121,7 @@
- endif
- ut-prefix = bin/
- # target dirs for various stuff
--cfg-target = $(prefix)/$(cfg-dir)
-+cfg-target = /$(cfg-dir)
- bin-target = $(prefix)/$(bin-dir)
- modules-target = $(prefix)/$(modules-dir)
- doc-target = $(prefix)/$(doc-dir)
-@@ -817,7 +817,7 @@
- #MOD_LDFLAGS=-g -G
- endif
- ifneq ($(TLS),)
-- DEFS+= -I/usr/local/ssl/include
-+ DEFS+= -I/usr/ssl/include
- endif
- YACC=yacc
-
-@@ -826,7 +826,7 @@
- endif
- OLD_SOLARIS= $(shell echo "$(OSREL)" | \
- sed -e 's/^5\.[0-6][^0-9]*$$/yes/' )
-- LIBS+= -L/usr/local/lib -lxnet -lnsl
-+ LIBS+= -L/usr/lib -lxnet -lnsl
- ifeq ($(OLD_SOLARIS), yes)
- LIBS+=-lposix4
- else
-@@ -918,7 +918,7 @@
-
- #add libssl if needed
- ifneq ($(TLS),)
--LIBS+= -L/usr/local/lib -L/usr/local/ssl/lib -lssl -lcrypto
-+LIBS+= -L/usr/lib -L/usr/ssl/lib -lssl -lcrypto
- endif
-
- ifneq ($(found_lock_method), yes)