0f2bd31
Summary: User space tool to set up tables of ARP rules in kernel
0f2bd31
Name:    arptables
af2f482
Version: 0.0.5
558c792
Release: 6%{?dist}
0f2bd31
License: GPLv2+
0f2bd31
0f2bd31
URL:     http://ebtables.sourceforge.net/
af2f482
Source0: http://ftp.netfilter.org/pub/arptables/%{name}-%{version}.tar.gz
0f2bd31
Source1: arptables.service
d8a888d
Source2: arptables-legacy-helper
d8a888d
b846a35
BuildRequires:  gcc
d9f6a39
BuildRequires: perl-generators
0f2bd31
BuildRequires: systemd
157e458
BuildRequires: make
0f2bd31
0f2bd31
%description
0f2bd31
The arptables is a user space tool used to set up and maintain
0f2bd31
the tables of ARP rules in the Linux kernel. These rules inspect
0f2bd31
the ARP frames which they see. arptables is analogous to the iptables
0f2bd31
user space tool, but is less complicated.
0f2bd31
d8a888d
%package legacy
d8a888d
Summary: Legacy user space tool to set up tables of ARP rules in kernel
d8a888d
Requires(post): %{_sbindir}/update-alternatives
d8a888d
Requires(postun): %{_sbindir}/update-alternatives
d8a888d
Provides:  arptables-helper
0f2bd31
d8a888d
%description legacy
d8a888d
The arptables is a user space tool used to set up and maintain
d8a888d
the tables of ARP rules in the Linux kernel. These rules inspect
d8a888d
the ARP frames which they see. arptables is analogous to the iptables
d8a888d
user space tool, but is less complicated.
d8a888d
d8a888d
Note that it is considered legacy upstream since nftables provides the same
d8a888d
functionality in a much newer code-base. To aid in migration, there is
d8a888d
arptables-nft utility, a drop-in replacement for the legacy one which uses
d8a888d
nftables internally. It is provided by iptables-arptables package.
d8a888d
d8a888d
%package services
d8a888d
Summary: arptables systemd services
d8a888d
%{?systemd_ordering}
d8a888d
Requires(post): systemd
d8a888d
Requires(preun): systemd
d8a888d
Requires(postun): systemd
d8a888d
Requires: arptables-helper
0f6d054
Obsoletes: arptables-compat < 0.0.4-20
d8a888d
d8a888d
%description services
d8a888d
arptables systemd services
d8a888d
d8a888d
This package provides the systemd arptables service that has been split
d8a888d
out of the base package for better integration with alternatives.
d8a888d
d8a888d
%prep
af2f482
%autosetup -p1
0f2bd31
0f2bd31
%build
0f2bd31
# Makefile uses $(KERNEL_DIR) to redefine where to look for header files.
0f2bd31
# But when it's set to standard system include directory gcc ignores it
0f2bd31
# (see gcc(1)). It however looks that the code is not ready for using 
0f2bd31
# system headers (instead included ones) so we don't use this option.
2be0af8
make all 'COPT_FLAGS=%{optflags}' 'LDFLAGS=%{build_ldflags}' %{_smp_mflags}
0f2bd31
0f2bd31
%install
0f2bd31
make install DESTDIR=%{buildroot} BINDIR=%{_sbindir} MANDIR=%{_mandir}
d8a888d
pfx=%{buildroot}%{_sbindir}
d8a888d
manpfx=%{buildroot}%{_mandir}/man8
d8a888d
for sfx in "-restore" "-save"; do
d8a888d
	mv $pfx/arptables$sfx $pfx/arptables-legacy$sfx
d8a888d
	touch $pfx/arptables$sfx
d8a888d
	mv $manpfx/arptables${sfx}.8 $manpfx/arptables-legacy${sfx}.8
d8a888d
	touch $manpfx/arptables${sfx}.8
d8a888d
done
0f2bd31
0f2bd31
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/arptables.service
0f2bd31
mkdir -p %{buildroot}%{_libexecdir}/
0f2bd31
install -p -D -m 755 %{SOURCE2} %{buildroot}%{_libexecdir}/
d8a888d
touch %{buildroot}%{_libexecdir}/arptables-helper
0f2bd31
rm -rf %{buildroot}%{_initrddir}
0f2bd31
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
0f2bd31
echo '# Configure prior to use' > %{buildroot}%{_sysconfdir}/sysconfig/arptables
0f2bd31
d8a888d
%post legacy
d8a888d
pfx=%{_sbindir}/arptables
d8a888d
manpfx=%{_mandir}/man8/arptables
d8a888d
lepfx=%{_libexecdir}/arptables
bbf0043
for sfx in "" "-restore" "-save"; do
d8a888d
	if [ "$(readlink -e $pfx$sfx)" == $pfx$sfx ]; then
d8a888d
		rm -f $pfx$sfx
d8a888d
	fi
d8a888d
	if [ "$(readlink -e $manpfx${sfx}.8.gz)" == $manpfx${sfx}.8.gz ]; then
d8a888d
		rm -f $manpfx${sfx}.8.gz
d8a888d
	fi
d8a888d
done
d8a888d
if [ "$(readlink -e $lepfx-helper)" == $lepfx-helper ]; then
d8a888d
	rm -f $lepfx-helper
d8a888d
fi
d8a888d
%{_sbindir}/update-alternatives --install \
d8a888d
	$pfx arptables $pfx-legacy 10 \
d8a888d
	--slave $pfx-save arptables-save $pfx-legacy-save \
