%{!?username:%global username ip-sentinel} %global service ip-sentinel %global homedir %{_var}/lib/ip-sentinel %global minitdir %{_sysconfdir}/minit %global minitsvcdir %minitdir/services/%{name} Summary: Tool to prevent unauthorized usage of IP addresses Name: ip-sentinel Version: 0.12 Release: 1902%{?dist} License: GPLv2 Group: System Environment/Daemons URL: http://www.nongnu.org/ip-sentinel/ Source0: http://savannah.nongnu.org/download/ip-sentinel/%{name}-%{version}.tar.bz2 Source1: http://savannah.nongnu.org/download/ip-sentinel/%{name}-%{version}.tar.bz2.sig Patch0: ip-sentinel-0.12-pidfile.patch Patch1: ip-sentinel-0.12-glibc.patch BuildRoot: %_tmppath/%{name}-%{version}-%{release}-buildroot Requires: init(ip-sentinel) Provides: user(%username) = 1 Provides: group(%username) = 1 BuildRequires: which BuildRequires: fedora-usermgmt-devel %package sysvinit Summary: SysV initscripts for ip-sentinel Group: System Environment/Base Provides: init(ip-sentinel) = sysv Requires(preun): %{name} = %{version}-%{release} Requires(postun): %{name} = %{version}-%{release} Requires(preun): initscripts Requires(postun): initscripts Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Provides: %{name}-sysv = %{version}-%{release} Obsoletes: %{name}-sysv < %{version}-%{release} BuildArch: noarch %package upstart Summary: upstart initscripts for ip-sentinel Group: System Environment/Base Source10: ip-sentinel.upstart Provides: init(%{name}) = upstart Requires: %{name} = %{version}-%{release} Requires(pre): /etc/init Requires(post): /usr/bin/killall Requires(postun): /sbin/initctl BuildArch: noarch %package minit Summary: minit initscripts for ip-sentinel Group: System Environment/Base Provides: init(%{name}) = minit Requires: %{name} = %{version}-%{release} Requires(pre): minit-setup Requires(postun): minit-setup BuildArch: noarch %description IP Sentinel is a tool that tries to prevent unauthorized usage of IP addresses within an ethernet broadcast domain by answering ARP requests. After receiving faked replies, requesting parties store the MAC in their ARP tables and will send future packets to this invalid MAC, rendering the IP unreachable. %description sysvinit IP Sentinel is a tool that tries to prevent unauthorized usage of IP addresses. This package provides the scripts which can be used to start ip-sentinel with a SysV initconcept. %description upstart IP Sentinel is a tool that tries to prevent unauthorized usage of IP addresses. This package provides the scripts which can be used to start ip-sentinel with the upstart initconcept. %description minit IP Sentinel is a tool that tries to prevent unauthorized usage of IP addresses. This package provides the scripts which can be used to start ip-sentinel with the minit initconcept. %prep %setup -q %patch0 -p0 -b .pidfile %patch1 -p0 %build %configure --enable-release \ --with-initrddir=%{_initrddir} \ --with-username=%username \ --disable-dietlibc make %{?_smp_mflags} all %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install install-contrib install -m750 -d $RPM_BUILD_ROOT%homedir install -pD -m 0644 %SOURCE10 $RPM_BUILD_ROOT/etc/init/ip-sentinel.conf %{!?with_upstart: rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/init} %{!?with_minit: rm -rf $RPM_BUILD_ROOT%minitsvcdir} %check make check %clean rm -rf $RPM_BUILD_ROOT %pre %__fe_groupadd 1 -r %username &>/dev/null || : %__fe_useradd 1 -r -s /sbin/nologin -M -d %homedir \ -c 'IP sentinel user' -g %username %username &>/dev/null || : %postun %__fe_userdel %username &>/dev/null || : %__fe_groupdel %username &>/dev/null || : %post sysvinit /sbin/chkconfig --add %service %preun sysvinit if test "$1" = "0"; then %{_initrddir}/%service stop >/dev/null /sbin/chkconfig --del %service fi %postun sysvinit test "$1" = 0 || %_initrddir/%service condrestart &>/dev/null %post upstart /usr/bin/killall -u %username ip-sentinel 2>/dev/null || : %preun upstart test "$1" != "0" || /sbin/initctl -q stop ip-sentinel || : %files %defattr(-,root,root,-) %doc AUTHORS COPYING ChangeLog NEWS README THANKS %{_mandir}/*/* %{_sbindir}/* %attr(-,root,%username) %homedir %files sysvinit %defattr(-,root,root,-) %config %{_initrddir}/* %config(noreplace) %{_sysconfdir}/sysconfig/* %if 0%{?with_upstart:1} %files upstart %defattr(-,root,root,-) %config(noreplace) /etc/init/* %endif %if 0%{?with_minit:1} %files minit %defattr(-,root,root,-) %dir %minitsvcdir %minitsvcdir/run %minitsvcdir/respawn %config(noreplace) %minitsvcdir/params %endif %changelog * Thu Feb 28 2013 Jon Ciesla - 0.12-1902 - Spec cleanup. - Switch from dietlibc to glibc. * Thu Feb 14 2013 Fedora Release Engineering - 0.12-1901 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Aug 19 2012 Enrico Scholz - 0.12-1900 - conditionalized upstart and disabled it by default * Thu Jul 19 2012 Fedora Release Engineering - 0.12-1303 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Fri Jan 13 2012 Fedora Release Engineering - 0.12-1302 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Feb 09 2011 Fedora Release Engineering - 0.12-1301 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Dec 6 2009 Enrico Scholz - 0.12-1300 - updated -upstart to upstart 0.6.3 * Fri Jul 24 2009 Fedora Release Engineering - 0.12-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sun Mar 1 2009 Enrico Scholz - 0.12-14 - added -upstart subpackage - renamed -sysv subpackage to -sysvinit to let -upstart win the default dependency resolving * Tue Feb 24 2009 Fedora Release Engineering - 0.12-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Thu Jul 31 2008 Tom "spot" Callaway - 0.12-12 - fix license tag * Mon Feb 18 2008 Fedora Release Engineering - 0.12-11 - Autorebuild for GCC 4.3 * Thu Jan 18 2007 David Woodhouse 0.12-10 - rebuilt with PPC support * Thu Oct 05 2006 Christian Iseli 0.12-9 - rebuilt for unwind info generation, broken in gcc-4.1.1-21 * Mon Sep 18 2006 Enrico Scholz - 0.12-8 - rebuilt * Sun Jul 9 2006 Enrico Scholz - 0.12-7 - rebuilt with dietlibc-0.30 - use new fedora-usermgmt code - use %%bcond_* macros * Mon Feb 20 2006 Enrico Scholz - 0.12-6 - exclude PPC arch because dietlibc is not available there anymore * Fri Jul 8 2005 Enrico Scholz - 0.12-5 - fixed named of pidfile (reported by Razvan Sandu) * Wed Jun 8 2005 Enrico Scholz - 0.12-4 - rebuilt * Wed Jun 8 2005 Enrico Scholz - 0.12-3 - added 'BuildRequires: which' - do not use dietlibc on non-i386 archs running FC3 * Thu May 19 2005 Enrico Scholz - 0.12-2 - use %%dist instead of %%disttag * Wed Mar 30 2005 Enrico Scholz - 0.12-1 - updated to 0.12 * Thu Aug 19 2004 Enrico Scholz - 0:0.10.2-0 - added support for 'fedora-usermgmt' (enabled with '--with fedora' switch) * Thu Jun 17 2004 Enrico Scholz - 0:0.10.1-0 - conditionalized building of -minit subpackage * Wed Jun 16 2004 Enrico Scholz - 0:0.9.2-0 - updated minit filelist - moved /etc/sysconfig/* files into -sysv subpackage; they are not used for 'minit' anymore * Sat Mar 20 2004 Enrico Scholz - 0:0.9-0 - workaround https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118773 * Thu Dec 4 2003 Enrico Scholz - 0:0.8-0 - use 'install-contrib' * Tue Sep 9 2003 Enrico Scholz 0:0.7-1 - removed more unneeded curlies * Tue Aug 5 2003 Enrico Scholz 0:0.6-1 - version 0.6 - added minit support - removed unneeded curlies * Thu Jul 17 2003 Enrico Scholz 0:0.5-2 - removed %%doc attribute from %%mandir-entries * Thu Jul 10 2003 Enrico Scholz 0:0.5-1 - moved 'make check' into the %%check section * Sat May 24 2003 Enrico Scholz 0:0.4-1 - removed dependencies on /sbin/service - removed packager tag - create and remove group explicitely * Wed May 21 2003 Enrico Scholz 0:0.3-1 - applied fedora.us naming scheme - cleanups * Fri Nov 15 2002 Enrico Scholz 0.1-1 - initial build