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