]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
fetch2/wget: Check downloaded file isn't zero size
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 Jan 2014 09:58:21 +0000 (09:58 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 Jan 2014 12:39:23 +0000 (12:39 +0000)
I can't think of a reason we'd download zero sized files however there are
reasons zero length files can accidently make it onto source mirrors.

This check allows us to ignore the broken files and switch to another
mirror rather than fail with odd checksum failures.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/bb/fetch2/wget.py

index 00732019eda85b8079cf9cc19bd3a2c2e6dd0e91..7cd25a508c36f8ae07f13f03b93f4869e5eaf97c 100644 (file)
@@ -91,6 +91,10 @@ class Wget(FetchMethod):
         if not os.path.exists(ud.localpath) and not checkonly:
             raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, ud.localpath), uri)
 
+        if not checkonly and os.path.getsize(ud.localpath) == 0:
+            os.remove(ud.localpath)
+            raise FetchError("The fetch of %s resulted in a zero size file?! Deleting and failing since this isn't right." % (uri), uri)
+
         return True
 
     def checkstatus(self, ud, d):