aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndré Draszik <git@andred.net>2016-07-15 16:03:27 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-20 10:24:55 +0100
commitc91dbf3ca2faec95195c85b65aa6cab7de9bca2c (patch)
tree4ac10807a148446af6129dd37d171efb12ad011c
parent3434f3cfe40d140fec2660d24508eeeaec4f66a8 (diff)
downloadopenembedded-core-contrib-c91dbf3ca2faec95195c85b65aa6cab7de9bca2c.tar.gz
oe-git-proxy: don't depend on syslinux
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@andred.net> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rwxr-xr-xscripts/oe-git-proxy13
1 files changed, 7 insertions, 6 deletions
diff --git a/scripts/oe-git-proxy b/scripts/oe-git-proxy
index 1247902406..0078e95450 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