ports/82454: update net/gatekeeper, take maintainership
Joerg Pulz
Joerg.Pulz at frm2.tum.de
Mon Jun 20 21:20:23 UTC 2005
>Number: 82454
>Category: ports
>Synopsis: update net/gatekeeper, take maintainership
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Mon Jun 20 21:20:22 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Joerg Pulz
>Release: FreeBSD 5.4-RC1 i386
>Organization:
ZWE FRM-II / TU-Munich
>Environment:
System: FreeBSD hades.admin.frm2 5.4-RC1 FreeBSD 5.4-RC1 #4: Mon Apr 4 12:57:01 CEST 2005 root at hades.admin.frm2:/usr/obj/usr/src/sys/HADES i386
>Description:
update net/gatekeeper to v2.2.2
- switch to GNU_CONFIGURE
- added knobs to build with MySQL and PostgreSQL
(currently not active due to compile problems)
- added pkg-install and pkg-deinstall scripts to create an
unpriviledged user account and to create/remove (un)necessary
files and directories (based on www/squid)
- added rcNG script to start and stop the daemon
- install example configuration in ${PREFIX}/etc
- install more examples to ${EXAMPLESDIR}
- updated pkg-plist and distinfo
- retired old patches and added a new one
as the maintainer is currently set to ports at FreeBSD.org, i would
take it to provide further updates.
>How-To-Repeat:
>Fix:
- apply the diff to net/gatekeeper
- remove files/patch-makefile and files/patch-singleton.h from CVS
- add pkg-install, pkg-deinstall, files/gnugk.sh.sample and
files/patch-Makefile.in to CVS
--- gatekeeper.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/net/gatekeeper/Makefile,v
retrieving revision 1.37
diff -u -r1.37 Makefile
--- Makefile 16 May 2005 02:45:09 -0000 1.37
+++ Makefile 20 Jun 2005 20:58:52 -0000
@@ -6,20 +6,24 @@
#
PORTNAME= gatekeeper
-PORTVERSION= 2.0.5
+PORTVERSION= 2.2.2
PORTREVISION= 3
CATEGORIES= net
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= openh323gk
-DISTNAME= gk-${PORTVERSION}
-EXTRACT_SUFX= .tgz
+DISTNAME= gnugk-${PORTVERSION}
-MAINTAINER= ports at FreeBSD.org
+MAINTAINER= Joerg.Pulz at frm2.tum.de
COMMENT= GnuGK is GPL Gate Keeper for OhPhone, GnomeMeeting, NetMeeting and H323
BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/net/openh323:build
-WRKSRC= ${WRKDIR}/openh323gk
+USE_RC_SUBR= yes
+RC_DIR= ${PREFIX}/etc/rc.d
+
+GNU_CONFIGURE= yes
+CONFIGURE_ENV= ${MAKE_ENV}
+CONFIGURE_ARGS= --enable-radius
NOCLEANDEPENDS= yes
@@ -31,8 +35,43 @@
THE_MACHTYPE= ${ARCH:S/i386/x86/}
MAKE_ARGS= OSTYPE=${OPSYS} MACHTYPE=${THE_MACHTYPE} OSRELEASE=${OSVERSION} CPLUS=${CXX} HAS_RADACCT=1
+.include <bsd.port.pre.mk>
+
+#.if defined(WITH_MYSQL)
+#USE_MYSQL= 41
+#CONFIGURE_ARGS+= --enable-mysql \
+# --with-mysql-dir=${LOCALBASE}
+#.else
+CONFIGURE_ARGS+= --disable-mysql
+#.endif
+
+#.if defined(WITH_PGSQL)
+#USE_PGSQL= yes
+#CONFIGURE_ARGS+= --enable-pgsql \
+# --with-pgsql-dir=${LOCALBASE}
+#.else
+CONFIGURE_ARGS+= --disable-pgsql
+#.endif
+
+pre-install:
+ @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \
+ -e 's|%%RC_SUBR%%|${RC_SUBR}|g' \
+ ${FILESDIR}/gnugk.sh.sample > ${WRKDIR}/gnugk.sh
+
+pre-su-install:
+ @${SETENV} PKG_PREFIX=${PREFIX} \
+ ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/obj_${OPSYS}_${THE_MACHTYPE}_r/gnugk ${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/obj_${OPSYS}_${THE_MACHTYPE}_r/addpasswd ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/etc/complete.ini ${PREFIX}/etc/gnugk.ini.default
+ @${MKDIR} ${EXAMPLESDIR}
+ @${CP} -Rp ${WRKSRC}/etc/*.ini ${EXAMPLESDIR}
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/gnugk.sh ${RC_DIR}
+ @${SETENV} PKG_PREFIX=${PREFIX} \
+ ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/net/gatekeeper/distinfo,v
retrieving revision 1.16
diff -u -r1.16 distinfo
--- distinfo 31 Mar 2004 03:09:59 -0000 1.16
+++ distinfo 20 Jun 2005 20:58:52 -0000
@@ -1,2 +1,2 @@
-MD5 (gk-2.0.5.tgz) = e719a6b59de76417ff31bf6c0da2212f
-SIZE (gk-2.0.5.tgz) = 319926
+MD5 (gnugk-2.2.2.tar.gz) = 689d1239273d21daba5746fd128d3184
+SIZE (gnugk-2.2.2.tar.gz) = 562982
Index: pkg-deinstall
===================================================================
RCS file: pkg-deinstall
diff -N pkg-deinstall
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg-deinstall 20 Jun 2005 20:58:52 -0000
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+gnugk_config=${PKG_PREFIX:-"/usr/local"}/etc/gnugk.ini
+gnugk_logdir="/var/log/gnugk"
+gnugk_piddir="/var/run/gnugk"
+
+case $2 in
+DEINSTALL)
+ cmp -s -z ${gnugk_config} ${gnugk_config}.default && rm ${gnugk_config}
+ rmdir ${gnugk_logdir} 2>/dev/null
+ rmdir ${gnugk_piddir} 2>/dev/null
+ ;;
+POST-DEINSTALL)
+ echo "===> post-deinstallation information for $1"
+ echo ""
+ echo " Please note that gatekeeper was not completely removed"
+ echo " from this system:"
+ echo ""
+ echo " Any gatekeeper related user accounts were kept."
+ if [ -f ${gnugk_config} \
+ -o -d ${gnugk_logdir} \
+ -o -d ${gnugk_piddir} ] ; then
+ echo ""
+ echo " Additionally, the log directory as well as any"
+ echo " modified configuration files were preserved"
+ echo " too, in case you want to install an updated version"
+ echo " of gatekeeper. You need to remove them manually if"
+ echo " you do not want to use it any longer."
+ fi
+ echo ""
+ ;;
+*)
+ exit 64
+ ;;
+esac
+exit 0
Index: pkg-install
===================================================================
RCS file: pkg-install
diff -N pkg-install
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ pkg-install 20 Jun 2005 20:58:52 -0000
@@ -0,0 +1,91 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+PATH=/bin:/usr/bin:/usr/sbin
+
+pkgname=$1
+gnugk_user=gnugk
+gnugk_group=gnugk
+gnugk_config=${PKG_PREFIX:-"/usr/local"}/etc/gnugk.ini
+gnugk_logdir="/var/log/gnugk"
+gnugk_piddir="/var/run/gnugk"
+
+if [ -x /usr/sbin/nologin ]; then
+ nologin=/usr/sbin/nologin
+else
+ nologin=/sbin/nologin
+fi
+
+case $2 in
+PRE-INSTALL)
+ echo "===> Pre-installation configuration for ${pkgname}"
+ if ! pw groupshow ${gnugk_group} -q >/dev/null ; then
+ echo "There is no group '${gnugk_group}' on this system, so I will try to create it:"
+ if ! pw groupadd ${gnugk_group} -q -h - ; then
+ echo "Failed to create group \"${gnugk_group}\"!" >&2
+ echo "Please create it manually." >&2
+ exit 1
+ else
+ echo "Group '${gnugk_group}' created successfully:"
+ fi
+ else
+ echo "I will use the existing group '${gnugk_group}':"
+ fi
+ pw groupshow ${gnugk_group}
+
+ if ! pw usershow ${gnugk_user} -q >/dev/null ; then
+ echo "There is no account '${gnugk_user}' on this system, so I will try to create it:"
+ if ! pw useradd -q -n ${gnugk_user} \
+ -g ${gnugk_group} -d/nonexistent \
+ -c "GNU Gatekeeper pseudo user" \
+ -s "${nologin}" -h - ; then
+ echo "Failed to create user '${gnugk_user}'!" >&2
+ echo "Please create it manually." >&2
+ exit 1
+ else
+ echo "User '${gnugk_user}' created successfully:"
+ fi
+ else
+ echo "I will use the existing user '${gnugk_user}':"
+ fi
+ pw usershow ${gnugk_user}
+
+ for dir in ${gnugk_logdir} ${gnugk_piddir}; do
+ if [ ! -d ${dir} ]; then
+ echo "Creating ${dir}..."
+ install -d -o ${gnugk_user} -g ${gnugk_group} \
+ -m 0750 ${dir}
+ fi
+ done
+ ;;
+POST-INSTALL)
+ if [ ! -f ${gnugk_config} \
+ -a -f ${gnugk_config}.default ]; then
+ echo "Creating ${gnugk_config} from default..."
+ install -c -o root -g ${gnugk_group} -m 0640 \
+ ${gnugk_config}.default \
+ ${gnugk_config}
+ fi
+
+ echo "===> Post-installation informations for ${pkgname}"
+ echo ""
+ echo " o A sample configuration file for this package is installed"
+ echo " as ${gnugk_config}."
+ echo " More example configurations can be found in
+ echo " ${PKG_PREFIX}/share/examples/gatekeeper."
+ echo ""
+ echo " o A log directory has been created in ${gnugk_logdir}."
+ echo ""
+ echo " To enable gatekeeper, set gnugk_enable=yes in either"
+ echo " /etc/rc.conf, /etc/rc.conf.local or /etc/rc.conf.d/gnugk"
+ echo " See ${PKG_PREFIX}/etc/rc.d/gnugk.sh for more"
+ echo " configuration options."
+ echo ""
+ ;;
+*)
+ exit 64
+ ;;
+esac
+exit 0
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/net/gatekeeper/pkg-plist,v
retrieving revision 1.3
diff -u -r1.3 pkg-plist
--- pkg-plist 4 Mar 2003 14:53:27 -0000 1.3
+++ pkg-plist 20 Jun 2005 20:58:52 -0000
@@ -1,2 +1,21 @@
+ at unexec %D/etc/rc.d/gnugk.sh forcestop 2>/dev/null || true
bin/gnugk
bin/addpasswd
+etc/rc.d/gnugk.sh
+etc/gnugk.ini.default
+share/examples/gatekeeper/child.ini
+share/examples/gatekeeper/clirw.ini
+share/examples/gatekeeper/complete.ini
+share/examples/gatekeeper/fileacct.ini
+share/examples/gatekeeper/mysql.ini
+share/examples/gatekeeper/neighbor.ini
+share/examples/gatekeeper/proxy.ini
+share/examples/gatekeeper/radacct.ini
+share/examples/gatekeeper/radaliasauth.ini
+share/examples/gatekeeper/radauth.ini
+share/examples/gatekeeper/routed.ini
+share/examples/gatekeeper/rrqauth.ini
+share/examples/gatekeeper/sql.ini
+share/examples/gatekeeper/status.ini
+share/examples/gatekeeper/vqueue.ini
+ at dirrm share/examples/gatekeeper
Index: files/gnugk.sh.sample
===================================================================
RCS file: files/gnugk.sh.sample
diff -N files/gnugk.sh.sample
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/gnugk.sh.sample 20 Jun 2005 20:58:52 -0000
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# $FreeBSD:$
+#
+# PROVIDE: gnugk
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+#
+# Add to /etc/rc.conf to enable gnugk:
+# gnugk_enable="YES"
+#
+# Additional options for /etc/rc.conf
+# gnugk_user="the user that should run gnugk" (def: gnugk)
+# gnugk_config"path to the config file to use" (def: /usr/local/etc/gnugk.ini)
+# gnugk_logfile="path to the logfile to log to" (def: /var/log/gnugk/gnugk.log)
+# gnugk_pidfile="path to the pidfile to use" (def: /var/run/gnugk/gnugk.pid)
+# gnugk_flags="additional flags you need" (def: -t)
+
+. %%RC_SUBR%%
+
+name="gnugk"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/bin/${name}"
+extra_commands="reload"
+
+load_rc_config $name
+
+gnugk_user=${gnugk_user:-${name}}
+gnugk_config=${gnugk_config:-"%%PREFIX%%/etc/${name}.ini"}
+gnugk_logfile=${gnugk_logfile:-"/var/log/${name}/${name}.log"}
+gnugk_pidfile=${gnugk_pidfile:-"/var/run/${name}/${name}.pid"}
+
+# use some defaults if no flags are specified in /etc/rc.conf
+gnugk_flags=${gnugk_flags:-"-t"}
+
+required_files=${gnugk_conf}
+pidfile=${gnugk_pidfile}
+command_args="-u ${gnugk_user} -c ${gnugk_config} -o ${gnugk_logfile} --pid ${pidfile} >/dev/null &"
+
+run_rc_command "$1"
Index: files/patch-Makefile.in
===================================================================
RCS file: files/patch-Makefile.in
diff -N files/patch-Makefile.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ files/patch-Makefile.in 20 Jun 2005 20:58:52 -0000
@@ -0,0 +1,20 @@
+--- Makefile.in.orig Mon Jun 20 14:16:12 2005
++++ Makefile.in Mon Jun 20 14:17:08 2005
+@@ -76,7 +76,7 @@
+ LD_RUN_LIST += $(PWLIBDIR)/lib $(OPENH323DIR)/lib
+
+ # compiler/linker flags set by configure script
+-STDCCFLAGS += @STDCCFLAGS@
++STDCCFLAGS += @STDCCFLAGS@ -DPASN_LEANANDMEAN=1
+ LDFLAGS += @LDFLAGS@
+ ENDLDLIBS += @ENDLDLIBS@
+ ENDLDFLAGS += @ENDLDFLAGS@
+@@ -111,7 +111,7 @@
+
+ # extra targets
+ addpasswd: $(OBJDIR)/addpasswd.o
+- $(CXX) -o $(OBJDIR)/addpasswd $(CFLAGS) $(OBJDIR)/addpasswd.o $(LDFLAGS) -l$(PTLIB_BASE)$(LIB_TYPE) $(ENDLDLIBS) $(ENDLDFLAGS)
++ $(CXX) -o $(OBJDIR)/addpasswd $(CFLAGS) $(OBJDIR)/addpasswd.o $(LDFLAGS) -l$(PTLIB_BASE)$(LIB_TYPE)_s $(ENDLDLIBS) $(ENDLDFLAGS)
+
+ doc:
+ $(MAKE) -C docs/manual html
Index: files/patch-makefile
===================================================================
RCS file: /home/ncvs/ports/net/gatekeeper/files/patch-makefile,v
retrieving revision 1.2
diff -u -r1.2 patch-makefile
--- files/patch-makefile 28 Aug 2003 07:26:16 -0000 1.2
+++ files/patch-makefile 20 Jun 2005 20:58:52 -0000
@@ -1,19 +0,0 @@
-*** Makefile.orig Thu Aug 28 08:22:41 2003
---- Makefile Thu Aug 28 08:22:54 2003
-*************** endif
-*** 187,193 ****
-
- # extra targets
- addpasswd: $(OBJDIR)/addpasswd.o
-! $(CXX) -o $(OBJDIR)/addpasswd $(CFLAGS) $(OBJDIR)/addpasswd.o $(LDFLAGS) -l$(PTLIB_BASE)$(LIB_TYPE) $(ENDLDLIBS) $(ENDLDFLAGS)
-
- doc: docs/manual.sgml
- cd docs; sgml2html manual.sgml; \
---- 187,193 ----
-
- # extra targets
- addpasswd: $(OBJDIR)/addpasswd.o
-! $(CXX) -o $(OBJDIR)/addpasswd $(CFLAGS) $(OBJDIR)/addpasswd.o $(LDFLAGS) -l$(PTLIB_BASE)$(LIB_TYPE)_s $(ENDLDLIBS) $(ENDLDFLAGS)
-
- doc: docs/manual.sgml
- cd docs; sgml2html manual.sgml; \
Index: files/patch-singleton.h
===================================================================
RCS file: /home/ncvs/ports/net/gatekeeper/files/patch-singleton.h,v
retrieving revision 1.1
diff -u -r1.1 patch-singleton.h
--- files/patch-singleton.h 8 Oct 2004 03:54:38 -0000 1.1
+++ files/patch-singleton.h 20 Jun 2005 20:58:52 -0000
@@ -1,15 +0,0 @@
---- singleton.h.orig Thu Oct 7 19:42:31 2004
-+++ singleton.h Thu Oct 7 19:42:49 2004
-@@ -87,12 +87,7 @@
- Singleton();
- ~Singleton();
-
--#ifdef WIN32
- public:
--#else
-- private:
-- friend T *InstanceOf<T>();
--#endif
- static SingletonBase *m_Instance;
- static PMutex m_CreationLock;
- };
--- gatekeeper.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list