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