diff options
author | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2005-11-08 01:35:42 +0000 |
---|---|---|
committer | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2005-11-08 01:35:42 +0000 |
commit | 6aa17e12b777f9e4075141b75ad54d05211d2122 (patch) | |
tree | e66d7eac78a4c963da2a73d063163994730c7085 /net/openser | |
parent | - Distfile was rerolled, no content change (diff) |
Add openser.
OpenSER is a scalable and robust SIP server, spawned from FhG FOKUS SIP
Express Router (SER).
WWW: http://www.openser.org/
PR: ports/88239
Submitted by: jesusr
Notes
Notes:
svn path=/head/; revision=147532
Diffstat (limited to 'net/openser')
-rw-r--r-- | net/openser/Makefile | 140 | ||||
-rw-r--r-- | net/openser/distinfo | 2 | ||||
-rw-r--r-- | net/openser/files/patch-Makefile | 81 | ||||
-rw-r--r-- | net/openser/files/patch-Makefile.defs | 59 | ||||
-rw-r--r-- | net/openser/files/pkg-deinstall.in | 24 | ||||
-rw-r--r-- | net/openser/files/pkg-install.in | 12 | ||||
-rw-r--r-- | net/openser/pkg-descr | 4 |
7 files changed, 322 insertions, 0 deletions
diff --git a/net/openser/Makefile b/net/openser/Makefile new file mode 100644 index 000000000000..8a49504736b8 --- /dev/null +++ b/net/openser/Makefile @@ -0,0 +1,140 @@ +# New ports collection makefile for: openser +# Date created: 20 October 2005 +# Whom: jesusr +# +# $FreeBSD$ +# + +PORTNAME= openser +PORTVERSION= 1.0.0 +CATEGORIES= net +MASTER_SITES= http://openser.org/pub/openser/${PORTVERSION}/src/ +DISTNAME= ${PORTNAME}-${PORTVERSION}-tls_src + +MAINTAINER= jesusr@FreeBSD.org +COMMENT= A very fast and configurable SIP proxy with TLS support + +LIB_DEPENDS= radiusclient-ng.2:${PORTSDIR}/net/radiusclient + +WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-tls + +USE_REINPLACE= yes +USE_GMAKE= yes +USE_GNOME= libxml2 +MAKE_ENV= CC="${CC}" \ + PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \ + PTHREAD_LIBS="${PTHREAD_LIBS}" + +PLIST_FILES= sbin/openser sbin/openser_gen_ha1 sbin/openser_mysql.sh \ + sbin/openserctl sbin/openserunix +PLIST_DIRS= lib/openser/modules lib/openser + +MODULES= acc alias_db auth auth_db auth_diameter avpops cpl-c dbtext \ + dispatcher diversion domain enum exec flatstore gflags group \ + lcr mangler maxfwd mediaproxy msilo nathelper options pa pdt \ + permissions pike registrar rr sl sms speeddial textops tm uac \ + uac_redirect uri uri_db usrloc xlog + +RC_FILES= acc/radiusclient.conf \ + acc/servers \ + acc/sip_dictionary \ + dictionary.radius \ + openser.cfg +RC_DIRS= acc + +MAN5= openser.cfg.5 +MAN8= openser.8 + +PORTDOCS= * + +SUB_FILES= pkg-install pkg-deinstall +SUB_LIST= RC_DIRS="${RC_DIRS}" RC_FILES="${RC_FILES}" + +OPTIONS= MYSQL "MySQL support" on \ + POSTGRESQL "PostgreSQL support" on \ + TLS "TLS support" on + +.include <bsd.port.pre.mk> + +.if defined(WITH_MYSQL) +USE_MYSQL= yes +MODULES+= mysql +.else +MAKE_ENV+= MYSQL=mysql +.endif + +.if defined(WITH_POSTGRESQL) +USE_PGSQL= yes +MODULES+= postgres +.else +MAKE_ENV+= POSTGRESQL=postgres +.endif + +.if defined(WITH_TLS) +.include "${PORTSDIR}/Mk/bsd.openssl.mk" +PLIST_FILES+= etc/openser/tls/README +TLS_RC_FILES= tls/rootCA/cacert.pem \ + tls/rootCA/certs/01.pem \ + tls/rootCA/index.txt \ + tls/rootCA/private/cakey.pem \ + tls/rootCA/serial \ + tls/user/user-calist.pem \ + tls/user/user-cert.pem \ + tls/user/user-cert_req.pem \ + tls/user/user-privkey.pem +RC_FILES+= ${TLS_RC_FILES} +TLS_RC_DIRS= tls/user \ + tls/rootCA/certs \ + tls/rootCA/private \ + tls/rootCA \ + tls +RC_DIRS+= ${TLS_RC_DIRS} +.else +MAKE_ARGS+= TLS="" +.endif + +PLIST_FILES+= ${MODULES:S|^|lib/openser/modules/|:S|$|.so|} \ + ${RC_FILES:S|^|etc/openser/|:S|$|.default|} + +post-patch: +.if defined(NOPORTDOCS) + @${REINPLACE_CMD} -e 's|install-doc install-man|install-man|' \ + ${WRKSRC}/Makefile +.endif + @${REINPLACE_CMD} -e 's|/usr/local/etc/ser|${PREFIX}/etc/openser|' \ + ${WRKSRC}/scripts/sc.dbtext \ + ${WRKSRC}/modules/dispatcher/README + @${REINPLACE_CMD} -e 's|/etc/openser|${PREFIX}/etc/openser|' \ + ${WRKSRC}/modules/mediaproxy/README + @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|' \ + ${WRKSRC}/etc/openser.cfg \ + ${WRKSRC}/scripts/mysqldb.sh \ + ${WRKSRC}/scripts/postgresqldb.sh \ + ${WRKSRC}/scripts/sc \ + ${WRKSRC}/scripts/sc.dbtext \ + ${WRKSRC}/modules/speeddial/README + @${REINPLACE_CMD} -e 's|/home/jiri/sip_router/modules/acc/etc|${PREFIX}/etc/openser/acc|; \ + s|/usr/local|${LOCALBASE}|' \ + ${WRKSRC}/modules/acc/etc/radiusclient.conf + @${REINPLACE_CMD} -e 's|/usr/local/etc/radiusclient|${PREFIX}/etc/openser/acc|' \ + ${WRKSRC}/modules/acc/acc_mod.c ${WRKSRC}/modules/acc/README + +post-install: + ${INSTALL_DATA} ${WRKSRC}/etc/openser.cfg \ + ${PREFIX}/etc/openser/openser.cfg.default + ${MKDIR} ${PREFIX}/etc/openser/acc + ${INSTALL_DATA} ${WRKSRC}/modules/acc/etc/radiusclient.conf \ + ${PREFIX}/etc/openser/acc/radiusclient.conf.default + ${INSTALL_DATA} ${WRKSRC}/modules/acc/etc/servers \ + ${PREFIX}/etc/openser/acc/servers.default + ${INSTALL_DATA} ${WRKSRC}/modules/acc/etc/sip_dictionary \ + ${PREFIX}/etc/openser/acc/sip_dictionary.default +.for d in ${TLS_RC_DIRS} + ${MKDIR} ${PREFIX}/etc/openser/${d} +.endfor +.for f in ${TLS_RC_FILES} + ${INSTALL_DATA} ${WRKSRC}/etc/${f} ${PREFIX}/etc/openser/${f}.default +.endfor + @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL + +.include <bsd.port.post.mk> diff --git a/net/openser/distinfo b/net/openser/distinfo new file mode 100644 index 000000000000..51d255a534f0 --- /dev/null +++ b/net/openser/distinfo @@ -0,0 +1,2 @@ +MD5 (openser-1.0.0-tls_src.tar.gz) = d56814cc463d5ecd563c3ebee9feaa28 +SIZE (openser-1.0.0-tls_src.tar.gz) = 1360975 diff --git a/net/openser/files/patch-Makefile b/net/openser/files/patch-Makefile new file mode 100644 index 000000000000..4cf5432f9d59 --- /dev/null +++ b/net/openser/files/patch-Makefile @@ -0,0 +1,81 @@ +--- Makefile.orig Fri Oct 28 23:27:18 2005 ++++ Makefile Sun Oct 30 22:14:24 2005 +@@ -46,7 +46,7 @@ + skip_modules?= + + # if not set on the cmd. line or the env, exclude this modules: +-exclude_modules?= jabber cpl-c pa postgres mysql \ ++exclude_modules?= jabber $(POSTGRESQL) $(MYSQL) \ + avp_radius auth_radius group_radius uri_radius + # always exclude the CVS dir + override exclude_modules+= CVS $(skip_modules) +@@ -320,17 +320,9 @@ + + # note: on solaris 8 sed: ? or \(...\)* (a.s.o) do not work + install-cfg: $(cfg-prefix)/$(cfg-dir) +- sed -e "s#/usr/.*lib/$(NAME)/modules/#$(modules-target)#g" \ +- < etc/$(NAME).cfg > $(cfg-prefix)/$(cfg-dir)$(NAME).cfg.sample +- chmod 644 $(cfg-prefix)/$(cfg-dir)$(NAME).cfg.sample +- if [ -z "${skip_cfg_install}" -a \ +- ! -f $(cfg-prefix)/$(cfg-dir)$(NAME).cfg ]; then \ +- mv -f $(cfg-prefix)/$(cfg-dir)$(NAME).cfg.sample \ +- $(cfg-prefix)/$(cfg-dir)$(NAME).cfg; \ +- fi + # radius dictionary + $(INSTALL-TOUCH) $(cfg-prefix)/$(cfg-dir)/dictionary.radius +- $(INSTALL-CFG) etc/dictionary.radius $(cfg-prefix)/$(cfg-dir) ++ $(INSTALL-CFG) etc/dictionary.radius $(cfg-prefix)/$(cfg-dir)/dictionary.radius.default + #$(INSTALL-CFG) etc/$(NAME).cfg $(cfg-prefix)/$(cfg-dir) + if [ -z $(TLS) ]; then \ + echo "No TLS scripts installed" ; \ +@@ -341,36 +333,16 @@ + mkdir $(cfg-prefix)/$(cfg-dir)/tls/rootCA/private ; \ + mkdir $(cfg-prefix)/$(cfg-dir)/tls/user ; \ + $(INSTALL-TOUCH) etc/tls/README $(cfg-prefix)/$(cfg-dir)/tls/; \ +- $(INSTALL) etc/tls/README $(cfg-prefix)/$(cfg-dir)/tls/; \ +- $(INSTALL-TOUCH) etc/tls/rootCA/index.txt $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL) etc/tls/rootCA/index.txt $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL-TOUCH) etc/tls/rootCA/serial $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL) etc/tls/rootCA/serial $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL-TOUCH) etc/tls/rootCA/cacert.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL) etc/tls/rootCA/cacert.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/; \ +- $(INSTALL-TOUCH) etc/tls/rootCA/certs/01.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/certs/; \ +- $(INSTALL) etc/tls/rootCA/certs/01.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/certs/; \ +- $(INSTALL-TOUCH) etc/tls/rootCA/private/cakey.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/private/; \ +- $(INSTALL) etc/tls/rootCA/private/cakey.pem $(cfg-prefix)/$(cfg-dir)/tls/rootCA/private/; \ +- $(INSTALL-TOUCH) etc/tls/user/user-calist.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL) etc/tls/user/user-calist.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL-TOUCH) etc/tls/user/user-cert.pem $(cfg-prefix)/$(cfg-dir)/tls/users/; \ +- $(INSTALL) etc/tls/user/user-cert.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL-TOUCH) etc/tls/user/user-privkey.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL) etc/tls/user/user-privkey.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL-TOUCH) etc/tls/user/user-cert_req.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ +- $(INSTALL) etc/tls/user/user-cert_req.pem $(cfg-prefix)/$(cfg-dir)/tls/user/; \ ++ $(BSD_INSTALL_DATA) etc/tls/README $(cfg-prefix)/$(cfg-dir)/tls/; \ + fi + + install-bin: $(bin-prefix)/$(bin-dir) utils/gen_ha1/gen_ha1 utils/$(NAME)unix/$(NAME)unix + $(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/$(NAME) + $(INSTALL-BIN) $(NAME) $(bin-prefix)/$(bin-dir) + $(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/sc +- $(INSTALL-BIN) scripts/sc $(bin-prefix)/$(bin-dir) +- mv -f $(bin-prefix)/$(bin-dir)/sc $(bin-prefix)/$(bin-dir)/$(NAME)ctl ++ $(BSD_INSTALL_SCRIPT) scripts/sc $(bin-prefix)/$(bin-dir)/$(NAME)ctl + $(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/mysqldb.sh +- $(INSTALL-BIN) scripts/mysqldb.sh $(bin-prefix)/$(bin-dir) +- mv -f $(bin-prefix)/$(bin-dir)/mysqldb.sh $(bin-prefix)/$(bin-dir)/$(NAME)_mysql.sh ++ $(BSD_INSTALL_SCRIPT) scripts/mysqldb.sh $(bin-prefix)/$(bin-dir)/$(NAME)_mysql.sh + $(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/$(NAME)_gen_ha1 + $(INSTALL-BIN) utils/gen_ha1/gen_ha1 $(bin-prefix)/$(bin-dir)/$(NAME)_gen_ha1 + $(INSTALL-TOUCH) $(bin-prefix)/$(bin-dir)/$(NAME)unix +@@ -418,9 +390,7 @@ + if [ -f modules/"$$r"/README ]; then \ + $(INSTALL-TOUCH) $(doc-prefix)/$(doc-dir)/README ; \ + $(INSTALL-DOC) modules/"$$r"/README \ +- $(doc-prefix)/$(doc-dir)/README ; \ +- mv -f $(doc-prefix)/$(doc-dir)/README \ +- $(doc-prefix)/$(doc-dir)/README."$$r" ; \ ++ $(doc-prefix)/$(doc-dir)/README."$$r" ; \ + fi ; \ + fi ; \ + done diff --git a/net/openser/files/patch-Makefile.defs b/net/openser/files/patch-Makefile.defs new file mode 100644 index 000000000000..2c7700ecea72 --- /dev/null +++ b/net/openser/files/patch-Makefile.defs @@ -0,0 +1,59 @@ +--- Makefile.defs.orig Fri Oct 28 18:32:39 2005 ++++ Makefile.defs Sun Oct 30 20:09:02 2005 +@@ -147,13 +147,13 @@ + TAR ?= tar + endif + +-INSTALL-TOUCH = touch # used to create the file first (good to ++INSTALL-TOUCH = : # used to create the file first (good to + # make solaris install work) +-INSTALL-CFG = $(INSTALL) -m 644 +-INSTALL-BIN = $(INSTALL) -m 755 +-INSTALL-MODULES = $(INSTALL) -m 755 +-INSTALL-DOC = $(INSTALL) -m 644 +-INSTALL-MAN = $(INSTALL) -m 644 ++INSTALL-CFG = $(BSD_INSTALL_DATA) ++INSTALL-BIN = $(BSD_INSTALL_PROGRAM) ++INSTALL-MODULES = $(BSD_INSTALL_PROGRAM) ++INSTALL-DOC = $(BSD_INSTALL_DATA) ++INSTALL-MAN = $(BSD_INSTALL_MAN) + + #set some vars from the environment (and not make builtins) + CC := $(shell echo "$${CC}") +@@ -449,7 +449,7 @@ + found_lock_method=yes + endif + +-CFLAGS= ++saved_CFLAGS:=$(CFLAGS) + LDFLAGS= + # setting CFLAGS + ifeq ($(mode), release) +@@ -970,7 +970,8 @@ + ifneq ($(found_lock_method), yes) + DEFS+= -DUSE_PTHREAD_MUTEX # try pthread sems + found_lock_method=yes +- LIBS= -pthread -lfl #dlopen is in libc ++ saved_CFLAGS+= $(PTHREAD_CFLAGS) ++ LIBS= $(PTHREAD_LIBS) -lfl #dlopen is in libc + else + LIBS= -lfl #dlopen is in libc + endif +@@ -1045,10 +1046,15 @@ + endif + endif + ++CFLAGS= $(saved_CFLAGS) -I$(LOCALBASE)/include ++MOD_CFLAGS= -fPIC $(CFLAGS) ++LDFLAGS= -L$(LOCALBASE)/lib ++MOD_LDFLAGS= -shared $(LDFLAGS) ++ + #add libssl if needed + ifneq ($(TLS),) +-DEFS+= -I$(LOCALBASE)/ssl/include +-LIBS+= -L$(LOCALBASE)/lib -L$(LOCALBASE)/ssl/lib -lssl -lcrypto ++DEFS+= -I$(OPENSSLINC) ++LIBS+= -L$(OPENSSLLIB) -lssl -lcrypto + endif + + ifneq ($(found_lock_method), yes) diff --git a/net/openser/files/pkg-deinstall.in b/net/openser/files/pkg-deinstall.in new file mode 100644 index 000000000000..5ca38f0f45b0 --- /dev/null +++ b/net/openser/files/pkg-deinstall.in @@ -0,0 +1,24 @@ +#!/bin/sh + +rc_dir=$PKG_PREFIX/etc/openser + +if [ "$2" = DEINSTALL ]; then + for f in %%RC_FILES%%; do + if /usr/bin/cmp -s $rc_dir/$f.default $rc_dir/$f; then + /bin/rm -f $rc_dir/$f + fi + done +elif [ "$2" = POST-DEINSTALL ]; then + rc_dirs=`for d in %%RC_DIRS%%; do echo $d; done | /usr/bin/sort -r` + + for d in $rc_dirs ""; do + /bin/rmdir $rc_dir/$d 2>/dev/null || /usr/bin/true + done + + if [ -e $rc_dir ]; then + echo "===============================================================================" + echo "If you are permanently removing this port, you should manually remove the" + echo "$rc_dir directory." + echo "===============================================================================" + fi +fi diff --git a/net/openser/files/pkg-install.in b/net/openser/files/pkg-install.in new file mode 100644 index 000000000000..79e885fcf5fc --- /dev/null +++ b/net/openser/files/pkg-install.in @@ -0,0 +1,12 @@ +#!/bin/sh + +[ "$2" != POST-INSTALL ] && exit + +rc_dir=$PKG_PREFIX/etc/openser + +for f in %%RC_FILES%%; do + if ! [ -e $rc_dir/$f ]; then + /usr/bin/install -o root -g wheel -m 644 \ + $rc_dir/$f.default $rc_dir/$f + fi +done diff --git a/net/openser/pkg-descr b/net/openser/pkg-descr new file mode 100644 index 000000000000..146c6cc9f73b --- /dev/null +++ b/net/openser/pkg-descr @@ -0,0 +1,4 @@ +OpenSER is a scalable and robust SIP server, spawned from FhG FOKUS SIP +Express Router (SER). + +WWW: http://www.openser.org/ |