Blame SPECS/arpwatch.spec

8501a5
%global _vararpwatch %{_localstatedir}/lib/arpwatch
8501a5
%global _hardened_build 1
8501a5
8501a5
Name: arpwatch
8501a5
Epoch: 14
8501a5
Version: 2.1a15
8501a5
Release: 36%{?dist}
8501a5
Summary: Network monitoring tools for tracking IP addresses on a network
8501a5
Group: Applications/System
8501a5
License: BSD with advertising
8501a5
URL: http://ee.lbl.gov/
8501a5
Requires(pre): shadow-utils 
8501a5
Requires(post): systemd-units
8501a5
Requires(preun): systemd-units
8501a5
Requires(postun): systemd-units
8501a5
Requires: /usr/sbin/sendmail
8501a5
BuildRequires: /usr/sbin/sendmail libpcap-devel systemd
8501a5
8501a5
Source0: ftp://ftp.ee.lbl.gov/arpwatch-%{version}.tar.gz
8501a5
Source1: arpwatch.service
8501a5
Source2: arpwatch.sysconfig
8501a5
# created by:
8501a5
# wget -O- http://standards.ieee.org/regauth/oui/oui.txt | \
8501a5
# iconv -f iso8859-1 -t utf8 | massagevendor | bzip2
8501a5
Source3: ethercodes-20110707.dat.bz2
8501a5
Patch1: arpwatch-2.1a4-fhs.patch
8501a5
Patch2: arpwatch-2.1a10-man.patch
8501a5
Patch3: arpwatch-drop.patch
8501a5
Patch4: arpwatch-drop-man.patch
8501a5
Patch5: arpwatch-addr.patch
8501a5
Patch6: arpwatch-dir-man.patch
8501a5
Patch7: arpwatch-scripts.patch
8501a5
Patch8: arpwatch-2.1a15-nolocalpcap.patch
8501a5
Patch9: arpwatch-2.1a15-bogon.patch
8501a5
Patch10: arpwatch-2.1a15-extraman.patch
8501a5
Patch11: arpwatch-exitcode.patch
8501a5
Patch12: arpwatch-2.1a15-dropgroup.patch
8501a5
Patch13: arpwatch-2.1a15-devlookup.patch
8501a5
Patch14: arpwatch-2.1a15-lookupiselect.patch
8501a5
Patch15: arpwatch-2.1a15-lookupiinvalid.patch
8501a5
Patch16: arpwatch-201301-ethcodes.patch
8501a5
Patch17: arpwatch-pie.patch
8501a5
Patch18: arpwatch-aarch64.patch
8501a5
Patch19: arpwatch-promisc.patch
8501a5
Patch20: arpwatch-ethernet-address-format.patch
8501a5
Patch21: arpwatch-zero-source-ip.patch
8501a5
8501a5
%description
8501a5
The arpwatch package contains arpwatch and arpsnmp.  Arpwatch and
8501a5
arpsnmp are both network monitoring tools.  Both utilities monitor
8501a5
Ethernet or FDDI network traffic and build databases of Ethernet/IP
8501a5
address pairs, and can report certain changes via email.
8501a5
8501a5
Install the arpwatch package if you need networking monitoring devices
8501a5
which will automatically keep track of the IP addresses on your
8501a5
network.
8501a5
8501a5
%prep
8501a5
%setup -q
8501a5
8501a5
%patch1 -p1 -b .fhs
8501a5
%patch2 -p1 -b .arpsnmpman
8501a5
%patch3 -p1 -b .droproot
8501a5
%patch4 -p0 -b .droprootman
8501a5
%patch5 -p1 -b .mailuser
8501a5
%patch6 -p1 -b .dirman
8501a5
%patch7 -p1 -b .scripts
8501a5
%patch8 -p1 -b .nolocalpcap
8501a5
%patch9 -p1 -b .bogon
8501a5
%patch10 -p1 -b .extraman
8501a5
%patch11 -p1 -b .exitcode
8501a5
%patch12 -p1 -b .dropgroup
8501a5
%patch13 -p1 -b .devlookup
8501a5
%patch14 -p1 -b .iselect
8501a5
%patch15 -p1 -b .iinval
8501a5
%patch16 -p1 -b .ethcode
8501a5
%patch17 -p1 -b .pie
8501a5
%patch18 -p1 -b .aarch64
8501a5
%patch19 -p1 -b .promisc
8501a5
%patch20 -p1 -b .ethernet-address
8501a5
%patch21 -p1 -b .zero-source-ip
8501a5
8501a5
%build
8501a5
%configure
8501a5
make ARPDIR=%{_vararpwatch}
8501a5
8501a5
%install
8501a5
8501a5
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
8501a5
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
8501a5
mkdir -p $RPM_BUILD_ROOT%{_vararpwatch}
8501a5
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
8501a5
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
8501a5
touch $RPM_BUILD_ROOT%{_vararpwatch}/arp.dat-
8501a5
make DESTDIR=$RPM_BUILD_ROOT install install-man
8501a5
8501a5
# prepare awk scripts
8501a5
perl -pi -e "s/\'/\'\\\'\'/g" *.awk
8501a5
8501a5
# and embed them
8501a5
for i in arp2ethers massagevendor massagevendor-old; do
8501a5
	cp -f $i $RPM_BUILD_ROOT%{_sbindir}
