diff options
author | nbm <nbm@FreeBSD.org> | 2001-08-23 14:45:02 +0000 |
---|---|---|
committer | nbm <nbm@FreeBSD.org> | 2001-08-23 14:45:02 +0000 |
commit | 648793487c8ef5edb4e5fcabc6b8d7b57534d253 (patch) | |
tree | bfe020c13c2f0399efd18ed07a333d126528c720 /net-mgmt/arpwatch-devel | |
parent | 59842353320018b64f7fe5c7293d166b6393e0d5 (diff) | |
download | FreeBSD-ports-648793487c8ef5edb4e5fcabc6b8d7b57534d253.zip FreeBSD-ports-648793487c8ef5edb4e5fcabc6b8d7b57534d253.tar.gz |
arpwatch package will now install an arp.dat file, meaning arpwatch from
the package will work by default.
Additionally, setting arpwatch_interfaces in the rc.conf system will
allow you to specify which interfaces arpwatches will run on. By
default (ie, variable empty or not set), it will run on the first
non-local interface it finds.
Approved by: brian (thanks!)
Diffstat (limited to 'net-mgmt/arpwatch-devel')
-rw-r--r-- | net-mgmt/arpwatch-devel/Makefile | 1 | ||||
-rw-r--r-- | net-mgmt/arpwatch-devel/files/arpwatch.sh | 28 | ||||
-rw-r--r-- | net-mgmt/arpwatch-devel/pkg-plist | 3 |
3 files changed, 29 insertions, 3 deletions
diff --git a/net-mgmt/arpwatch-devel/Makefile b/net-mgmt/arpwatch-devel/Makefile index 44dbbc0..20ed2db 100644 --- a/net-mgmt/arpwatch-devel/Makefile +++ b/net-mgmt/arpwatch-devel/Makefile @@ -7,6 +7,7 @@ PORTNAME= arpwatch PORTVERSION= 2.1.a11 +PORTREVISION= 1 CATEGORIES= net MASTER_SITES= http://www.Awfulhak.org/arpwatch/ \ ftp://ftp.ee.lbl.gov/ diff --git a/net-mgmt/arpwatch-devel/files/arpwatch.sh b/net-mgmt/arpwatch-devel/files/arpwatch.sh index 1f4ad20..0725462 100644 --- a/net-mgmt/arpwatch-devel/files/arpwatch.sh +++ b/net-mgmt/arpwatch-devel/files/arpwatch.sh @@ -1,5 +1,12 @@ #!/bin/sh +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + prog=$(realpath $0) || exit 1 dir=${prog%/*} PREFIX=${dir%/etc/rc.d} @@ -12,9 +19,26 @@ fi case $1 in start) - if [ -x "$PREFIX"/sbin/arpwatch -a -d "$PREFIX"/arpwatch ]; then - "$PREFIX"/sbin/arpwatch && echo -n ' arpwatch' + if [ ! -e "$PREFIX"/arpwatch/arp.dat ]; then + if [ -e "$PREFIX"/arpwatch/arp.dat- ]; then + cp "$PREFIX"/arpwatch/arp.dat- "$PREFIX"/arpwatch/arp.dat + else + touch "$PREFIX"/arpwarch/arp.dat + fi fi + + case ${arpwatch_interfaces} in + '') + if [ -x "$PREFIX"/sbin/arpwatch -a -d "$PREFIX"/arpwatch ]; then + "$PREFIX"/sbin/arpwatch && echo -n ' arpwatch' + fi + ;; + *) + for interface in ${arpwatch_interfaces}; do + "$PREFIX"/sbin/arpwatch -i "${interface}" && echo -n " arpwatch(${interface})" + done + ;; + esac ;; stop) killall arpwatch && echo -n ' arpwatch' diff --git a/net-mgmt/arpwatch-devel/pkg-plist b/net-mgmt/arpwatch-devel/pkg-plist index 2d3d476..d186c23 100644 --- a/net-mgmt/arpwatch-devel/pkg-plist +++ b/net-mgmt/arpwatch-devel/pkg-plist @@ -1,10 +1,11 @@ sbin/arpwatch sbin/arpsnmp -@unexec test -f %D/arpwatch/arp.dat && test -s %D/arpwatch/arp.dat || rm -f %D/arpwatch/arp.dat arpwatch/arp2ethers arpwatch/ethercodes.dat arpwatch/d.awk arpwatch/e.awk arpwatch/p.awk etc/rc.d/arpwatch.sh +@unexec test -f %D/arpwatch/arp.dat && test -s %D/arpwatch/arp.dat || rm -f %D/arpwatch/arp.dat +@exec test -f %D/arpwatch/arp.dat || touch %D/arpwatch/arp.dat @dirrm arpwatch |