From 665ce7375fdb003966a76ff4100510ef49f06e63 Mon Sep 17 00:00:00 2001 From: Andrea Claudi Date: Wed, 20 Oct 2021 14:51:03 +0200 Subject: [PATCH] iproute-5.14.0-1 * Wed Oct 20 2021 Andrea Claudi - 5.14.0-1 - New version 5.14.0 [1999860] Resolves: rhbz#1999860 Signed-off-by: Andrea Claudi --- .gitignore | 1 + ...igure-restore-backward-compatibility.patch | 50 ++++++ ...-parsing-issue-on-include_dir-option.patch | 76 +++++++++ ...x-parsing-issue-on-libbpf_dir-option.patch | 79 +++++++++ ...rsing-issue-with-more-than-one-value.patch | 63 ++++++++ 0005-configure-simplify-options-parsing.patch | 114 +++++++++++++ ...-configure-support-param-value-style.patch | 53 ++++++ 0007-configure-add-the-prefix-option.patch | 72 +++++++++ 0008-configure-add-the-libdir-option.patch | 151 ++++++++++++++++++ iproute.spec | 101 +++++++++--- sources | 1 + 11 files changed, 743 insertions(+), 18 deletions(-) create mode 100644 0001-configure-restore-backward-compatibility.patch create mode 100644 0002-configure-fix-parsing-issue-on-include_dir-option.patch create mode 100644 0003-configure-fix-parsing-issue-on-libbpf_dir-option.patch create mode 100644 0004-configure-fix-parsing-issue-with-more-than-one-value.patch create mode 100644 0005-configure-simplify-options-parsing.patch create mode 100644 0006-configure-support-param-value-style.patch create mode 100644 0007-configure-add-the-prefix-option.patch create mode 100644 0008-configure-add-the-libdir-option.patch diff --git a/.gitignore b/.gitignore index bcdf03a..2f6d853 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /iproute2-5.11.0.tar.xz /iproute2-5.12.0.tar.xz /iproute2-5.13.0.tar.xz +/iproute2-5.14.0.tar.xz diff --git a/0001-configure-restore-backward-compatibility.patch b/0001-configure-restore-backward-compatibility.patch new file mode 100644 index 0000000..ad8178d --- /dev/null +++ b/0001-configure-restore-backward-compatibility.patch @@ -0,0 +1,50 @@ +From 5e6e93a55d2335b90aacb0107e962610cce64007 Mon Sep 17 00:00:00 2001 +Message-Id: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: restore backward compatibility + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2.git commit a3272b93 + +commit a3272b93725a406bc98b67373da67a4bdf6fcdb0 +Author: Luca Boccassi +Date: Thu Sep 2 12:38:54 2021 +0100 + + configure: restore backward compatibility + + Commit a9c3d70d902a0473ee5c13336317006a52ce8242 broke backward compatibility + by making 'configure' error out if parameters are passed, instead of + ignoring them. + Sometimes packaging systems detect 'configure' and assume it's from + autotools, and pass a bunch of options. Eg: + + dh_auto_configure + ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking + + Ignore unknown options again instead of erroring out. + + Fixes: a9c3d70d902a ("configure: add options ability") + + Signed-off-by: Luca Boccassi + Signed-off-by: Stephen Hemminger +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 0a4a0fc9..7f4f3bd9 100755 +--- a/configure ++++ b/configure +@@ -518,7 +518,7 @@ else + "") + break ;; + *) +- usage 1 ;; ++ shift 1 ;; + esac + done + fi +-- +2.31.1 + diff --git a/0002-configure-fix-parsing-issue-on-include_dir-option.patch b/0002-configure-fix-parsing-issue-on-include_dir-option.patch new file mode 100644 index 0000000..c061c51 --- /dev/null +++ b/0002-configure-fix-parsing-issue-on-include_dir-option.patch @@ -0,0 +1,76 @@ +From 290ce87f0a59ec4ddc83918c073364540057ae64 Mon Sep 17 00:00:00 2001 +Message-Id: <290ce87f0a59ec4ddc83918c073364540057ae64.1634733799.git.aclaudi@redhat.com> +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: fix parsing issue on include_dir option + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit 1d819dcc + +commit 1d819dcc741e25958190e31f8186c940713fa0a8 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:49 2021 +0200 + + configure: fix parsing issue on include_dir option + + configure is stuck in an endless loop if '--include_dir' option is used + without a value: + + $ ./configure --include_dir + ./configure: line 506: shift: 2: shift count out of range + ./configure: line 506: shift: 2: shift count out of range + [...] + + Fix it splitting 'shift 2' into two consecutive shifts, and making the + second one conditional to the number of remaining arguments. + + A check is also provided after the while loop to verify the include dir + exists; this avoid to produce an erroneous configuration. + + Fixes: a9c3d70d902a ("configure: add options ability") + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index 7f4f3bd9..ea9051ab 100755 +--- a/configure ++++ b/configure +@@ -485,7 +485,7 @@ usage() + { + cat < Path to iproute2 include dir + --libbpf_dir Path to libbpf DESTDIR + --libbpf_force Enable/disable libbpf by force. Available options: + on: require link against libbpf, quit config if no libbpf support +@@ -502,8 +502,9 @@ else + while true; do + case "$1" in + --include_dir) +- INCLUDE=$2 +- shift 2 ;; ++ shift ++ INCLUDE="$1" ++ [ "$#" -gt 0 ] && shift ;; + --libbpf_dir) + LIBBPF_DIR="$2" + shift 2 ;; +@@ -523,6 +524,8 @@ else + done + fi + ++[ -d "$INCLUDE" ] || usage 1 ++ + echo "# Generated config based on" $INCLUDE >$CONFIG + quiet_config >> $CONFIG + +-- +2.31.1 + diff --git a/0003-configure-fix-parsing-issue-on-libbpf_dir-option.patch b/0003-configure-fix-parsing-issue-on-libbpf_dir-option.patch new file mode 100644 index 0000000..5a8c17d --- /dev/null +++ b/0003-configure-fix-parsing-issue-on-libbpf_dir-option.patch @@ -0,0 +1,79 @@ +From 5f717b9a1bb8c49e101670682d73bc5ae9ee701a Mon Sep 17 00:00:00 2001 +Message-Id: <5f717b9a1bb8c49e101670682d73bc5ae9ee701a.1634733799.git.aclaudi@redhat.com> +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: fix parsing issue on libbpf_dir option + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit 48c379bc + +commit 48c379bc2afd43b3246f68ed46475f5318b1218f +Author: Andrea Claudi +Date: Thu Oct 14 10:50:50 2021 +0200 + + configure: fix parsing issue on libbpf_dir option + + configure is stuck in an endless loop if '--libbpf_dir' option is used + without a value: + + $ ./configure --libbpf_dir + ./configure: line 515: shift: 2: shift count out of range + ./configure: line 515: shift: 2: shift count out of range + [...] + + Fix it splitting 'shift 2' into two consecutive shifts, and making the + second one conditional to the number of remaining arguments. + + A check is also provided after the while loop to verify the libbpf dir + exists; also, as LIBBPF_DIR does not have a default value, configure bails + out if the user does not specify a value after --libbpf_dir, thus avoiding + to produce an erroneous configuration. + + Fixes: 7ae2585b865a ("configure: convert LIBBPF environment variables to command-line options") + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/configure b/configure +index ea9051ab..0f304206 100755 +--- a/configure ++++ b/configure +@@ -486,7 +486,7 @@ usage() + cat < Path to iproute2 include dir +- --libbpf_dir Path to libbpf DESTDIR ++ --libbpf_dir Path to libbpf DESTDIR + --libbpf_force Enable/disable libbpf by force. Available options: + on: require link against libbpf, quit config if no libbpf support + off: disable libbpf probing +@@ -506,8 +506,9 @@ else + INCLUDE="$1" + [ "$#" -gt 0 ] && shift ;; + --libbpf_dir) +- LIBBPF_DIR="$2" +- shift 2 ;; ++ shift ++ LIBBPF_DIR="$1" ++ [ "$#" -gt 0 ] && shift ;; + --libbpf_force) + if [ "$2" != 'on' ] && [ "$2" != 'off' ]; then + usage 1 +@@ -525,6 +526,9 @@ else + fi + + [ -d "$INCLUDE" ] || usage 1 ++if [ "${LIBBPF_DIR-unused}" != "unused" ]; then ++ [ -d "$LIBBPF_DIR" ] || usage 1 ++fi + + echo "# Generated config based on" $INCLUDE >$CONFIG + quiet_config >> $CONFIG +-- +2.31.1 + diff --git a/0004-configure-fix-parsing-issue-with-more-than-one-value.patch b/0004-configure-fix-parsing-issue-with-more-than-one-value.patch new file mode 100644 index 0000000..72d90a6 --- /dev/null +++ b/0004-configure-fix-parsing-issue-with-more-than-one-value.patch @@ -0,0 +1,63 @@ +From 4f9ade07eafe74db184eb09603e8187f3ca14423 Mon Sep 17 00:00:00 2001 +Message-Id: <4f9ade07eafe74db184eb09603e8187f3ca14423.1634733799.git.aclaudi@redhat.com> +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: fix parsing issue with more than one value per + option + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit c330d097 + +commit c330d0979440a1dec4a436fd742bb6e28d195526 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:51 2021 +0200 + + configure: fix parsing issue with more than one value per option + + With commit a9c3d70d902a ("configure: add options ability") users are no + more able to provide wrong command lines like: + + $ ./configure --include_dir foo bar + + The script simply bails out when user provides more than one value for a + single option. However, in doing so, it breaks backward compatibility with + some packaging system, which expects unknown options to be ignored. + + Commit a3272b93725a ("configure: restore backward compatibility") fix this + issue, but makes it possible again for users to provide wrong command lines + such as the one above. + + This fixes the issue simply ignoring autoconf-like options such as + '--opt=value'. + + Fixes: a3272b93725a ("configure: restore backward compatibility") + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index 0f304206..9ec19a5b 100755 +--- a/configure ++++ b/configure +@@ -517,10 +517,12 @@ else + shift 2 ;; + -h | --help) + usage 0 ;; ++ --*) ++ shift ;; + "") + break ;; + *) +- shift 1 ;; ++ usage 1 ;; + esac + done + fi +-- +2.31.1 + diff --git a/0005-configure-simplify-options-parsing.patch b/0005-configure-simplify-options-parsing.patch new file mode 100644 index 0000000..b44439c --- /dev/null +++ b/0005-configure-simplify-options-parsing.patch @@ -0,0 +1,114 @@ +From e563a97894c173dcfe2ccdb061c9bfe16526678b Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: simplify options parsing + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit 99245d17 + +commit 99245d1741a85e4397973782578d4a78673eb348 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:52 2021 +0200 + + configure: simplify options parsing + + This commit simplifies options parsing moving all the code not related to + parsing out of the case statement. + + - The conditional shift after the assignments is moved right after the + case, reducing code duplication. + - The semantic checks on the LIBBPF_FORCE value is moved after the loop + like we already did for INCLUDE and LIBBPF_DIR. + - Finally, the loop condition is changed to check remaining arguments, thus + making it possible to get rid of the null string case break. + + As a bonus, now the help message states that on or off should follow + --libbpf_force + + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 37 ++++++++++++++++++------------------- + 1 file changed, 18 insertions(+), 19 deletions(-) + +diff --git a/configure b/configure +index 9ec19a5b..26e06eb8 100755 +--- a/configure ++++ b/configure +@@ -485,12 +485,12 @@ usage() + { + cat < Path to iproute2 include dir +- --libbpf_dir Path to libbpf DESTDIR +- --libbpf_force Enable/disable libbpf by force. Available options: +- on: require link against libbpf, quit config if no libbpf support +- off: disable libbpf probing +- -h | --help Show this usage info ++ --include_dir Path to iproute2 include dir ++ --libbpf_dir Path to libbpf DESTDIR ++ --libbpf_force Enable/disable libbpf by force. Available options: ++ on: require link against libbpf, quit config if no libbpf support ++ off: disable libbpf probing ++ -h | --help Show this usage info + EOF + exit $1 + } +@@ -499,31 +499,25 @@ EOF + if [ $# -eq 1 ] && [ "$(echo $1 | cut -c 1)" != '-' ]; then + INCLUDE="$1" + else +- while true; do ++ while [ "$#" -gt 0 ]; do + case "$1" in + --include_dir) + shift +- INCLUDE="$1" +- [ "$#" -gt 0 ] && shift ;; ++ INCLUDE="$1" ;; + --libbpf_dir) + shift +- LIBBPF_DIR="$1" +- [ "$#" -gt 0 ] && shift ;; ++ LIBBPF_DIR="$1" ;; + --libbpf_force) +- if [ "$2" != 'on' ] && [ "$2" != 'off' ]; then +- usage 1 +- fi +- LIBBPF_FORCE=$2 +- shift 2 ;; ++ shift ++ LIBBPF_FORCE="$1" ;; + -h | --help) + usage 0 ;; + --*) +- shift ;; +- "") +- break ;; ++ ;; + *) + usage 1 ;; + esac ++ [ "$#" -gt 0 ] && shift + done + fi + +@@ -531,6 +525,11 @@ fi + if [ "${LIBBPF_DIR-unused}" != "unused" ]; then + [ -d "$LIBBPF_DIR" ] || usage 1 + fi ++if [ "${LIBBPF_FORCE-unused}" != "unused" ]; then ++ if [ "$LIBBPF_FORCE" != 'on' ] && [ "$LIBBPF_FORCE" != 'off' ]; then ++ usage 1 ++ fi ++fi + + echo "# Generated config based on" $INCLUDE >$CONFIG + quiet_config >> $CONFIG +-- +2.31.1 + diff --git a/0006-configure-support-param-value-style.patch b/0006-configure-support-param-value-style.patch new file mode 100644 index 0000000..0596c47 --- /dev/null +++ b/0006-configure-support-param-value-style.patch @@ -0,0 +1,53 @@ +From 6de1c71cf82d67784a185ba912bdbfa24fa6bce5 Mon Sep 17 00:00:00 2001 +Message-Id: <6de1c71cf82d67784a185ba912bdbfa24fa6bce5.1634733799.git.aclaudi@redhat.com> +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: support --param=value style + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit 4b8bca5f + +commit 4b8bca5f9e3e6f210b1036166dc98801e76d8ee5 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:53 2021 +0200 + + configure: support --param=value style + + This commit makes it possible to specify values for configure params + using the common autotools configure syntax '--param=value'. + + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/configure b/configure +index 26e06eb8..9a2645d9 100755 +--- a/configure ++++ b/configure +@@ -504,12 +504,18 @@ else + --include_dir) + shift + INCLUDE="$1" ;; ++ --include_dir=*) ++ INCLUDE="${1#*=}" ;; + --libbpf_dir) + shift + LIBBPF_DIR="$1" ;; ++ --libbpf_dir=*) ++ LIBBPF_DIR="${1#*=}" ;; + --libbpf_force) + shift + LIBBPF_FORCE="$1" ;; ++ --libbpf_force=*) ++ LIBBPF_FORCE="${1#*=}" ;; + -h | --help) + usage 0 ;; + --*) +-- +2.31.1 + diff --git a/0007-configure-add-the-prefix-option.patch b/0007-configure-add-the-prefix-option.patch new file mode 100644 index 0000000..be26253 --- /dev/null +++ b/0007-configure-add-the-prefix-option.patch @@ -0,0 +1,72 @@ +From aad7307a1ca9f2c8df26e1ed5e8a8b9816f87792 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: add the --prefix option + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit 0ee1950b + +commit 0ee1950b5c38986ea896606810231f5f9d761a00 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:54 2021 +0200 + + configure: add the --prefix option + + This commit add the '--prefix' option to the iproute2 configure script. + + This mimics the '--prefix' option that autotools configure provides, and + will be used later to allow users or packagers to set the lib directory. + + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + configure | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/configure b/configure +index 9a2645d9..05e23eff 100755 +--- a/configure ++++ b/configure +@@ -3,6 +3,7 @@ + # This is not an autoconf generated configure + + INCLUDE="$PWD/include" ++PREFIX="/usr" + + # Output file which is input to Makefile + CONFIG=config.mk +@@ -490,6 +491,7 @@ Usage: $0 [OPTIONS] + --libbpf_force Enable/disable libbpf by force. Available options: + on: require link against libbpf, quit config if no libbpf support + off: disable libbpf probing ++ --prefix Path prefix of the lib files to install + -h | --help Show this usage info + EOF + exit $1 +@@ -516,6 +518,11 @@ else + LIBBPF_FORCE="$1" ;; + --libbpf_force=*) + LIBBPF_FORCE="${1#*=}" ;; ++ --prefix) ++ shift ++ PREFIX="$1" ;; ++ --prefix=*) ++ PREFIX="${1#*=}" ;; + -h | --help) + usage 0 ;; + --*) +@@ -536,6 +543,7 @@ if [ "${LIBBPF_FORCE-unused}" != "unused" ]; then + usage 1 + fi + fi ++[ -z "$PREFIX" ] && usage 1 + + echo "# Generated config based on" $INCLUDE >$CONFIG + quiet_config >> $CONFIG +-- +2.31.1 + diff --git a/0008-configure-add-the-libdir-option.patch b/0008-configure-add-the-libdir-option.patch new file mode 100644 index 0000000..425b5cc --- /dev/null +++ b/0008-configure-add-the-libdir-option.patch @@ -0,0 +1,151 @@ +From d2e278fcff8a699a2dbac8d74758b4e5f86fd5f0 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +References: <5e6e93a55d2335b90aacb0107e962610cce64007.1634733799.git.aclaudi@redhat.com> +From: Andrea Claudi +Date: Wed, 20 Oct 2021 12:32:38 +0200 +Subject: [PATCH] configure: add the --libdir option + +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1999860 +Upstream Status: iproute2-next.git commit cee0cf84 + +commit cee0cf84bd32c8d9215f0c155187ad99d52a69b1 +Author: Andrea Claudi +Date: Thu Oct 14 10:50:55 2021 +0200 + + configure: add the --libdir option + + This commit allows users/packagers to choose a lib directory to store + iproute2 lib files. + + At the moment iproute2 ship lib files in /usr/lib and offers no way to + modify this setting. However, according to the FHS, distros may choose + "one or more variants of the /lib directory on systems which support + more than one binary format" (e.g. /usr/lib64 on Fedora). + + As Luca states in commit a3272b93725a ("configure: restore backward + compatibility"), packaging systems may assume that 'configure' is from + autotools, and try to pass it some parameters. + + Allowing the '--libdir=/path/to/libdir' syntax, we can use this to our + advantage, and let the lib directory to be chosen by the distro + packaging system. + + Note that LIBDIR uses "\${prefix}/lib" as default value because autoconf + allows this to be expanded to the --prefix value at configure runtime. + "\${prefix}" is replaced with the PREFIX value in check_lib_dir(). + + Signed-off-by: Andrea Claudi + Acked-by: Phil Sutter + Signed-off-by: David Ahern +--- + Makefile | 7 ++++--- + configure | 18 ++++++++++++++++++ + 2 files changed, 22 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 5bc11477..45655ca4 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,6 +1,8 @@ + # SPDX-License-Identifier: GPL-2.0 + # Top level Makefile for iproute2 + ++-include config.mk ++ + ifeq ("$(origin V)", "command line") + VERBOSE = $(V) + endif +@@ -13,7 +15,6 @@ MAKEFLAGS += --no-print-directory + endif + + PREFIX?=/usr +-LIBDIR?=$(PREFIX)/lib + SBINDIR?=/sbin + CONFDIR?=/etc/iproute2 + NETNS_RUN_DIR?=/var/run/netns +@@ -60,7 +61,7 @@ SUBDIRS=lib ip tc bridge misc netem genl tipc devlink rdma dcb man vdpa + LIBNETLINK=../lib/libutil.a ../lib/libnetlink.a + LDLIBS += $(LIBNETLINK) + +-all: config ++all: config.mk + @set -e; \ + for i in $(SUBDIRS); \ + do echo; echo $$i; $(MAKE) -C $$i; done +@@ -80,7 +81,7 @@ help: + @echo "Make Arguments:" + @echo " V=[0|1] - set build verbosity level" + +-config: ++config.mk: + @if [ ! -f config.mk -o configure -nt config.mk ]; then \ + sh configure $(KERNEL_INCLUDE); \ + fi +diff --git a/configure b/configure +index 05e23eff..8ddff43c 100755 +--- a/configure ++++ b/configure +@@ -4,6 +4,7 @@ + + INCLUDE="$PWD/include" + PREFIX="/usr" ++LIBDIR="\${prefix}/lib" + + # Output file which is input to Makefile + CONFIG=config.mk +@@ -149,6 +150,15 @@ EOF + rm -f $TMPDIR/ipttest.c $TMPDIR/ipttest + } + ++check_lib_dir() ++{ ++ LIBDIR=$(echo $LIBDIR | sed "s|\${prefix}|$PREFIX|") ++ ++ echo -n "lib directory: " ++ echo "$LIBDIR" ++ echo "LIBDIR:=$LIBDIR" >> $CONFIG ++} ++ + check_ipt() + { + if ! grep TC_CONFIG_XT $CONFIG > /dev/null; then +@@ -487,6 +497,7 @@ usage() + cat < Path to iproute2 include dir ++ --libdir Path to iproute2 lib dir + --libbpf_dir Path to libbpf DESTDIR + --libbpf_force Enable/disable libbpf by force. Available options: + on: require link against libbpf, quit config if no libbpf support +@@ -508,6 +519,11 @@ else + INCLUDE="$1" ;; + --include_dir=*) + INCLUDE="${1#*=}" ;; ++ --libdir) ++ shift ++ LIBDIR="$1" ;; ++ --libdir=*) ++ LIBDIR="${1#*=}" ;; + --libbpf_dir) + shift + LIBBPF_DIR="$1" ;; +@@ -544,6 +560,7 @@ if [ "${LIBBPF_FORCE-unused}" != "unused" ]; then + fi + fi + [ -z "$PREFIX" ] && usage 1 ++[ -z "$LIBDIR" ] && usage 1 + + echo "# Generated config based on" $INCLUDE >$CONFIG + quiet_config >> $CONFIG +@@ -568,6 +585,7 @@ if ! grep -q TC_CONFIG_NO_XT $CONFIG; then + fi + + echo ++check_lib_dir + if ! grep -q TC_CONFIG_NO_XT $CONFIG; then + echo -n "iptables modules directory: " + check_ipt_lib_dir +-- +2.31.1 + diff --git a/iproute.spec b/iproute.spec index d5135d6..8e6cc6f 100644 --- a/iproute.spec +++ b/iproute.spec @@ -1,33 +1,46 @@ -%global cbq_version v0.7.3 Summary: Advanced IP routing and network device configuration tools Name: iproute -Version: 5.13.0 -Release: 2%{?dist} +Version: 5.14.0 +Release: 1%{?dist}%{?buildid} +%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%{?fedora} +Source1: iproute2.sh +Source2: rt_dsfield.deprecated +%endif +Patch0: 0001-configure-restore-backward-compatibility.patch +Patch1: 0002-configure-fix-parsing-issue-on-include_dir-option.patch +Patch2: 0003-configure-fix-parsing-issue-on-libbpf_dir-option.patch +Patch3: 0004-configure-fix-parsing-issue-with-more-than-one-value.patch +Patch4: 0005-configure-simplify-options-parsing.patch +Patch5: 0006-configure-support-param-value-style.patch +Patch6: 0007-configure-add-the-prefix-option.patch +Patch7: 0008-configure-add-the-libdir-option.patch License: GPLv2+ and Public Domain -BuildRequires: gcc BuildRequires: bison BuildRequires: elfutils-libelf-devel BuildRequires: flex +BuildRequires: gcc BuildRequires: iptables-devel >= 1.4.5 +BuildRequires: libbpf-devel BuildRequires: libcap-devel BuildRequires: libdb-devel BuildRequires: libmnl-devel BuildRequires: libselinux-devel -BuildRequires: pkgconfig BuildRequires: make +BuildRequires: pkgconfig %if ! 0%{?_module_build} %if 0%{?fedora} BuildRequires: linux-atm-libs-devel %endif %endif -Provides: /sbin/ip -Provides: iproute-doc = %{version}-%{release} -Recommends: %{name}-tc +Requires: libbpf Requires: psmisc -Obsoletes: iproute-doc < %{version}-%{release} +Provides: /sbin/ip %description The iproute package contains networking utilities (ip and rtmon, for example) @@ -36,6 +49,9 @@ kernel. %package tc Summary: Linux Traffic Control utility +%if 0%{?rhel} +Group: Applications/System +%endif License: GPLv2+ Requires: %{name}%{?_isa} = %{version}-%{release} Provides: /sbin/tc @@ -45,9 +61,26 @@ The Traffic Control utility manages queueing disciplines, their classes and attached filters and actions. It is the standard tool to configure QoS in Linux. +%if ! 0%{?_module_build} +%package doc +Summary: Documentation for iproute2 utilities with examples +%if 0%{?rhel} +Group: Applications/System +%endif +License: GPLv2+ +Requires: %{name} = %{version}-%{release} + +%description doc +The iproute documentation contains howtos and examples of settings. +%endif + %package devel Summary: iproute development files +%if 0%{?rhel} +Group: Development/Libraries +%endif License: GPLv2+ +Requires: %{name} = %{version}-%{release} Provides: iproute-static = %{version}-%{release} %description devel @@ -65,18 +98,32 @@ export SBINDIR='%{_sbindir}' export LIBDIR='%{_libdir}' %make_install +echo '.so man8/tc-cbq.8' > %{buildroot}%{_mandir}/man8/cbq.8 + # libnetlink install -D -m644 include/libnetlink.h %{buildroot}%{_includedir}/libnetlink.h 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}' + +# RHEL-specific stuff +%if ! 0%{?fedora} +# use TC_LIB_DIR environment variable +install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d/iproute2.sh +# append deprecated values to rt_dsfield for compatibility reasons +cat %{SOURCE2} >>%{buildroot}%{_sysconfdir}/iproute2/rt_dsfield +%endif + %files %dir %{_sysconfdir}/iproute2 %license COPYING -%doc README +%doc README README.devel %{_mandir}/man7/* %exclude %{_mandir}/man7/tc-* %{_mandir}/man8/* %exclude %{_mandir}/man8/tc* +%exclude %{_mandir}/man8/cbq* %attr(644,root,root) %config(noreplace) %{_sysconfdir}/iproute2/* %{_sbindir}/* %exclude %{_sbindir}/tc @@ -84,13 +131,23 @@ install -D -m644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a %files tc %license COPYING +%if ! 0%{?fedora} +%{_sysconfdir}/profile.d/iproute2.sh +%endif %{_mandir}/man7/tc-* %{_mandir}/man8/tc* +%{_mandir}/man8/cbq* %dir %{_libdir}/tc/ %{_libdir}/tc/* %{_sbindir}/tc %{_datadir}/bash-completion/completions/tc +%if ! 0%{?_module_build} +%files doc +%license COPYING +%doc examples +%endif + %files devel %license COPYING %{_mandir}/man3/* @@ -99,17 +156,25 @@ install -D -m644 lib/libnetlink.a %{buildroot}%{_libdir}/libnetlink.a %{_includedir}/iproute2/bpf_elf.h %changelog -* Thu Jul 22 2021 Fedora Release Engineering - 5.13.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild +* Wed Oct 20 2021 Andrea Claudi - 5.14.0-1 +- New version 5.14.0 [1999860] -* Wed Jun 30 2021 Andrea Claudi - 5.13.0-1 -- Update to 5.13.0 (#1977463) +* Mon Aug 09 2021 Mohan Boddu - 5.13.0-4.el9 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 -* Tue Apr 27 2021 Andrea Claudi - 5.12.0-1 -- Update to 5.12.0 (#1954257) +* Fri Jul 16 2021 Andrea Claudi - 5.13.0-3.el9 +- Fix changelog (Andrea Claudi) [1947854] +- Add RHEL gating configuration (Aleksandra Fedorova) -* Fri Feb 26 2021 Andrea Claudi - 5.11.0-1 -- New version 5.11.0 (#1931731) +* Thu Jul 15 2021 Andrea Claudi - 5.13.0-2.el9 +- Remove Recommends: iproute-tc from spec file (Andrea Claudi) [1947854] + +* Wed Jun 30 2021 Andrea Claudi - 5.13.0-1.el9 +- New version 5.13.0 (#1977898) + +* Fri Apr 16 2021 Mohan Boddu - 5.10.0-3.el9 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 * Tue Jan 26 2021 Fedora Release Engineering - 5.10.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index 8513c83..c893066 100644 --- a/sources +++ b/sources @@ -2,3 +2,4 @@ SHA512 (iproute2-5.10.0.tar.xz) = a468eefa797898b6de452212aa432c0a931434defacae5 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