d8a888d
	--slave $pfx-restore arptables-restore $pfx-legacy-restore \
d8a888d
	--slave $manpfx.8.gz arptables-man $manpfx-legacy.8.gz \
d8a888d
	--slave $manpfx-save.8.gz arptables-save-man $manpfx-legacy-save.8.gz \
d8a888d
	--slave $manpfx-restore.8.gz arptables-restore-man $manpfx-legacy-restore.8.gz \
d8a888d
	--slave $lepfx-helper arptables-helper $lepfx-legacy-helper
0f2bd31
d8a888d
%preun legacy
0f2bd31
%systemd_preun arptables.service
0f2bd31
d8a888d
%postun legacy
0f2bd31
%systemd_postun_with_restart arptables.service
d8a888d
if [ $1 -eq 0 ]; then
d8a888d
	%{_sbindir}/update-alternatives --remove \
d8a888d
		arptables %{_sbindir}/arptables-legacy
d8a888d
fi
0f2bd31
d8a888d
%post services
d8a888d
%systemd_post arptables.service
d8a888d
d8a888d
%preun services
d8a888d
%systemd_preun arptables.service
d8a888d
d8a888d
%postun services
d8a888d
%?ldconfig
d8a888d
%systemd_postun arptables.service
0f2bd31
d8a888d
%files legacy
d8a888d
%{!?_licensedir:%global license %%doc}
d8a888d
%license COPYING
d8a888d
%{_sbindir}/arptables-legacy*
d8a888d
%{_libexecdir}/arptables-legacy-helper
d8a888d
%{_mandir}/*/arptables-legacy*
d8a888d
%ghost %{_sbindir}/arptables
d8a888d
%ghost %{_sbindir}/arptables-save
d8a888d
%ghost %{_sbindir}/arptables-restore
d8a888d
%ghost %{_mandir}/man8/arptables.8.gz
d8a888d
%ghost %{_mandir}/man8/arptables-save.8.gz
d8a888d
%ghost %{_mandir}/man8/arptables-restore.8.gz
d8a888d
%ghost %{_libexecdir}/arptables-helper
d8a888d
d8a888d
%files services
0f2bd31
%{_unitdir}/arptables.service
0f2bd31
%config(noreplace) %{_sysconfdir}/sysconfig/arptables
0f2bd31
0f2bd31
%changelog
558c792
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.5-6
558c792
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
558c792
a70b848
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.0.5-5
a70b848
- Rebuilt for updated systemd-rpm-macros
a70b848
  See https://pagure.io/fesco/issue/2583.
a70b848
df1997d
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.5-4
df1997d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
df1997d
e547882
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.5-3
e547882
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
e547882
5c4ee4c
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.5-2
5c4ee4c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
5c4ee4c
af2f482
* Wed Dec 04 2019 Phil Sutter <psutter@redhat.com> - 0.0.5-1
af2f482
- New version 0.0.5
af2f482
0f6d054
* Wed Oct 30 2019 Phil Sutter <psutter@redhat.com> - 0.0.4-20
0f6d054
- Make services sub-package obsolete compat to fix upgrade path
0f6d054
bd6fc65
* Tue Oct 22 2019 Phil Sutter <psutter@redhat.com> - 0.0.4-19
bd6fc65
- Drop compat sub-package again
bd6fc65
95fcb1f
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-18
95fcb1f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
95fcb1f
bbf0043
* Thu Mar 21 2019 Phil Sutter <psutter@redhat.com> - 0.0.4-17
bbf0043
- Fix upgrade from non-legacy arptables package
bbf0043
d8a888d
* Mon Feb 18 2019 Phil Sutter <psutter@redhat.com> - 0.0.4-16
d8a888d
- Integrate with alternatives
d8a888d
- Split systemd service into sub-package
d8a888d
- Rename arptables RPM into arptables-legacy
d8a888d
- Add recent upstream changes
d8a888d
6facd05
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-15
6facd05
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6facd05
517f0d1
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-14
517f0d1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
517f0d1
2be0af8
* Wed Feb 21 2018 Florian Weimer <fweimer@redhat.com> - 0.0.4-13
2be0af8
- Use LDFLAGS from redhat-rpm-config
2be0af8
7b99f8e
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-12
7b99f8e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
7b99f8e
2e7b335
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-11
2e7b335
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
2e7b335
1527985
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-10
1527985
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
1527985
b7d64f4
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-9
b7d64f4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
b7d64f4
e13b62e
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.4-8
e13b62e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
e13b62e
b142b8d
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.4-7
b142b8d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
b142b8d
613d113
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.4-6
613d113
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
613d113
396605e
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.4-5
396605e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
396605e
0f2bd31
* Mon Sep 16 2013 Jiri Popelka <jpopelka@redhat.com> - 0.0.4-4
0f2bd31
- revert previous change, the code is not ready for this
0f2bd31
0f2bd31
* Mon Sep 16 2013 Jiri Popelka <jpopelka@redhat.com> - 0.0.4-3
0f2bd31
- use system kernel headers
0f2bd31
0f2bd31
* Fri Sep 13 2013 Jiri Popelka <jpopelka@redhat.com> - 0.0.4-2
0f2bd31
- install with '-p' (#1007964)
0f2bd31
0f2bd31
* Fri Sep 13 2013 Jiri Popelka <jpopelka@redhat.com> - 0.0.4-1
0f2bd31
- renamed arptables_jf to arptables