From: Ximin Luo Date: Sun, 5 Jul 2020 14:06:52 +0000 (+0100) Subject: Don't download SHA256 if it's already available locally X-Git-Tag: archive/raspbian/1.43.0+dfsg1-1+rpi1^2~7 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b111dbd3183a3df16acfd77f13e9eb0f3a7c582b;p=rustc.git Don't download SHA256 if it's already available locally Forwarded: not-needed In Debian we provide the stage0 tarballs as a separate component so that the buildds don't need to access the network during the build. Forwarded: not-needed Gbp-Pq: Name d-dont-download-stage0.patch --- diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 5800e54a36..bd77301f95 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -14,16 +14,18 @@ import tempfile from time import time -def get(url, path, verbose=False): +def get(url, path, verbose=False, use_local_hash_if_present=True): suffix = '.sha256' sha_url = url + suffix with tempfile.NamedTemporaryFile(delete=False) as temp_file: temp_path = temp_file.name - with tempfile.NamedTemporaryFile(suffix=suffix, delete=False) as sha_file: - sha_path = sha_file.name + sha_path = path + suffix try: - download(sha_path, sha_url, False, verbose) + if use_local_hash_if_present and os.path.exists(sha_path): + print("using already-download file " + sha_path) + else: + download(sha_path, sha_url, False, verbose) if os.path.exists(path): if verify(path, sha_path, False): if verbose: @@ -41,7 +43,6 @@ def get(url, path, verbose=False): print("moving {} to {}".format(temp_path, path)) shutil.move(temp_path, path) finally: - delete_if_present(sha_path, verbose) delete_if_present(temp_path, verbose) @@ -418,7 +419,7 @@ class RustBuild(object): url = "{}/dist/{}".format(self._download_url, date) tarball = os.path.join(rustc_cache, filename) - if not os.path.exists(tarball): + if True: get("{}/{}".format(url, filename), tarball, verbose=self.verbose) unpack(tarball, tarball_suffix, self.bin_root(), match=pattern, verbose=self.verbose)