ports/126787: [PATCH] net-mgmt/nefu: various port enthancements
Bernhard Fröhlich
decke at bluelife.at
Sun Aug 24 14:20:06 UTC 2008
>Number: 126787
>Category: ports
>Synopsis: [PATCH] net-mgmt/nefu: various port enthancements
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Aug 24 14:20:05 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator: Bernhard Fröhlich
>Release: FreeBSD 7.0-STABLE amd64
>Organization:
>Environment:
System: FreeBSD chii.bluelife.at 7.0-STABLE FreeBSD 7.0-STABLE #0: Mon Jun
9 10:17:36 CEST
>Description:
- user account and home directory for nefu added
- fixed broken --without-html with patches against configure, main.c and
publish.c
- option for HTML added
- rc startscript added
Added file(s):
- files/nefu.in
- files/patch-main.c
- files/patch-publish.c
- pkg-deinstall
- pkg-install
Port maintainer (farrokhi at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- nefu-1.4.0_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/net-mgmt/nefu.orig/Makefile
/usr/ports/net-mgmt/nefu/Makefile
--- /usr/ports/net-mgmt/nefu.orig/Makefile 2008-08-21 08:18:03.000000000
+0200
+++ /usr/ports/net-mgmt/nefu/Makefile 2008-08-24 15:45:23.000000000 +0200
@@ -7,6 +7,7 @@
PORTNAME= nefu
PORTVERSION= 1.4.0
+PORTREVISION= 1
CATEGORIES= net-mgmt
MASTER_SITES= http://rsug.itd.umich.edu/software/nefu/files/
EXTRACT_SUFX= .tgz
@@ -14,17 +15,24 @@
MAINTAINER= farrokhi at FreeBSD.org
COMMENT= A network monitoring daemon
+USE_RC_SUBR= nefu
GNU_CONFIGURE= yes
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
LIBS="-L${LOCALBASE}/lib" \
YACC=${YACC} \
OPENSSL_CFLAGS="-I${OPENSSLINC}" \
OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl"
-CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} --without-html \
- --without-shelltests
+CONFIGURE_ARGS+=--with-ssl=${OPENSSLBASE} \
+ --without-sasl \
+ --without-zlib \
+ --without-shelltests
+
+NEFU_USER= nefu
+NEFU_GROUP= nefu
USE_OPENSSL= yes
-OPTIONS= LDAP "Enable OpenLDAP support" off
+OPTIONS= LDAP "Enable OpenLDAP support" off \
+ HTML "Enable HTML support" off
MAN1= nefu.1
MAN4= nefu.conf.4
@@ -39,15 +47,33 @@
CONFIGURE_ARGS+= --without-ldap
.endif
+.if defined(WITH_HTML)
+CONFIGURE_ARGS+=--with-html=${WWWDIR}
+PLIST_FILES+= "@unexec rm -rf "%D/%%WWWDIR%%" 2> /dev/null || true"
+.else
+CONFIGURE_ARGS+=--without-html
+.endif
+
post-patch:
@${REINPLACE_CMD} -e 's|-lsasl2||' \
${WRKSRC}/Makefile.in
@${REINPLACE_CMD} -e 's|-lssl|-lssl -lcrypto|' \
${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|== x_|= x_|' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|== x_|= x_|' \
+ ${WRKSRC}/libsnet/configure
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/nefu.1 ${PREFIX}/man/man1
${INSTALL_MAN} ${WRKSRC}/nefu.conf.4 ${PREFIX}/man/man4
+post-install:
+ @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.if defined(WITH_HTML)
+ ${MKDIR} ${WWWDIR}
+ ${CHOWN} -R ${NEFU_USER}:${NEFU_GROUP} ${WWWDIR}
+.endif
+
.include <bsd.port.post.mk>
diff -ruN --exclude=CVS /usr/ports/net-mgmt/nefu.orig/files/nefu.in
/usr/ports/net-mgmt/nefu/files/nefu.in
--- /usr/ports/net-mgmt/nefu.orig/files/nefu.in 1970-01-01
01:00:00.000000000 +0100
+++ /usr/ports/net-mgmt/nefu/files/nefu.in 2008-08-16 14:56:59.000000000
+0200
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# PROVIDE: nefu
+# REQUIRE: DAEMON
+# BEFORE: LOGIN
+#
+# Add the following line to /etc/rc.conf[.local] to enable nefu
+#
+# nefu_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable nefu.
+# nefu_config (str): Custom config file for nefu.
+# (default /usr/local/etc/nefu.conf)
+# nefu_flags (str): Custom additional arguments to be passed to nefu
+#
+
+. %%RC_SUBR%%
+
+name="nefu"
+rcvar=`set_rcvar`
+command=%%PREFIX%%/bin/${name}
+
+load_rc_config $name
+
+# set default
+: ${nefu_enable="NO"}
+: ${nefu_config="%%PREFIX%%/etc/nefu.conf"}
+: ${nefu_flags=""}
+
+command_args="-f ${nefu_config} ${nefu_flags}"
+
+run_rc_command "$1"
diff -ruN --exclude=CVS /usr/ports/net-mgmt/nefu.orig/files/patch-main.c
/usr/ports/net-mgmt/nefu/files/patch-main.c
--- /usr/ports/net-mgmt/nefu.orig/files/patch-main.c 1970-01-01
01:00:00.000000000 +0100
+++ /usr/ports/net-mgmt/nefu/files/patch-main.c 2008-06-23
20:27:41.000000000 +0200
@@ -0,0 +1,13 @@
+--- main.c 2006-11-10 20:32:33.000000000 +0100
++++ main.c 2008-06-23 20:26:45.000000000 +0200
+@@ -409,6 +409,10 @@
+ }
+ }
+
++ /* fix the html_dir */
++ if(no_html == 1)
++ nefu_html_dir = NULL;
++
+ /* initalize html pages */
+ html_init( &s );
+
diff -ruN --exclude=CVS
/usr/ports/net-mgmt/nefu.orig/files/patch-publish.c
/usr/ports/net-mgmt/nefu/files/patch-publish.c
--- /usr/ports/net-mgmt/nefu.orig/files/patch-publish.c 1970-01-01
01:00:00.000000000 +0100
+++ /usr/ports/net-mgmt/nefu/files/patch-publish.c 2008-06-24
19:24:24.000000000 +0200
@@ -0,0 +1,15 @@
+--- publish.c 2005-08-01 16:08:43.000000000 +0200
++++ publish.c 2008-06-24 14:11:41.000000000 +0200
+@@ -750,7 +750,11 @@
+ return( 1 );
+ }
+
+- return( html_plan( s ));
++ if ( nefu_html_dir != NULL ) {
++ return( html_plan( s ));
++ }
++
++ return ( 0 );
+ }
+
+
diff -ruN --exclude=CVS /usr/ports/net-mgmt/nefu.orig/pkg-deinstall
/usr/ports/net-mgmt/nefu/pkg-deinstall
--- /usr/ports/net-mgmt/nefu.orig/pkg-deinstall 1970-01-01
01:00:00.000000000 +0100
+++ /usr/ports/net-mgmt/nefu/pkg-deinstall 2008-08-09 16:58:41.000000000
+0200
@@ -0,0 +1,70 @@
+#! /bin/sh
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -z "${PACKAGE_BUILDING}" -a -z "${BATCH}" ]; then
+ read -p "${question} [${default}]? " answer
+ fi
+ if [ x${answer} = x ]; then
+ answer=${default}
+ fi
+ echo ${answer}
+}
+
+yesno() {
+ local dflt question answer
+
+ question=$1
+ dflt=$2
+ while :; do
+ answer=$(ask "${question}" "${dflt}")
+ case "${answer}" in
+ [Yy]*) return 0;;
+ [Nn]*) return 1;;
+ esac
+ echo "Please answer yes or no."
+ done
+}
+
+delete_account() {
+ local u g home
+
+ u=$1
+ g=$2
+ if pw group show ${g} > /dev/null 2>&1; then
+ if yesno "Do you want me to remove group \"${g}\"" y; then
+ pw group del -n ${g}
+ echo "Done."
+ else
+ GID=`pw group show ${g} | awk -F: '{ print $3 }'`
+ fi
+ fi
+ if pw user show ${u} > /dev/null 2>&1; then
+ if yesno "Do you want me to remove user \"${u}\"" y; then
+ eval home=~${u}
+ pw user del -n ${u} -r
+ echo "Done."
+ if [ -d "${home}" ]; then
+ echo "Please remember to remove the home directory \"${home}\""
+ fi
+
+ # pw user del may have removed the group, too.
+ # Put it back if the admin asked us to retain it.
+ if [ -n "$GID" ]; then
+ pw group show ${g} > /dev/null 2>&1
+ if [ $? -ne 0 ]; then
+ pw group add ${g}
+ fi
+ fi
+ fi
+ fi
+}
+
+case $2 in
+ POST-DEINSTALL)
+ delete_account nefu nefu
+ ;;
+esac
diff -ruN --exclude=CVS /usr/ports/net-mgmt/nefu.orig/pkg-install
/usr/ports/net-mgmt/nefu/pkg-install
--- /usr/ports/net-mgmt/nefu.orig/pkg-install 1970-01-01
01:00:00.000000000 +0100
+++ /usr/ports/net-mgmt/nefu/pkg-install 2008-08-15 14:44:52.000000000 +0200
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ USER=nefu
+ GROUP=nefu
+
+ if pw groupshow "${GROUP}" > /dev/null 2>&1; then
+ echo "===> Using existing group ${GROUP}"
+ else
+ echo "===> Adding group ${GROUP}"
+ pw groupadd ${GROUP} || exit 1
+ fi
+
+ if pw usershow "${USER}" > /dev/null 2>&1; then
+ echo "===> Using existing user ${USER}"
+ else
+ echo "===> Adding user ${USER}"
+ pw adduser ${USER} -g ${GROUP} -h - -m -d "/home/${USER}" \
+ -s "/sbin/nologin" -c "Nefu daemon" || exit 1
+ fi
+ ;;
+esac
--- nefu-1.4.0_1.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list