From: Andrea Claudi <aclaudi@redhat.com>
To: netdev@vger.kernel.org
Cc: stephen@networkplumber.org, dsahern@gmail.com, bluca@debian.org,
phil@nwl.cc, haliu@redhat.com
Subject: [PATCH iproute2 v5 7/7] configure: add the --libdir option
Date: Thu, 14 Oct 2021 10:50:55 +0200 [thread overview]
Message-ID: <62f6968cc2647685a0ef8074687ecf12c8c1f3c0.1634199240.git.aclaudi@redhat.com> (raw)
In-Reply-To: <cover.1634199240.git.aclaudi@redhat.com>
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>
---
Makefile | 7 ++++---
configure | 18 ++++++++++++++++++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 5eddd504..f6214534 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
@@ -69,7 +70,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
@@ -89,7 +90,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
next prev parent reply other threads:[~2021-10-14 8:51 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-14 8:50 [PATCH iproute2 v5 0/7] configure: add support for libdir option Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 1/7] configure: fix parsing issue on include_dir option Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 2/7] configure: fix parsing issue on libbpf_dir option Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 3/7] configure: fix parsing issue with more than one value per option Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 4/7] configure: simplify options parsing Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 5/7] configure: support --param=value style Andrea Claudi
2021-10-14 8:50 ` [PATCH iproute2 v5 6/7] configure: add the --prefix option Andrea Claudi
2021-10-14 8:50 ` Andrea Claudi [this message]
2021-10-14 10:10 ` [PATCH iproute2 v5 7/7] configure: add the --libdir option Phil Sutter
2021-10-14 11:02 ` Andrea Claudi
2021-10-14 11:17 ` Phil Sutter
2021-10-16 0:02 ` [PATCH iproute2 v5 0/7] configure: add support for libdir option David Ahern
2021-10-16 0:02 ` David Ahern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=62f6968cc2647685a0ef8074687ecf12c8c1f3c0.1634199240.git.aclaudi@redhat.com \
--to=aclaudi@redhat.com \
--cc=bluca@debian.org \
--cc=dsahern@gmail.com \
--cc=haliu@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=phil@nwl.cc \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.