netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 2/7] configure: fix parsing issue on libbpf_dir option
Date: Thu, 14 Oct 2021 10:50:50 +0200	[thread overview]
Message-ID: <d1f024aa91c4a264c4de710f7ef04d9a3f6369dc.1634199240.git.aclaudi@redhat.com> (raw)
In-Reply-To: <cover.1634199240.git.aclaudi@redhat.com>

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 <aclaudi@redhat.com>
---
 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 <<EOF
 Usage: $0 [OPTIONS]
 	--include_dir <dir>	Path to iproute2 include dir
-	--libbpf_dir		Path to libbpf DESTDIR
+	--libbpf_dir <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


  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 ` Andrea Claudi [this message]
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 ` [PATCH iproute2 v5 7/7] configure: add the --libdir option Andrea Claudi
2021-10-14 10:10   ` 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=d1f024aa91c4a264c4de710f7ef04d9a3f6369dc.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).