summaryrefslogtreecommitdiffstats
path: root/lib/network/tools.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/network/tools.pm')
-rw-r--r--lib/network/tools.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/network/tools.pm b/lib/network/tools.pm
index 04bd343..8628bc2 100644
--- a/lib/network/tools.pm
+++ b/lib/network/tools.pm
@@ -47,7 +47,15 @@ sub stop_net_interface {
stop_interface($net->{net_interface}, $detach);
}
-sub connected() { gethostbyname("www.mageia.org") ? 1 : 0 }
+sub connected() {
+ if ($::isInstall) {
+ # gethostbyname() only reads /etc/resolv.conf once so if resolv.conf is
+ # not present when the test begins, writing it later is not going to help:
+ symlink "$::prefix/etc/resolv.conf", "/etc/resolv.conf" if ! -e "/etc/resolv.conf";
+ return scalar grep { /1 received/ } `$::prefix/bin/ping -qc1 www.mageia.org`;
+ }
+ gethostbyname("www.mageia.org") ? 1 : 0;
+}
# request a ref on a bg_connect and a ref on a scalar
sub connected_bg__raw {