ports/62883: New port: net/bb-client (Big Brother monitor)

Kim Scarborough sluggo at unknown.nu
Tue Feb 17 20:30:24 UTC 2004


The following reply was made to PR ports/62883; it has been noted by GNATS.

From: Kim Scarborough <sluggo at unknown.nu>
To: freebsd-gnats-submit at FreeBSD.org
Cc:  
Subject: Re: ports/62883: New port: net/bb-client (Big Brother monitor)
Date: Tue, 17 Feb 2004 14:25:26 -0600 (CST)

 Argh, I need to make two small-but-important changes to this. Not sure if
 you want a recursive diff or a new shar, so I'm assuming a new shar is
 easier. Please use this instead:
 
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	bb-client
 #	bb-client/Makefile
 #	bb-client/distinfo
 #	bb-client/pkg-install
 #	bb-client/pkg-descr
 #	bb-client/files
 #	bb-client/files/patch-aa
 #	bb-client/files/bb.sh
 #	bb-client/pkg-message
 #	bb-client/pkg-plist
 #	bb-client/pkg-deinstall
 #
 echo c - bb-client
 mkdir -p bb-client > /dev/null 2>&1
 echo x - bb-client/Makefile
 sed 's/^X//' >bb-client/Makefile << 'END-of-bb-client/Makefile'
 X# New ports collection makefile for:	bb-client
 X# Date created:				15 February 2004
 X# Whom:					Kim Scarborough <user at unknown.nu>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	bb
 XPORTVERSION=	1.9e
 XCATEGORIES=	net
 XPKGNAMESUFFIX=	-client
 XDISTNAME=	bb-${PORTVERSION}
 X
 XMAINTAINER=	user at unknown.nu
 XCOMMENT=	Big Brother system and network monitor (client)
 X
 XNO_PACKAGE=	"License forbids redistribution"
 XRESTRICTED=	"License must be agreed to before downloading"
 X
 XIS_INTERACTIVE=	yes
 XUSE_REINPLACE=	yes
 XNO_MTREE=	yes
 XWRKSRC=	${WRKDIR}/bbc${PORTVERSION}-btf
 XNO_WRKSUBDIR=	yes
 X
 XBBUSER?=	bigbrother
 XBBGROUP?=	${BBUSER}
 XBBHOME?=	bb
 X
 XPLIST_SUB=	BBHOME=${BBHOME}
 X
 X.include <bsd.port.pre.mk>
 X
 X.if !exists(${DISTDIR}/${DISTNAME}.tar.gz)
 XIGNORE=		may not be automatically fetched due to licensing\
 X		restrictions. Please go to\
 X		<http://www.bb4.com/cgi-bin/ndnld.pl> and manually\
 X		download the file after reading and agreeing to\
 X		the Non-Commercial License Agreement. Once\
 X		${DISTFILES} has been downloaded, move it to\
 X		${DISTDIR} and continue this build.
 X.endif
 X
 Xpost-extract:
 X	@( cd ${WRKDIR} && ${TAR} xf BBCLT-bbc${PORTVERSION}-btf.tar )
 X
 Xpre-build:
 X	@${ECHO_MSG}
 X	@${ECHO_MSG} "If you want to run Big Brother as a user other than \"${BBUSER}\", run:"
 X	@${ECHO_MSG} "make BBUSER=[username]"
 X	@${ECHO_MSG}
 X	@${ECHO_MSG} "If you want the Big Brother installation to live somewhere other than ${PREFIX}/${BBHOME}/, run:"
 X	@${ECHO_MSG} "make BBHOME=[dir]"
 X	@${ECHO_MSG} "(The directory will be relative to ${PREFIX} unless you redefine PREFIX.)"
 X	@${ECHO_MSG}
 X	@${ECHO_MSG} "These options can be combined."
 X	@${ECHO_MSG}
 X	@sleep 3
 X
 Xdo-build:
 X	@${SED} s~\&BBHOME~${PREFIX}/${BBHOME}~ ${WRKSRC}/runbb.sh.DIST > ${WRKSRC}/runbb.sh
 X	@${SED} s~\&BBUSER~${BBUSER}~ ${WRKSRC}/etc/bbdef.sh.DIST > ${WRKSRC}/etc/bbdef.sh
 X	@${SED} s~%%BBUSER%%~${BBUSER}~g ${FILESDIR}/bb.sh > ${WRKDIR}/bb.sh.sample
 X	@${REINPLACE_CMD} s~%%BBHOME%%~${PREFIX}/${BBHOME}~g ${WRKDIR}/bb.sh.sample
 X	@( cd ${WRKSRC}/src && ${MAKE} && ${MAKE} install )
 X
 Xpre-install:
 X	@BBUSER=${BBUSER} BBGROUP=${BBGROUP} WRKSRC=${WRKSRC}\
 X	${SH} ${PKGINSTALL} ${PKGNAME}
 X	@${ECHO_MSG} bbhome=${BBHOME} > ${WRKDIR}/bbinfo.sh
 X	@${ECHO_MSG} bbuser=${BBUSER} >> ${WRKDIR}/bbinfo.sh
 X	@${ECHO_MSG} bbgroup=${BBGROUP} >> ${WRKDIR}/bbinfo.sh
 X
 Xdo-install:
 X.for BBDIR in bin etc ext tmp
 X	@${MKDIR} ${PREFIX}/${BBHOME}/${BBDIR}
 X.endfor
 X	@${INSTALL_SCRIPT} ${WRKSRC}/runbb.sh ${PREFIX}/${BBHOME}/
 X	@${INSTALL_SCRIPT} ${WRKSRC}/install/bbsys.freebsd ${PREFIX}/${BBHOME}/etc/bbsys.local
 X	@${INSTALL_SCRIPT} ${WRKSRC}/install/bbsys.freebsd ${PREFIX}/${BBHOME}/etc/bbsys.local.dist
 X	@${INSTALL_SCRIPT} ${WRKSRC}/ext/ext-proto ${PREFIX}/${BBHOME}/ext/
 X.for BBBIN in bb bbrun getipaddr touchtime
 X	@${INSTALL_PROGRAM} ${WRKSRC}/bin/${BBBIN} ${PREFIX}/${BBHOME}/bin/
 X.endfor
 X.for BBSCRIPT in combo cpu disk local msgs ping procs
 X	@${INSTALL_SCRIPT} ${WRKSRC}/bin/bb-${BBSCRIPT}.sh ${PREFIX}/${BBHOME}/bin/
 X.endfor
 X.for BBTAB in bbext cpu df msgs proc
 X	@${INSTALL_DATA} ${WRKSRC}/etc/bb-${BBTAB}tab.DIST ${PREFIX}/${BBHOME}/etc/
 X.endfor
 X	@${INSTALL_DATA} ${WRKSRC}/etc/bbwarnsetup.cfg ${PREFIX}/${BBHOME}/etc/
 X.for BBETCSCRIPT in def def-client inc inc-client sys
 X	@${INSTALL_SCRIPT} ${WRKSRC}/etc/bb${BBETCSCRIPT}.sh ${PREFIX}/${BBHOME}/etc/
 X.endfor
 X	@${CHOWN} -R ${BBUSER}:${BBGROUP} ${PREFIX}/${BBHOME}
 X	@${TEST} -d ${PREFIX}/etc/rc.d || ${MKDIR} ${PREFIX}/etc/rc.d/
 X	@${INSTALL_SCRIPT} ${WRKDIR}/bb.sh.sample ${PREFIX}/etc/rc.d/
 X
 Xpost-install:
 X.if !defined(NOPORTDOCS)
 X	@${MKDIR} ${DOCSDIR}
 X.for BBDOC in LICENSE README README.CHANGES README.SECURITY README.SUPPORT
 X	@${INSTALL_MAN} ${WRKSRC}/${BBDOC} ${DOCSDIR}
 X.endfor
 X.endif
 X.if !defined(NOBBMSG)
 X	@${ECHO_MSG}
 X	@${SED} s~%%BBHOME%%~${PREFIX}/${BBHOME}~g pkg-message |\
 X	${SED} s~%%PREFIX%%~${PREFIX}~g
 X	@${ECHO_MSG}
 X.endif
 X	@${MKDIR} ${DATADIR}
 X	@${INSTALL_SCRIPT} ${WRKDIR}/bbinfo.sh ${DATADIR}/
 X
 X.include <bsd.port.post.mk>
 END-of-bb-client/Makefile
 echo x - bb-client/distinfo
 sed 's/^X//' >bb-client/distinfo << 'END-of-bb-client/distinfo'
 XMD5 (bb-1.9e.tar.gz) = 5f0ce6b6ea4038c411f506810e226689
 XSIZE (bb-1.9e.tar.gz) = 447216
 END-of-bb-client/distinfo
 echo x - bb-client/pkg-install
 sed 's/^X//' >bb-client/pkg-install << 'END-of-bb-client/pkg-install'
 X#!/bin/sh
 X
 XPW=/usr/sbin/pw
 X
 Xless ${WRKSRC}/LICENSE
 Xecho
 Xecho -n $ECHOOPTION "Do you agree to the terms of this license (y/n): $ECHOTAIL"
 Xread ANS
 X
 XANS=`echo "$ANS" | tr '[A-Z]' '[a-z]'`
 X
 Xif [ "$ANS" != "y" ]
 Xthen
 X	echo
 X	echo "Exiting..."
 X	exit 1
 Xelse
 X	echo
 X	echo "Thank you, installation continuing..."
 Xfi
 X
 Xif ${PW} group show "${BBGROUP}" 2>/dev/null; then
 X	echo "You already have a group \"${BBGROUP}\", so I will use it."
 Xelse
 X	if ${PW} groupadd ${BBGROUP}; then
 X		echo "Added group \"${BBGROUP}\"."
 X	else
 X		echo "Adding group \"${BBGROUP}\" failed..."
 X		exit 1
 X	fi
 Xfi
 X
 Xif ${PW} user show "${BBUSER}" 2>/dev/null; then
 X	echo "You already have a user \"${BBUSER}\", so I will use it."
 Xelse
 X	if ${PW} useradd ${BBUSER} -g ${BBGROUP} -h - \
 X		-d "/nonexistent" -s /sbin/nologin -c "Big Brother"
 X	then
 X		echo "Added user \"${BBUSER}\"."
 X	else
 X		echo "Adding user \"${BBUSER}\" failed..."
 X		exit 1
 X	fi
 Xfi
 X
 Xexit
 END-of-bb-client/pkg-install
 echo x - bb-client/pkg-descr
 sed 's/^X//' >bb-client/pkg-descr << 'END-of-bb-client/pkg-descr'
 XBig Brother monitors System and Network-delivered services for
 Xavailability. Your current network status is displayed on a
 Xcolor-coded web page in near-real time. When problems are detected,
 Xyou're immediately notified by e-mail, pager, or text message.
 X
 XThis is the client-only port. This should only be installed if
 Xyou will be sending data to an external Big Brother server.
 X
 XPlease note that Big Brother is only free for non-commercial
 Xuse.
 X
 XWWW: http://bb4.com/
 END-of-bb-client/pkg-descr
 echo c - bb-client/files
 mkdir -p bb-client/files > /dev/null 2>&1
 echo x - bb-client/files/patch-aa
 sed 's/^X//' >bb-client/files/patch-aa << 'END-of-bb-client/files/patch-aa'
 X--- etc/bbdef.sh.DIST.orig	Fri Jan  2 15:08:32 2004
 X+++ etc/bbdef.sh.DIST	Sat Feb 14 11:55:37 2004
 X@@ -8,7 +8,7 @@
 X #
 X
 X # OS TYPE
 X-BBOSTYPE="&BBOSTYPE"
 X+BBOSTYPE="freebsd"
 X export BBOSTYPE
 X
 X # BB USER
 X@@ -27,12 +27,12 @@
 X #
 X # FQDN="TRUE"		# YES...
 X
 X-FQDN="&BBFQDN"
 X+FQDN="TRUE"
 X
 X #
 X # PREVENT BB TO RUN AS root ?
 X #
 X-STOPROOT="&STOPROOT"
 X+STOPROOT="TRUE"
 X export STOPROOT
 X
 X #
 END-of-bb-client/files/patch-aa
 echo x - bb-client/files/bb.sh
 sed 's/^X//' >bb-client/files/bb.sh << 'END-of-bb-client/files/bb.sh'
 X#!/bin/sh
 X
 Xif [ $# -ne 1 ] ; then
 X		echo "Usage: `basename $0` {start|stop}" >&2
 X        exit 1
 Xfi
 X
 Xcase "$1" in
 X        'start')
 X                /usr/bin/su -m %%BBUSER%% -c "umask 022; %%BBHOME%%/runbb.sh start" > /dev/null && echo -n ' big brother'
 X                ;;
 X        'stop')
 X                /usr/bin/su -m %%BBUSER%% -c "%%BBHOME%%/runbb.sh stop" > /dev/null 2>&1 && echo -n ' big brother'
 X                ;;
 X		*)
 X			echo "Usage: `basename $0` {start|stop}" >&2
 Xesac
 END-of-bb-client/files/bb.sh
 echo x - bb-client/pkg-message
 sed 's/^X//' >bb-client/pkg-message << 'END-of-bb-client/pkg-message'
 XThe Big Brother client is now installed. After this machine has been added to
 Xthe bb-hosts file on the remote Big Brother server, copy that file to
 X%%BBHOME%%/etc/ on this machine.
 X
 XOnce you've done that, start Big Brother like this:
 X
 Xcp -p %%PREFIX%%/etc/rc.d/bb.sh.sample %%PREFIX%%/etc/rc.d/bb.sh
 X%%PREFIX%%/etc/rc.d/bb.sh start
 END-of-bb-client/pkg-message
 echo x - bb-client/pkg-plist
 sed 's/^X//' >bb-client/pkg-plist << 'END-of-bb-client/pkg-plist'
 X%%BBHOME%%/bin/bb
 X%%BBHOME%%/bin/bb-combo.sh
 X%%BBHOME%%/bin/bb-cpu.sh
 X%%BBHOME%%/bin/bb-disk.sh
 X%%BBHOME%%/bin/bb-local.sh
 X%%BBHOME%%/bin/bb-msgs.sh
 X%%BBHOME%%/bin/bb-ping.sh
 X%%BBHOME%%/bin/bb-procs.sh
 X%%BBHOME%%/bin/bbrun
 X%%BBHOME%%/bin/getipaddr
 X%%BBHOME%%/bin/touchtime
 X%%BBHOME%%/etc/bb-bbexttab.DIST
 X%%BBHOME%%/etc/bb-cputab.DIST
 X%%BBHOME%%/etc/bb-dftab.DIST
 X%%BBHOME%%/etc/bb-msgstab.DIST
 X%%BBHOME%%/etc/bb-proctab.DIST
 X%%BBHOME%%/etc/bbdef-client.sh
 X%%BBHOME%%/etc/bbdef.sh
 X%%BBHOME%%/etc/bbinc-client.sh
 X%%BBHOME%%/etc/bbinc.sh
 X at unexec if cmp -s %D/%%BBHOME%%/etc/bbsys.local.dist %D/%%BBHOME%%/etc/bbsys.local; then rm -f %D/%%BBHOME%%/etc/bbsys.local; fi
 X%%BBHOME%%/etc/bbsys.local.dist
 X%%BBHOME%%/etc/bbsys.sh
 X%%BBHOME%%/etc/bbwarnsetup.cfg
 X%%BBHOME%%/ext/ext-proto
 X%%BBHOME%%/runbb.sh
 Xetc/rc.d/bb.sh.sample
 X at unexec rm -f %D/etc/rc.d/bb.sh 2>/dev/null || true
 X%%PORTDOCS%%%%DOCSDIR%%/LICENSE
 X%%PORTDOCS%%%%DOCSDIR%%/README
 X%%PORTDOCS%%%%DOCSDIR%%/README.CHANGES
 X%%PORTDOCS%%%%DOCSDIR%%/README.SECURITY
 X%%PORTDOCS%%%%DOCSDIR%%/README.SUPPORT
 X%%PORTDOCS%%@dirrm %%DOCSDIR%%
 X%%DATADIR%%/bbinfo.sh
 X at dirrm %%BBHOME%%/bin
 X at unexec rmdir %D/%%BBHOME%%/etc 2>/dev/null || true
 X at unexec rmdir %D/%%BBHOME%%/ext 2>/dev/null || true
 X at unexec rm -rf %D/%%BBHOME%%/tmp 2>/dev/null || true
 X at unexec rmdir %D/%%BBHOME%% 2>/dev/null || true
 X at dirrm %%DATADIR%%
 END-of-bb-client/pkg-plist
 echo x - bb-client/pkg-deinstall
 sed 's/^X//' >bb-client/pkg-deinstall << 'END-of-bb-client/pkg-deinstall'
 X#!/bin/sh
 X
 Xif [ "$2" != "DEINSTALL" ]; then
 X	exit 0
 Xfi
 X
 XPW=/usr/sbin/pw
 X
 X. ${PKG_PREFIX}/share/bb/bbinfo.sh || exit
 Xkillall -u ${bbuser}
 Xecho
 Xecho -n $ECHOOPTION "Do you want to remove the user ${bbuser}? (y/n): $ECHOTAIL"
 Xread ANS
 X
 XANS=`echo "$ANS" | tr '[A-Z]' '[a-z]'`
 X
 Xif [ "$ANS" != "y" ]
 Xthen
 X	echo
 X	echo "Okay, ${bbuser} will be left on your system."
 Xelse
 X	pw userdel -n ${bbuser} && echo "Done."
 Xfi
 X
 Xecho
 Xecho -n $ECHOOPTION "Do you want to completely remove the directory ${PKG_PREFIX}/${bbhome}? (y/n): $ECHOTAIL"
 Xread ANS
 X
 XANS=`echo "$ANS" | tr '[A-Z]' '[a-z]'`
 X
 Xif [ "$ANS" != "y" ]
 Xthen
 X	echo
 X	echo "Okay."
 Xelse
 X	echo
 X	echo "Okay, I'll do my best, but you may have to rm -rf ${PKG_PREFIX}/${bbhome} manually when the deinstall finishes."
 X	rm -f ${PKG_PREFIX}/${bbhome}/BBOUT* ${PKG_PREFIX}/${bbhome}/etc/bb-hosts ${PKG_PREFIX}/${bbhome}/etc/bb-*tab 2> /dev/null || true
 Xfi
 X
 Xexit
 END-of-bb-client/pkg-deinstall
 exit
 



More information about the freebsd-ports-bugs mailing list