Added constraints for random access flags
[platform/upstream/VK-GL-CTS.git] / external / fetch_sources.py
index 81c9bea..2aa2b57 100644 (file)
@@ -65,9 +65,10 @@ class SourcePackage (Source):
                if not self.isArchiveUpToDate():
                        self.fetchAndVerifyArchive()
 
-               # \note No way to verify that extracted contents match archive, re-extract
-               Source.clean(self)
-               self.extract()
+               if self.getExtractedChecksum() != self.checksum:
+                       Source.clean(self)
+                       self.extract()
+                       self.storeExtractedChecksum(self.checksum)
 
        def removeArchives (self):
                archiveDir = os.path.join(EXTERNAL_DIR, pkg.baseDir, pkg.archiveDir)
@@ -81,6 +82,20 @@ class SourcePackage (Source):
                else:
                        return False
 
+       def getExtractedChecksumFilePath (self):
+               return os.path.join(EXTERNAL_DIR, pkg.baseDir, pkg.archiveDir, "extracted")
+
+       def getExtractedChecksum (self):
+               extractedChecksumFile = self.getExtractedChecksumFilePath()
+
+               if os.path.exists(extractedChecksumFile):
+                       return readFile(extractedChecksumFile)
+               else:
+                       return None
+
+       def storeExtractedChecksum (self, checksum):
+               writeFile(self.getExtractedChecksumFilePath(), checksum)
+
        def fetchAndVerifyArchive (self):
                print "Fetching %s" % self.url
 
@@ -158,24 +173,28 @@ def postExtractLibpng (path):
 
 PACKAGES = [
        SourcePackage(
-               "http://zlib.net/zlib-1.2.8.tar.gz",
-               "zlib-1.2.8.tar.gz",
-               "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d",
+               "http://zlib.net/zlib-1.2.11.tar.gz",
+               "zlib-1.2.11.tar.gz",
+               "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
                "zlib"),
        SourcePackage(
-               "http://prdownloads.sourceforge.net/libpng/libpng-1.6.26.tar.gz",
-               "libpng-1.6.26.tar.gz",
-               "81bfc8f16ed125622c0c5ad44eeffda19e7a7c7e32f47e43c8932bf32deae7cc",
+               "http://prdownloads.sourceforge.net/libpng/libpng-1.6.27.tar.gz",
+               "libpng-1.6.27.tar.gz",
+               "c9d164ec247f426a525a7b89936694aefbc91fb7a50182b198898b8fc91174b4",
                "libpng",
                postExtract = postExtractLibpng),
        GitRepo(
                "https://github.com/KhronosGroup/SPIRV-Tools.git",
-               "d12a10d2dd0cc4236ef227707c11f991b9c0d544",
+               "0b0454c42c6b6f6746434bd5c78c5c70f65d9c51",
                "spirv-tools"),
        GitRepo(
                "https://github.com/KhronosGroup/glslang.git",
-               "e3aa654c4b0c761b28d7864192ca8ceea6faf70a",
+               "a5c5fb61180e8703ca85f36d618f98e16dc317e2",
                "glslang"),
+       GitRepo(
+               "https://github.com/KhronosGroup/SPIRV-Headers.git",
+               "2bf02308656f97898c5f7e433712f21737c61e4e",
+               "spirv-headers"),
 ]
 
 def parseArgs ():