152 lines
4.4 KiB
Diff
152 lines
4.4 KiB
Diff
From 935d2e39c8341178adbfcf7ae037b9f64dbc2d6e Mon Sep 17 00:00:00 2001
|
|
Message-Id: <935d2e39c8341178adbfcf7ae037b9f64dbc2d6e.1637749821.git.aclaudi@redhat.com>
|
|
In-Reply-To: <cef782ca658d695c5ca2d174ba1f89cba6bd84e5.1637749821.git.aclaudi@redhat.com>
|
|
References: <cef782ca658d695c5ca2d174ba1f89cba6bd84e5.1637749821.git.aclaudi@redhat.com>
|
|
From: Andrea Claudi <aclaudi@redhat.com>
|
|
Date: Wed, 24 Nov 2021 11:28:09 +0100
|
|
Subject: [PATCH] configure: add the --libdir option
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2009355
|
|
Upstream Status: iproute2.git commit cee0cf84
|
|
|
|
commit cee0cf84bd32c8d9215f0c155187ad99d52a69b1
|
|
Author: Andrea Claudi <aclaudi@redhat.com>
|
|
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 <aclaudi@redhat.com>
|
|
Acked-by: Phil Sutter <phil@nwl.cc>
|
|
Signed-off-by: David Ahern <dsahern@kernel.org>
|
|
---
|
|
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 <<EOF
|
|
Usage: $0 [OPTIONS]
|
|
--include_dir <dir> Path to iproute2 include dir
|
|
+ --libdir <dir> Path to iproute2 lib dir
|
|
--libbpf_dir <dir> Path to libbpf DESTDIR
|
|
--libbpf_force <on|off> 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
|
|
|