80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From c82a4d170e04b84aa0a630ed8142ec4220efaff9 Mon Sep 17 00:00:00 2001
 | |
| Message-Id: <c82a4d170e04b84aa0a630ed8142ec4220efaff9.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:08 +0100
 | |
| Subject: [PATCH] configure: fix parsing issue on libbpf_dir option
 | |
| 
 | |
| Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2009355
 | |
| Upstream Status: iproute2.git commit 48c379bc
 | |
| 
 | |
| commit 48c379bc2afd43b3246f68ed46475f5318b1218f
 | |
| Author: Andrea Claudi <aclaudi@redhat.com>
 | |
| 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 <aclaudi@redhat.com>
 | |
|     Acked-by: Phil Sutter <phil@nwl.cc>
 | |
|     Signed-off-by: David Ahern <dsahern@kernel.org>
 | |
| ---
 | |
|  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
 | |
| 
 |