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 <g...@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

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to