diff --git a/.gitignore b/.gitignore index 9cde5f7..fd6d31a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,24 +1,6 @@ -/iproute2-4.18.0.tar.xz -/iproute2-4.20.0.tar.xz -/iproute2-5.0.0.tar.xz -/iproute2-5.1.0.tar.xz -/iproute2-5.2.0.tar.xz -/iproute2-5.3.0.tar.xz -/iproute2-5.4.0.tar.xz -/iproute2-5.5.0.tar.xz -/iproute2-5.7.0.tar.xz -/iproute2-5.8.0.tar.xz -/iproute2-5.9.0.tar.xz -/iproute2-5.10.0.tar.xz -/iproute2-5.11.0.tar.xz -/iproute2-5.12.0.tar.xz -/iproute2-5.13.0.tar.xz -/iproute2-5.14.0.tar.xz -/iproute2-5.15.0.tar.xz -/iproute2-5.17.0.tar.xz -/iproute2-5.18.0.tar.xz -/iproute2-6.0.0.tar.xz -/iproute2-6.1.0.tar.xz -/iproute2-6.2.0.tar.xz -/iproute2-6.3.0.tar.xz -/iproute2-6.4.0.tar.xz +/iproute2-6.8.0.tar.xz +/iproute2-6.10.0.tar.xz +/iproute2-6.12.0.tar.xz +/iproute2-6.14.0.tar.xz +/iproute2-6.16.0.tar.xz +/iproute2-6.17.0.tar.xz diff --git a/README.etc b/README.etc new file mode 100644 index 0000000..6fc09c3 --- /dev/null +++ b/README.etc @@ -0,0 +1,16 @@ +You are looking for your iproute2 config in /etc/iproute2 and it's gone? + +Here's an explanation on what's going on: + +From v6.5.0, iproute2 supports stateless configuration pattern. This +means that iproute2 now read its config from /etc/iproute2/FOO, and, +if it does not exist, fall back to /usr/share/iproute2/FOO. + +You can find iproute2 default configuration in /usr/share/iproute2, +while you can store your user-modified config files in /etc/iproute2. + +/usr/share/iproute2 files are not supposed to be manually modified. + +If a previous update broke your user config for iproute2, you may +have one or more ".rpmsave" files in /etc/iproute2. You can restore +your config simply dropping the ".rpmsave" suffix from the file name. diff --git a/iproute.spec b/iproute.spec index 02c3545..77088b9 100644 --- a/iproute.spec +++ b/iproute.spec @@ -1,13 +1,13 @@ Summary: Advanced IP routing and network device configuration tools Name: iproute -Version: 6.4.0 +Version: 6.17.0 Release: %autorelease -%if 0%{?rhel} -Group: Applications/System -%endif URL: https://kernel.org/pub/linux/utils/net/%{name}2/ Source0: https://kernel.org/pub/linux/utils/net/%{name}2/%{name}2-%{version}.tar.xz - +%if 0%{?rhel} +Source1: rt_dsfield.deprecated +%endif +Source2: README.etc License: GPL-2.0-or-later AND NIST-PD BuildRequires: bison @@ -17,7 +17,6 @@ BuildRequires: gcc BuildRequires: iptables-devel >= 1.4.5 BuildRequires: libbpf-devel BuildRequires: libcap-devel -BuildRequires: libdb-devel BuildRequires: libmnl-devel BuildRequires: libselinux-devel BuildRequires: make @@ -29,7 +28,15 @@ BuildRequires: linux-atm-libs-devel %endif Requires: libbpf Requires: psmisc + +# Compat symlinks for Requires in other packages. Provides: /sbin/ip +%if "%{_sbindir}" == "%{_bindir}" +# We rely on filesystem to create the symlink for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/ip +Provides: /usr/sbin/ss +%endif %description The iproute package contains networking utilities (ip and rtmon, for example) @@ -38,9 +45,6 @@ kernel. %package tc Summary: Linux Traffic Control utility -%if 0%{?rhel} -Group: Applications/System -%endif License: GPL-2.0-or-later Requires: %{name}%{?_isa} = %{version}-%{release} Provides: /sbin/tc @@ -53,9 +57,6 @@ Linux. %if ! 0%{?_module_build} %package doc Summary: Documentation for iproute2 utilities with examples -%if 0%{?rhel} -Group: Applications/System -%endif License: GPL-2.0-or-later Requires: %{name} = %{version}-%{release} @@ -65,9 +66,6 @@ The iproute documentation contains howtos and examples of settings. %package devel Summary: iproute development files -%if 0%{?rhel} -Group: Development/Libraries -%endif License: GPL-2.0-or-later Requires: %{name} = %{version}-%{release} Provides: iproute-static = %{version}-%{release} @@ -79,8 +77,8 @@ The libnetlink static library. %autosetup -p1 -n %{name}2-%{version} %build -%configure --libdir %{_libdir} -echo -e "\nPREFIX=%{_prefix}\nCONFDIR:=%{_sysconfdir}/iproute2\nSBINDIR=%{_sbindir}" >> config.mk +%configure --color auto +echo -e "\nPREFIX=%{_prefix}\nSBINDIR=%{_sbindir}" >> config.mk %make_build %install @@ -95,13 +93,29 @@ install -D -m644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a # drop these files, iproute-doc package extracts files directly from _builddir rm -rf '%{buildroot}%{_docdir}' +mkdir -p %{buildroot}%{_sysconfdir}/iproute2 +cp %{SOURCE2} %{buildroot}%{_sysconfdir}/iproute2/README + # append deprecated values to rt_dsfield for compatibility reasons -%if 0%{?rhel} && ! 0%{?eln} -cat %{SOURCE1} >>%{buildroot}%{_sysconfdir}/iproute2/rt_dsfield +%if 0%{?rhel} +cat %{SOURCE1} >>%{buildroot}%{_datadir}/iproute2/rt_dsfield +cp %{SOURCE2} %{buildroot}%{_datadir}/iproute2/README + +# RHEL-94662: restore /etc/iproute2 conf files, if modified +# this is safe because we don't have conf files in /etc/iproute2 anymore, so +# every *.rpmsave file over there is a leftover from a failed conf upgrade + +%posttrans +if [ -f /etc/iproute2/*rpmsave ]; then + for conffile in /etc/iproute2/*rpmsave; do + mv $conffile ${conffile%.rpmsave} + done +fi %endif %files %dir %{_sysconfdir}/iproute2 +%dir %{_datadir}/iproute2 %license COPYING %doc README README.devel %{_mandir}/man7/* @@ -109,8 +123,10 @@ cat %{SOURCE1} >>%{buildroot}%{_sysconfdir}/iproute2/rt_dsfield %{_mandir}/man8/* %exclude %{_mandir}/man8/tc* %exclude %{_mandir}/man8/cbq* -%attr(644,root,root) %config(noreplace) %{_sysconfdir}/iproute2/* +%exclude %{_mandir}/man8/arpd* +%attr(644,root,root) %config %{_datadir}/iproute2/* %{_sbindir}/* +%attr(644,root,root) %{_sysconfdir}/iproute2/* %exclude %{_sbindir}/tc %exclude %{_sbindir}/routel %{_datadir}/bash-completion/completions/devlink diff --git a/rt_dsfield.deprecated b/rt_dsfield.deprecated new file mode 100644 index 0000000..c8eec63 --- /dev/null +++ b/rt_dsfield.deprecated @@ -0,0 +1,17 @@ + +# Deprecated values dropped upstream +# Kept in RHEL for backwards-compatibility +0x00 default +0x10 lowdelay +0x08 throughput +0x04 reliability +# This value overlap with ECT, do not use it! +0x02 mincost +# These values seems do not want to die, Cisco likes them by a strange reason. +0x20 priority +0x40 immediate +0x60 flash +0x80 flash-override +0xa0 critical +0xc0 internet +0xe0 network diff --git a/sources b/sources index e8ae896..9ad54ed 100644 --- a/sources +++ b/sources @@ -1,13 +1,6 @@ -SHA512 (iproute2-5.10.0.tar.xz) = a468eefa797898b6de452212aa432c0a931434defacae5fb4335754c1292c5d86a8c8dbf3017f90cec266d71a2a17ae469aac17e1a85a5cbddc70814313e4c13 -SHA512 (iproute2-5.11.0.tar.xz) = 8d0e7efc20db70af2d344962610b7fb7f464da567f63e094a2e2a9915f6e9087a2282163d2c73eb2065aaec4f0b0cf19614253798153b31e34b06f57e704f3ed -SHA512 (iproute2-5.12.0.tar.xz) = 9249beb67b30ceef178b60b2b61a5e6c45277e747ae4c865e739b7ab84192549e8e94ebaee43c0a87c0291037746ffb6936346245220786e369201ee13d60fac -SHA512 (iproute2-5.13.0.tar.xz) = a3286639fb303a7c3c553cb5df0a7336c4c67e53eb05e872d2776b771dbfa36ffdf2df140f570275db6785c882992f469f8eb34a5b506aac876216df7dde245d -SHA512 (iproute2-5.14.0.tar.xz) = e2b9b0a2c3e6fc4c67cb50b0a9bf710e749648b83369a49bf905edd7e519d76c50c2cc818bb63cc605c409c66075d4d371f2371796e5f7a8f9d04101b80ef75c -SHA512 (iproute2-5.15.0.tar.xz) = e94918fa10e523224b965c7cb5303a101745e89c90d149d2d9876a002b2a894b1c689c519dc22168f3d334c3ee0810c59ec43223baab3d5f4c56f017d6281f22 -SHA512 (iproute2-5.17.0.tar.xz) = fcffe96fb4819305ddf5c3764b100bd1d204069cf53a6bd776c2716144f574b4fc17963fc231a83ad253cce6a563814556eeb60b211ba9b0b87330186259b34d -SHA512 (iproute2-5.18.0.tar.xz) = 7b43c89741a8ffe8fd529ac4ee19c8eab7dce2f064de494c160c75456ffb960fb5f1e78c868ab98360dafde28d5e2c4d58177135b6d380e80e06eba9e3eaf068 -SHA512 (iproute2-6.0.0.tar.xz) = be30362b0df6906aa786f935d5f555b8b86c747fe05314066f4180ab2f7c952ae227b7cf04c15e75d8f99ca17bafb7c8dc0fb1c18f3a9e3222d98716bb449f7a -SHA512 (iproute2-6.1.0.tar.xz) = 4e4d3b5e1e1a5444f42671c1e6caee072e80063e34e37386695f76f85a1ab662f4513050814006e5154426cbaadfba1d86b0be14e65978d5e670a16446047b28 -SHA512 (iproute2-6.2.0.tar.xz) = b24e0fdd0f51b8b78bc3bb681e3829af47d3011e93f3892289eb070b336709a6883728ecc7627ca37f6449720f8ed1349af321c0d04454894a7175b82f7de151 -SHA512 (iproute2-6.3.0.tar.xz) = aec1d8ceb54c8849a075ec1ce079678638e05ccaec093e8b3cbc7243b5fafea2a8c11f10930fced3df82f52d6750aa325178e44f9058e37a556ab108d4a968bf -SHA512 (iproute2-6.4.0.tar.xz) = 42330be6e061302694ea301765ff8d3cbfaeca4b1d06e39778861e4390ed211c03cb2d41498190202b659f7f5647b1ca4857410ef8c16fd601a35e7162788d21 +SHA512 (iproute2-6.8.0.tar.xz) = 54e50340a73c8810d69bfd54704b469149731634a97d94da08b5a305592a812131a441e5b646e32b480d61840e2ade29387e54b934effeee8ded4f06e557a5c0 +SHA512 (iproute2-6.10.0.tar.xz) = 706479aa37a25fcf30c525c6abd85e0861e484d046e0636a28dbc52b958d45c9dba70b912f530dedd4b0b496e4b98969e23501bbbb41d3de50810bae014fcb41 +SHA512 (iproute2-6.12.0.tar.xz) = dbd6afb8162a6086e4be9045b8dc53aa563bd4b7abaf43ee13cd7d493730ff0b90e6985f68c6f42d64f4af6a692d0589e0cefd2f24045ec1c10418cfb73940b2 +SHA512 (iproute2-6.14.0.tar.xz) = e79049bdca0e0381f0a93a40e4d597ce59fb509dabc6e8b04a510ff9953f091c67577d6faa62967bd197bf62ab6e56d928558270a1390621431acb237b77fa46 +SHA512 (iproute2-6.16.0.tar.xz) = 88930ea1a3a901594a69dc04e533bfd1de0f5b79f176dedb45f11f01035bd680edccc8e04e56d0922ee430580581c646473a3baa941254739878f7ab946f17df +SHA512 (iproute2-6.17.0.tar.xz) = 3d83d49233c1d984f15d285a46e2ec0eeb820c7cb84cfc84866921f37e8a57d31bc3953be07e8c79ed6079f326a25c3a85f591b0d67f9f689c0c70ccdb0fef77