152 lines
4.4 KiB
Diff
152 lines
4.4 KiB
Diff
|
From f9649a5c15f7dcee4e684854fcc75a7a3fe27683 Mon Sep 17 00:00:00 2001
|
||
|
Message-Id: <f9649a5c15f7dcee4e684854fcc75a7a3fe27683.1637678195.git.aclaudi@redhat.com>
|
||
|
In-Reply-To: <b30268eda844bdebbb8e5e4f5735e3b1bb666368.1637678195.git.aclaudi@redhat.com>
|
||
|
References: <b30268eda844bdebbb8e5e4f5735e3b1bb666368.1637678195.git.aclaudi@redhat.com>
|
||
|
From: Andrea Claudi <aclaudi@redhat.com>
|
||
|
Date: Tue, 23 Nov 2021 15:28:18 +0100
|
||
|
Subject: [PATCH] configure: add the --libdir option
|
||
|
|
||
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2016061
|
||
|
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
|
||
|
|