11Summary: Linux kernel packet control tool
22Name: iptables
33Version: 1.8.10
4- Release: 2 %{?dist }
4+ Release: 3 %{?dist }
55License: GPLv2+
66Vendor: Microsoft Corporation
77Distribution: Azure Linux
@@ -18,6 +18,9 @@ BuildRequires: libmnl-devel
1818BuildRequires: libnftnl-devel
1919BuildRequires: systemd-bootstrap-rpm-macros
2020Requires: iana-etc
21+ Requires: libnftnl
22+ Requires(post): %{_sbindir }/update-alternatives
23+ Requires(postun): %{_sbindir }/update-alternatives
2124# Our build tooling cannot handle this
2225#Requires: systemd
2326Provides: %{name }-services = %{version }-%{release }
@@ -43,15 +46,14 @@ It contains the libraries and header files to create applications.
4346 --exec-prefix= \
4447 --with-xtlibdir=%{_libdir }/iptables \
4548 --with-pkgconfigdir=%{_libdir }/pkgconfig \
46- --disable-nftables \
4749 --enable-libipq \
4850 --enable-devel
4951
50- make V = 0
52+ % make_build
5153
5254%install
5355%make_install
54- ln -sfv ../../sbin/xtables-multi %{ buildroot }%{ _libdir }/iptables-xml
56+
5557# Install daemon scripts
5658install -vdm755 %{buildroot }%{_unitdir }
5759install -m 644 %{SOURCE1 } %{buildroot }%{_unitdir }
@@ -65,14 +67,40 @@ find %{buildroot} -name '*.a' -delete
6567find %{buildroot } -type f -name "*.la" -delete -print
6668%{_fixperms } %{buildroot }/*
6769
68- %preun
69- %systemd_preun iptables.service
70+ ln -sf --relative %{buildroot }%{_sbindir }/xtables-legacy-multi %{buildroot }%{_bindir }/iptables-xml
7071
7172%post
73+ for target in %{name} \
74+ ip6tables \
75+ ebtables \
76+ arptables; do
77+ %{_sbindir}/update-alternatives --install %{_sbindir}/${target} ${target} %{_sbindir}/${target} -nft 30000 \
78+ --slave %{_sbindir}/${target} -save ${target} -save %{_sbindir}/${target} -nft-save \
79+ --slave %{_sbindir}/${target} -restore ${target} -restore %{_sbindir}/${target} -nft-restore
80+ done
81+
82+ for target in %{name } \
83+ ip6tables; do
84+ %{_sbindir }/update-alternatives --install %{_sbindir }/${target} ${target} %{_sbindir }/${target}-legacy 10000 \
85+ --slave %{_sbindir }/${target}-save ${target}-save %{_sbindir }/${target}-legacy-save \
86+ --slave %{_sbindir }/${target}-restore ${target}-restore %{_sbindir }/${target}-legacy-restore
87+ done
88+
7289/sbin/ldconfig
7390%systemd_post iptables.service
7491
92+ %preun
93+ %systemd_preun iptables.service
94+
7595%postun
96+ if [ $1 -eq 0 ]; then
97+ %{_sbindir}/update-alternatives --remove %{name} %{_sbindir}/%{name}-nft
98+ %{_sbindir}/update-alternatives --remove ip6tables %{_sbindir}/ip6tables-nft
99+ %{_sbindir}/update-alternatives --remove ebtables %{_sbindir}/ebtables-nft
100+ %{_sbindir}/update-alternatives --remove arptables %{_sbindir}/arptables-nft
101+ %{_sbindir}/update-alternatives --remove %{name} %{_sbindir}/%{name}-legacy
102+ %{_sbindir}/update-alternatives --remove ip6tables %{_sbindir}/ip6tables-legacy
103+ fi
76104/sbin/ldconfig
77105%systemd_postun_with_restart iptables.service
78106
@@ -83,15 +111,18 @@ find %{buildroot} -type f -name "*.la" -delete -print
83111%config(noreplace) %{_sysconfdir }/systemd/scripts/iptables.stop
84112%config(noreplace) %{_sysconfdir }/systemd/scripts/ip4save
85113%config(noreplace) %{_sysconfdir }/systemd/scripts/ip6save
114+ %config(noreplace) %{_sysconfdir }/ethertypes
86115%{_unitdir }/iptables.service
87116%{_sbindir }/*
88117%{_bindir }/*
89118%{_libdir }/* .so.*
90119%{_libdir }/iptables/*
91- %{_libdir }/iptables-xml
120+ %{_bindir }/iptables-xml
92121%{_mandir }/man1/*
93122%{_mandir }/man8/*
94123/usr/share/xtables/iptables.xslt
124+ %ghost %{_sbindir }/ip{,6}tables{,-save,-restore}
125+ %ghost %{_sbindir }/{eb,arp}tables{,-save,-restore}
95126
96127%files devel
97128%{_libdir }/* .so
@@ -100,6 +131,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
100131%{_mandir }/man3/*
101132
102133%changelog
134+ * Tue Nov 12 2024 Sumedh Sharma <sumsharma@microsoft.com> - 1.8.10-3
135+ - Enable nftables and use alternatives.
136+
103137* Mon Mar 18 2024 Andy Zaugg <azaugg@linkedin.com> - 1.8.10-2
104138- Flush raw table when restarting iptables service
105139
0 commit comments