[ipwatchd/el6] Initial import (#726989).
Jaroslav Imrich
jariq at fedoraproject.org
Wed Oct 16 21:07:55 UTC 2013
commit e7d773a0bfdafe9be3221b250e2ffd29f8310903
Author: Jaroslav Imrich <jariq at jariq.sk>
Date: Wed Oct 16 23:07:17 2013 +0200
Initial import (#726989).
.gitignore | 1 +
ipwatchd-sysvinit.patch | 191 +++++++++++++++++++++++++++++++++++++++++++++++
ipwatchd.spec | 88 ++++++++++++++++++++++
sources | 1 +
4 files changed, 281 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..8c3a7e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/ipwatchd-1.2.1.tar.gz
diff --git a/ipwatchd-sysvinit.patch b/ipwatchd-sysvinit.patch
new file mode 100644
index 0000000..3069fd4
--- /dev/null
+++ b/ipwatchd-sysvinit.patch
@@ -0,0 +1,191 @@
+diff -uNr ipwatchd-1.2.1/src/scripts/ipwatchd ipwatchd-1.2.1-sysvinit/src/scripts/ipwatchd
+--- ipwatchd-1.2.1/src/scripts/ipwatchd 2011-07-24 07:39:03.000000000 -0700
++++ ipwatchd-1.2.1-sysvinit/src/scripts/ipwatchd 2013-10-14 14:50:53.886854237 -0700
+@@ -1,117 +1,87 @@
+-#! /bin/sh
+-
++#!/bin/bash
++#
++# ipwatchd Startup script for ipwatchd.
++#
++# chkconfig: - 26 74
++# description: IPwatchD is simple daemon that analyses all \
++# incoming ARP packets in order to detect IP conflicts.
++#
+ ### BEGIN INIT INFO
+ # Provides: ipwatchd
+ # Required-Start: $local_fs $remote_fs $network $syslog
+ # Required-Stop: $local_fs $remote_fs $network $syslog
+-# Default-Start: 2 3 4 5
+-# Default-Stop: 0 1 6
++# Default-Stop: 0 1 2 3 4 5 6
+ # Short-Description: IP conflict detection daemon
+ # Description: IPwatchD is simple daemon that analyses all
+ # incoming ARP packets in order to detect IP conflicts
+ ### END INIT INFO
+
+-# Author: Jaroslav Imrich <jariq at jariq.sk>
+-
+-# Do NOT "set -e"
++# Source function library.
++. /etc/init.d/functions
+
+-# PATH should only include /usr/* if it runs after the mountnfs.sh script
+-PATH=/sbin:/usr/sbin:/bin:/usr/bin
+-DESC="IP conflict detection daemon"
+-NAME=ipwatchd
+-DAEMON=/usr/sbin/$NAME
+-DAEMON_ARGS="-c /etc/ipwatchd.conf"
+-PIDFILE=/var/run/$NAME.pid
+-SCRIPTNAME=/etc/init.d/$NAME
+-
+-# Exit if the package is not installed
+-[ -x "$DAEMON" ] || exit 0
+-
+-# Read configuration variable file if it is present
+-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+-
+-# Load the VERBOSE setting and other rcS variables
+-. /lib/init/vars.sh
+-
+-# Define LSB log_* functions.
+-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+-. /lib/lsb/init-functions
+-
+-#
+-# Function that starts the daemon/service
+-#
+-do_start()
+-{
+- # Return
+- # 0 if daemon has been started
+- # 1 if daemon was already running
+- # 2 if daemon could not be started
+- start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+- || return 1
+- start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+- $DAEMON_ARGS \
+- || return 2
++IPWDNAME=ipwatchd
++IPWDBIN=/usr/sbin/$IPWDNAME
++IPWDCFG=/etc/ipwatchd.conf
++IPWDARGS="-c $IPWDCFG"
++IPWDPID=/var/run/$IPWDNAME.pid
++IPWDLOCK=/var/lock/subsys/$IPWDNAME
++
++# Function that starts daemon
++start() {
++ [ -x "$IPWDBIN" ] || exit 5
++ if [ $UID -ne 0 ] ; then
++ echo "Only root can start $IPWDNAME"
++ exit 4
++ fi
++ echo -n $"Starting $IPWDNAME: "
++ daemon $IPWDBIN $IPWDARGS
++ RETVAL=$?
++ [ $RETVAL -eq 0 ] && touch $IPWDLOCK
++ echo
++ return $RETVAL
+ }
+
+-#
+-# Function that stops the daemon/service
+-#
+-do_stop()
+-{
+- # Return
+- # 0 if daemon has been stopped
+- # 1 if daemon was already stopped
+- # 2 if daemon could not be stopped
+- # other if a failure occurred
+- start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+- RETVAL="$?"
+- [ "$RETVAL" = 2 ] && return 2
+- rm -f $PIDFILE
+- return "$RETVAL"
++# Function that stops daemon
++stop() {
++ [ -x "$IPWDBIN" ] || exit 5
++ if [ $UID -ne 0 ] ; then
++ echo "Only root can stop $IPWDNAME"
++ exit 4
++ fi
++ echo -n $"Shutting down $IPWDNAME: "
++ killproc -p $IPWDPID $IPWDBIN
++ RETVAL=$?
++ [ $RETVAL -eq 0 ] && rm -f $IPWDLOCK
++ echo
++ return $RETVAL
+ }
+
+ case "$1" in
+- start)
+- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
+- do_start
+- case "$?" in
+- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+- esac
+- ;;
+- stop)
+- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
+- do_stop
+- case "$?" in
+- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
+- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
+- esac
+- ;;
+- status)
+- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+- ;;
+- restart|force-reload)
+- log_daemon_msg "Restarting $DESC" "$NAME"
+- do_stop
+- case "$?" in
+- 0|1)
+- do_start
+- case "$?" in
+- 0) log_end_msg 0 ;;
+- 1) log_end_msg 1 ;; # Old process is still running
+- *) log_end_msg 1 ;; # Failed to start
+- esac
+- ;;
+- *)
+- # Failed to stop
+- log_end_msg 1
+- ;;
+- esac
+- ;;
+- *)
+- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+- exit 3
+- ;;
++ start)
++ start
++ ;;
++ stop)
++ stop
++ ;;
++ status)
++ status -p $IPWDPID $IPWDNAME
++ ;;
++ restart)
++ stop
++ start
++ ;;
++ reload)
++ stop
++ start
++ ;;
++ condrestart)
++ [ -f "$IPWDLOCK" ] && restart || :
++ ;;
++ *)
++ echo "Usage: $IPWDNAME {start|stop|status|restart|reload|condrestart}"
++ exit 1
++ ;;
+ esac
+
+-:
++exit $?
++
diff --git a/ipwatchd.spec b/ipwatchd.spec
new file mode 100644
index 0000000..9d0f712
--- /dev/null
+++ b/ipwatchd.spec
@@ -0,0 +1,88 @@
+%if 0%{?rhel} < 6
+%global _initddir %{_initrddir}
+%endif
+
+Name: ipwatchd
+Version: 1.2.1
+Release: 3%{?dist}
+Summary: IP conflict detection tool
+
+Group: System Environment/Daemons
+License: GPLv2
+URL: http://ipwatchd.sf.net
+Source0: http://sourceforge.net/projects/ipwatchd/files/ipwatchd/%{version}/ipwatchd-%{version}.tar.gz
+Patch0: ipwatchd-sysvinit.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: libpcap-devel, libnet-devel
+
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(preun): initscripts
+Requires(postun): initscripts
+
+%description
+IPwatchD is a simple daemon that analyses all incoming ARP packets in order
+to detect IP conflicts on Linux. It can be configured to listen on one or
+more interfaces (alias interfaces are also supported) in active or passive
+mode. In active mode IPwatchD protects your host before IP takeover by
+answering Gratuitous ARP requests received from conflicting system.
+In passive mode it just records information about conflict through standard
+syslog interface.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+make -C src %{?_smp_mflags} CFLAGS="%{optflags}"
+
+%install
+rm -rf %{buildroot}
+make -C src install DESTDIR=%{buildroot}
+# Move init script to /etc/rc.d/init.d
+mkdir -p %{buildroot}%{_initddir}
+mv %{buildroot}/etc/init.d/ipwatchd %{buildroot}%{_initddir}
+
+%post
+if [ $1 -eq 1 ] ; then
+ # Initial installation
+ /sbin/chkconfig --add ipwatchd
+fi
+
+%preun
+if [ $1 -eq 0 ] ; then
+ # Package is being removed (not upgraded)
+ /sbin/service ipwatchd stop > /dev/null 2>&1 || :
+ /sbin/chkconfig --del ipwatchd
+fi
+
+%postun
+if [ $1 -ge 1 ] ; then
+ # Package is being upgraded (not removed)
+ /sbin/service ipwatchd condrestart > /dev/null 2>&1 || :
+fi
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%config(noreplace) %{_sysconfdir}/ipwatchd.conf
+%{_sbindir}/ipwatchd
+%{_sbindir}/ipwatchd-script
+%{_initddir}/ipwatchd
+%{_mandir}/man8/ipwatchd.8*
+%{_mandir}/man5/ipwatchd.conf.5*
+%{_mandir}/man1/ipwatchd-script.1*
+%doc LICENSE
+
+%changelog
+* Wed Oct 16 2013 Jaroslav Imrich <jariq at jariq.sk> 1.2.1-3
+- Minor changes for EPEL5
+
+* Mon Oct 14 2013 Jaroslav Imrich <jariq at jariq.sk> 1.2.1-2
+- Updated for EPEL6
+
+* Sat Mar 02 2013 Jaroslav Imrich <jariq at jariq.sk> 1.2.1-1
+- Initial release for CentOS6
diff --git a/sources b/sources
index e69de29..f2efa09 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+a54f5b815cb98d4e17770cad7ff42679 ipwatchd-1.2.1.tar.gz
More information about the scm-commits
mailing list