[OE-core] [PATCH] oe-git-proxy: don't depend on syslinux

André Draszik git at andred.net
Fri Jul 15 15:03:27 UTC 2016


gethostip comes from syslinux. It seems odd to depend on a bootloader
to clone a git repository.

Switch to using getent from the c-library, which should be available
on every system.

We now also support the case where a hostname resolves to more than
one IP address.

Signed-off-by: André Draszik <git at andred.net>
---
 scripts/oe-git-proxy | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 1247902..0078e95 100755
--- a/scripts/oe-git-proxy
+++ b/scripts/oe-git-proxy
@@ -86,13 +86,14 @@ match_host() {
 
 	# Match by netmask
 	if valid_ipv4 $GLOB; then
-		HOST_IP=$(gethostip -d $HOST)
-		if valid_ipv4 $HOST_IP; then
-			match_ipv4 $GLOB $HOST_IP
-			if [ $? -eq 0 ]; then
-				return 0
+		for HOST_IP in $(getent ahostsv4 $HOST | grep ' STREAM ' | cut -d ' ' -f 1) ; do
+			if valid_ipv4 $HOST_IP; then
+				match_ipv4 $GLOB $HOST_IP
+				if [ $? -eq 0 ]; then
+					return 0
+				fi
 			fi
-		fi
+		done
 	fi
 
 	return 1
-- 
2.8.1




More information about the Openembedded-core mailing list