8501a5
	for j in *.awk; do
8501a5
		sed "s/-f\ *\(\<$j\>\)/\'\1\n\' /g" \
8501a5
			< $RPM_BUILD_ROOT%{_sbindir}/$i \
8501a5
			| sed "s/$j\$//;tx;b;:x;r$j" \
8501a5
			> $RPM_BUILD_ROOT%{_sbindir}/$i.x
8501a5
		mv -f $RPM_BUILD_ROOT%{_sbindir}/$i{.x,}
8501a5
	done
8501a5
	chmod 755 $RPM_BUILD_ROOT%{_sbindir}/$i
8501a5
done
8501a5
8501a5
install -p -m644 *.dat $RPM_BUILD_ROOT%{_vararpwatch}
8501a5
install -p -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/arpwatch.service
8501a5
install -p -m644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/arpwatch
8501a5
install -p -m644 %{SOURCE3} $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
8501a5
bzip2 -df $RPM_BUILD_ROOT%{_vararpwatch}/ethercodes.dat.bz2
8501a5
8501a5
rm -f $RPM_BUILD_ROOT%{_sbindir}/massagevendor-old
8501a5
8501a5
%post
8501a5
%systemd_post arpwatch.service
8501a5
8501a5
%pre
8501a5
if ! getent group arpwatch &> /dev/null; then
8501a5
	getent group pcap 2> /dev/null | grep -q 77 &&
8501a5
		/usr/sbin/groupmod -n arpwatch pcap 2> /dev/null ||
8501a5
		/usr/sbin/groupadd -g 77 arpwatch 2> /dev/null
8501a5
fi
8501a5
if ! getent passwd arpwatch &> /dev/null; then
8501a5
	getent passwd pcap 2> /dev/null | grep -q 77 &&
8501a5
		/usr/sbin/usermod -l arpwatch -g 77 \
8501a5
			-d %{_vararpwatch} pcap 2> /dev/null ||
8501a5
		/usr/sbin/useradd -u 77 -g 77 -s /sbin/nologin \
8501a5
			-M -r -d %{_vararpwatch} arpwatch 2> /dev/null
