Initial commit
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
SUMARRY = "The ethernet monitor program; for keeping track of ethernet/ip address pairings"
|
||||
LICENSE = "BSD-4-Clause"
|
||||
HOME_PAGE = "http://ee.lbl.gov/"
|
||||
LIC_FILES_CHKSUM = "file://configure;md5=0f6cca2f69f384a14e2f5803210ca92e"
|
||||
|
||||
DEPENDS += "libpcap"
|
||||
|
||||
SRC_URI = "https://ee.lbl.gov/downloads/arpwatch/${BP}.tar.gz \
|
||||
file://arpwatch.conf \
|
||||
file://arpwatch.default \
|
||||
file://arpwatch_init \
|
||||
file://host_contam_fix.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "d47fa8b291fc37a25a2d0f3e1b64f451dc0be82d714a10ffa6ef8b0b9e33e166"
|
||||
|
||||
inherit autotools-brokensep update-rc.d useradd
|
||||
|
||||
ARPWATCH_UID ?= "arpwatch"
|
||||
ARPWATCH_GID ?= "arpwatch"
|
||||
APRWATCH_FROM ?= "root "
|
||||
ARPWATH_REPLY ?= "${ARPWATCH_UID}"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
|
||||
PACKACONFIG[email] = "-with-watcher=email=${APRWATCH_FROM} --with-watchee=email=${ARPWATH_REPLY}, , postfix, postfix postfix-cfg"
|
||||
|
||||
EXTRA_OECONF:append = " --srcdir=${S}"
|
||||
|
||||
CONFIGUREOPTS = " --build=${BUILD_SYS} \
|
||||
--host=${HOST_SYS} \
|
||||
--target=${TARGET_SYS} \
|
||||
--prefix=${prefix} \
|
||||
--exec_prefix=${exec_prefix} \
|
||||
--bindir=${bindir} \
|
||||
--sbindir=${sbindir} \
|
||||
--libexecdir=${libexecdir} \
|
||||
--datadir=${datadir} \
|
||||
--sysconfdir=${sysconfdir} \
|
||||
--sharedstatedir=${sharedstatedir} \
|
||||
--localstatedir=${localstatedir} \
|
||||
--libdir=${libdir} \
|
||||
--includedir=${includedir} \
|
||||
--oldincludedir=${oldincludedir} \
|
||||
--infodir=${infodir} \
|
||||
--mandir=${mandir} \
|
||||
"
|
||||
|
||||
do_configure () {
|
||||
${S}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF}
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${bindir}
|
||||
install -d ${D}${sbindir}
|
||||
install -d ${D}${mandir}
|
||||
install -d ${D}${sysconfdir}
|
||||
install -d ${D}${sysconfdir}/default
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -d ${D}${prefix}/etc/rc.d
|
||||
install -d ${D}/var/lib/arpwatch
|
||||
|
||||
oe_runmake install DESTDIR=${D}
|
||||
install -m 644 ${WORKDIR}/arpwatch.conf ${D}${sysconfdir}
|
||||
install -m 655 ${WORKDIR}/arpwatch_init ${D}${sysconfdir}/init.d/arpwatch
|
||||
install -m 644 ${WORKDIR}/arpwatch.default ${D}${sysconfdir}/default
|
||||
}
|
||||
|
||||
INITSCRIPT_NAME = "arpwatch"
|
||||
INITSCRIPT_PARAMS = "start 02 2 3 4 5 . stop 20 0 1 6 ."
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
GROUPADD_PARAM:${PN} = "--system ${ARPWATCH_UID}"
|
||||
USERADD_PARAM:${PN} = "--system -g ${ARPWATCH_GID} --home-dir \
|
||||
${localstatedir}/spool/${BPN} \
|
||||
--no-create-home --shell /bin/false ${BPN}"
|
||||
|
||||
CONFFILE_FILES = "${sysconfdir}/${PN}.conf"
|
||||
|
||||
FILES:${PN} = "${bindir} ${sbindir} ${prefix}/etc/rc.d \
|
||||
${sysconfdir} /var/lib/arpwatch"
|
||||
|
||||
COMPATIBLE_HOST:riscv32 = "null"
|
||||
COMPATIBLE_HOST:riscv64 = "null"
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
RDEPENDS:${PN} = "libpcap"
|
||||
@@ -0,0 +1,23 @@
|
||||
# /etc/arpwatch.conf: Debian-specific way to watch multiple interfaces.
|
||||
# Format of this configuration file is:
|
||||
#
|
||||
#<dev1> <arpwatch options for dev1>
|
||||
#<dev2> <arpwatch options for dev2>
|
||||
#...
|
||||
#<devN> <arpwatch options for devN>
|
||||
#
|
||||
# You can set global options for all interfaces by editing
|
||||
# /etc/default/arpwatch
|
||||
|
||||
# For example:
|
||||
|
||||
eth0
|
||||
#eth0 -m root
|
||||
#eth1 -m root
|
||||
#eth2 -m root
|
||||
|
||||
# or, if you have an MTA configured for plussed addressing:
|
||||
#
|
||||
#eth0 -m root+eth0
|
||||
#eth1 -m root+eth1
|
||||
#eth2 -m root+eth2
|
||||
@@ -0,0 +1,7 @@
|
||||
# Global options for arpwatch(8).
|
||||
|
||||
# Debian: don't report bogons, don't use PROMISC.
|
||||
ARGS="-N -p"
|
||||
|
||||
# Debian: run as `arpwatch' user. Empty this to run as root.
|
||||
RUNAS="arpwatch"
|
||||
@@ -0,0 +1,123 @@
|
||||
#!/bin/sh
|
||||
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin
|
||||
NAME=arpwatch
|
||||
DAEMON=/usr/sbin/$NAME
|
||||
DESC="Ethernet/FDDI station monitor daemon"
|
||||
DATADIR=/var/lib/$NAME
|
||||
RETVAL=0
|
||||
|
||||
. /etc/init.d/functions
|
||||
|
||||
### You shouldn't touch anything below unless you know what you are doing.
|
||||
|
||||
[ -f /etc/default/arpwatch ] && . /etc/default/arpwatch
|
||||
|
||||
# Decide whether we have to deal with multiple interfaces.
|
||||
CONF=/etc/arpwatch.conf
|
||||
MULTIPLE=0
|
||||
if [ -r $CONF ]; then
|
||||
grep -c '^[a-z]' $CONF 2>&1 >/dev/null && MULTIPLE=1
|
||||
fi
|
||||
|
||||
# Check whether we have to drop privileges.
|
||||
if [ -n "$RUNAS" ]; then
|
||||
if getent passwd "$RUNAS" >/dev/null; then
|
||||
ARGS="-u ${RUNAS} $ARGS"
|
||||
else
|
||||
RUNAS=""
|
||||
fi
|
||||
fi
|
||||
|
||||
start_instance () {
|
||||
IFACE=$1
|
||||
INSTANCE=${NAME}-${IFACE}
|
||||
DATAFILE=$DATADIR/${IFACE}.dat
|
||||
IFACE_OPTS="-P /var/run/${INSTANCE}.pid -i ${IFACE} -f ${DATAFILE} $2"
|
||||
|
||||
echo -n "Starting $DESC: "
|
||||
if [ ! -f $DATAFILE ]; then
|
||||
echo -n "(creating $DATAFILE) " :> $DATAFILE
|
||||
fi
|
||||
if [ -n "$RUNAS" ]; then
|
||||
echo -n "(chown $RUNAS $DATAFILE) "
|
||||
chown $RUNAS $DATAFILE
|
||||
fi
|
||||
start-stop-daemon --start --quiet \
|
||||
--pidfile /var/run/${INSTANCE}.pid \
|
||||
--exec $DAEMON -- $IFACE_OPTS $ARGS
|
||||
echo "${INSTANCE}."
|
||||
ps h -C $NAME -o pid,args | \
|
||||
awk "/$IFACE/ { print \$1 }" > /var/run/${INSTANCE}.pid
|
||||
}
|
||||
|
||||
stop_instance () {
|
||||
IFACE=$1
|
||||
INSTANCE=${NAME}-${IFACE}
|
||||
[ -f /var/run/${INSTANCE}.pid ] || return 0
|
||||
echo -n "Stopping $DESC: "
|
||||
start-stop-daemon --stop --quiet --oknodo \
|
||||
--pidfile /var/run/${INSTANCE}.pid
|
||||
echo "${INSTANCE}."
|
||||
rm -f /var/run/${INSTANCE}.pid
|
||||
}
|
||||
|
||||
process_loop_break_line () {
|
||||
__IFACE=$1
|
||||
shift
|
||||
__IOPTS="$@"
|
||||
}
|
||||
|
||||
process_loop () {
|
||||
OPERATION=$1
|
||||
grep '^[a-z]' $CONF 2>/dev/null | \
|
||||
while read LINE
|
||||
do
|
||||
process_loop_break_line $LINE
|
||||
I=$__IFACE
|
||||
I_OPTS="$__IOPTS"
|
||||
$OPERATION $I "$I_OPTS"
|
||||
done
|
||||
}
|
||||
|
||||
startup () {
|
||||
process_loop start_instance
|
||||
}
|
||||
|
||||
shutdown () {
|
||||
process_loop stop_instance
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
startup
|
||||
;;
|
||||
stop)
|
||||
shutdown
|
||||
;;
|
||||
reload)
|
||||
echo "Reload operation not supported -- use restart."
|
||||
RETVAL=2
|
||||
;;
|
||||
restart|force-reload)
|
||||
#
|
||||
# If the "reload" option is implemented, move the "force-reload"
|
||||
# option to the "reload" entry above. If not, "force-reload" is
|
||||
# just the same as "restart".
|
||||
#
|
||||
shutdown
|
||||
sleep 1
|
||||
startup
|
||||
;;
|
||||
status)
|
||||
status_of_proc $DAEMON $NAME
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/$NAME
|
||||
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
|
||||
echo "Usage: $N {start|stop|restart|force-reload}" >&2
|
||||
RETVAL=2
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
@@ -0,0 +1,21 @@
|
||||
This removes the host contamination
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Armin Kuster <akuster808@gmail.com>
|
||||
|
||||
Index: arpwatch-3.3/configure
|
||||
===================================================================
|
||||
--- arpwatch-3.3.orig/configure
|
||||
+++ arpwatch-3.3/configure
|
||||
@@ -4353,8 +4353,8 @@ fi
|
||||
CC=cc
|
||||
export CC
|
||||
fi
|
||||
- V_INCLS="$V_INCLS -I/usr/local/include"
|
||||
- LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
||||
+ V_INCLS="$V_INCLS "
|
||||
+ LDFLAGS="$LDFLAGS "
|
||||
if test "$GCC" != yes ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that $CC handles ansi prototypes" >&5
|
||||
$as_echo_n "checking that $CC handles ansi prototypes... " >&6; }
|
||||
Reference in New Issue
Block a user