download.pl: check for existing file before the first download attempt
authorFelix Fietkau <nbd@nbd.name>
Fri, 16 Dec 2016 14:15:48 +0000 (15:15 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 16 Dec 2016 14:16:47 +0000 (15:16 +0100)
In the build system, flock will prevent multiple concurrent downloads
for the same file. However, if one download request for the same file is
waiting for another one to finish, it will result in downloading the
same file twice consecutively.

Prevent this issue by exiting immediately if the file has already been
downloaded

Signed-off-by: Felix Fietkau <nbd@nbd.name>
scripts/download.pl

index 90d50a88622f26f554344f20b07f9da7ba649e74..ab72b6bdd361886d3485e2b3a48302333120b2da 100755 (executable)
@@ -246,12 +246,11 @@ push @mirrors, 'http://sources.lede-project.org';
 push @mirrors, 'http://mirror2.openwrt.org/sources';
 push @mirrors, 'http://downloads.openwrt.org/sources';
 
-while (!$ok) {
+while (!-f "$target/$filename") {
        my $mirror = shift @mirrors;
        $mirror or die "No more mirrors to try - giving up.\n";
 
        download($mirror);
-       -f "$target/$filename" and $ok = 1;
 }
 
 $SIG{INT} = \&cleanup;