8501a5
fi
8501a5
:
8501a5
8501a5
%postun
8501a5
%systemd_postun_with_restart arpwatch.service
8501a5
8501a5
%preun
8501a5
%systemd_preun arpwatch.service
8501a5
8501a5
%files
8501a5
%doc README CHANGES arpfetch
8501a5
%{_sbindir}/arpwatch
8501a5
%{_sbindir}/arpsnmp
8501a5
%{_sbindir}/arp2ethers
8501a5
%{_sbindir}/massagevendor
8501a5
%{_mandir}/man8/*.8*
8501a5
%{_unitdir}/arpwatch.service
8501a5
%config(noreplace) %{_sysconfdir}/sysconfig/arpwatch
8501a5
%attr(1775,-,arpwatch) %dir %{_vararpwatch}
8501a5
%attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/arp.dat
8501a5
%attr(0644,arpwatch,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/arp.dat-
8501a5
%attr(0600,arpwatch,arpwatch) %verify(not md5 size mtime) %ghost %{_vararpwatch}/arp.dat.new
8501a5
%attr(0644,-,arpwatch) %verify(not md5 size mtime) %config(noreplace) %{_vararpwatch}/ethercodes.dat
8501a5
8501a5
%changelog
8501a5
* Wed Mar 22 2017 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-36
8501a5
- refix: arpwatch detects flip flop of 0.0.0.0 for multiple DHCP Clients (#1408894)
8501a5
8501a5
* Wed Mar 22 2017 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-35
8501a5
- arpwatch detects flip flop of 0.0.0.0 for multiple DHCP Clients (#1408894)
8501a5
8501a5
* Tue Mar 21 2017 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-34
8501a5
- MAC addresses are not shown properly (#1368523)
8501a5
8501a5
* Mon Apr 18 2016 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-33
8501a5
- fix typo in arpwatch-promisc.patch (#1291722)
8501a5
8501a5
* Thu Mar  3 2016 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-32
8501a5
- fix FTBFS (#1313890)
8501a5
8501a5
* Wed Mar  2 2016 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-31
8501a5
- add -p option that disables promiscuous mode (#1291722)
8501a5
8501a5
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 14:2.1a15-30
8501a5
- Mass rebuild 2014-01-24
8501a5
8501a5
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 14:2.1a15-29
8501a5
- Mass rebuild 2013-12-27
8501a5
8501a5
* Tue Apr 23 2013 Jan Synáček <jsynacek@redhat.com> 14:2.1a15-28
8501a5
- harden the package (#954336)
8501a5
- support aarch64 (#925027)
8501a5
8501a5
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-27
8501a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
8501a5
8501a5
* Thu Jan 17 2013 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-26
8501a5
- fix permissions related to collected database
8501a5
- update ethcodes defaults to current public IEEE OUI-32
8501a5
8501a5
* Mon Oct 15 2012 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-25
8501a5
- fix -i with invalid interface specified (#842660)
8501a5
8501a5
* Mon Oct 15 2012 Ales Ledvinka <aledvink@redhat.com> - 14:2.1a15-24
8501a5
- fix devlookup to start with -i interface specified (#842660)
8501a5
8501a5
* Wed Aug 22 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-23
8501a5
- Add system-rpm macros (#850032)
8501a5
8501a5
* Tue Jul 24 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-22
8501a5
- add devlookup patch: search for suitable default interface, if -i is not
8501a5
  specified (#842660)
8501a5
8501a5
* Thu Jul 19 2012 Jan Synáček <jsynacek@redhat.com> - 14:2.1a15-21
8501a5
- make spec slightly more fedora-review-friendly
8501a5
8501a5
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-21
8501a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
8501a5
8501a5
* Thu May 31 2012 Aleš Ledvinka <aledvink@redhat.com> 14:2.1a15-20
8501a5
- fix supplementary group list (#825328) (CVE-2012-2653)
8501a5
8501a5
* Thu Jan 19 2012 Jan Synáček <jsynacek@redhat.com> 14:2.1a15-19
8501a5
- Turn on PrivateTmp=true in service file (#782477)
8501a5
8501a5
* Thu Jan 05 2012 Jan Synáček <jsynacek@redhat.com> 14:2.1a15-18
8501a5
- Rebuilt for GCC 4.7
8501a5
8501a5
* Fri Jul 08 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-17
8501a5
- exit with zero error code (#699285)
8501a5
- change service type to forking (#699285)
8501a5
8501a5
* Thu Jul 07 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-16
8501a5
- replace SysV init script with systemd service (#699285)
8501a5
- update ethercodes.dat
8501a5
8501a5
* Mon Mar 28 2011 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-15
8501a5
- update ethercodes.dat (#690948)
8501a5
8501a5
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-14
8501a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
8501a5
8501a5
* Tue Mar 30 2010 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-13
8501a5
- update ethercodes.dat (#577552)
8501a5
- mark ethercodes.dat as noreplace
8501a5
- fix init script LSB compliance
8501a5
- include Debian arp2ethers and massagevendor man pages (#526160)
8501a5
- don't include massagevendor-old script anymore
8501a5
8501a5
* Wed Sep 02 2009 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-12
8501a5
- update ethercodes.dat
8501a5
8501a5
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-11
8501a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
8501a5
8501a5
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14:2.1a15-10
8501a5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
8501a5
8501a5
* Tue Sep 16 2008 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-9
8501a5
- update ethercodes.dat (#462364)
8501a5
8501a5
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 14:2.1a15-8
8501a5
- Autorebuild for GCC 4.3
8501a5
8501a5
* Wed Aug 22 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-7
8501a5
- rebuild
8501a5
8501a5
* Thu Aug 09 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-6
8501a5
- improve init script (#246869)
8501a5
- allow -n 0/32 to disable reporting bogons from 0.0.0.0 (#244606)
8501a5
- update license tag
8501a5
- update ethercodes.dat
8501a5
8501a5
* Wed Jun 13 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-5
8501a5
- update ethercodes.dat
8501a5
8501a5
* Thu May 24 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-4
8501a5
- fix return codes in init script (#237781)
8501a5
8501a5
* Mon Jan 15 2007 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-3
8501a5
- rename pcap user to arpwatch
8501a5
8501a5
* Tue Nov 28 2006 Miroslav Lichvar <mlichvar@redhat.com> 14:2.1a15-2
8501a5
- split from tcpdump package (#193657)
8501a5
- update to 2.1a15
8501a5
- clean up files in /var
8501a5
- force linking with system libpcap