diff options
| author | Tharun Suresh <stharunvikram@gmail.com> | 2023-02-08 13:37:15 +0530 |
|---|---|---|
| committer | Tharun Suresh <stharunvikram@gmail.com> | 2023-02-08 13:37:15 +0530 |
| commit | 4259073e9a5bedd25f4860ddec2be55d995b4b9d (patch) | |
| tree | 93649d6e92c69c1c46f004be44360ebd8214006b | |
| parent | 5dd0e1b7ae7bcddce28658487602e8a077737a3e (diff) | |
| download | rust-4259073e9a5bedd25f4860ddec2be55d995b4b9d.tar.gz rust-4259073e9a5bedd25f4860ddec2be55d995b4b9d.zip | |
x.py fails all downloads that use a tempdir with snap curl #107722
| -rw-r--r-- | src/bootstrap/bootstrap.py | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py index 5b19a658fb5..c298817895c 100644 --- a/src/bootstrap/bootstrap.py +++ b/src/bootstrap/bootstrap.py @@ -87,14 +87,16 @@ def _download(path, url, probably_big, verbose, exception): # If curl is not present on Win32, we should not sys.exit # but raise `CalledProcessError` or `OSError` instead require(["curl", "--version"], exception=platform_is_win32) - run(["curl", option, - "-L", # Follow redirect. - "-y", "30", "-Y", "10", # timeout if speed is < 10 bytes/sec for > 30 seconds - "--connect-timeout", "30", # timeout if cannot connect within 30 seconds - "--retry", "3", "-Sf", "-o", path, url], - verbose=verbose, - exception=True, # Will raise RuntimeError on failure - ) + with open(path, "wb") as outfile: + run(["curl", option, + "-L", # Follow redirect. + "-y", "30", "-Y", "10", # timeout if speed is < 10 bytes/sec for > 30 seconds + "--connect-timeout", "30", # timeout if cannot connect within 30 seconds + "--retry", "3", "-Sf", url], + stdout=outfile, #Implements cli redirect operator '>' + verbose=verbose, + exception=True, # Will raise RuntimeError on failure + ) except (subprocess.CalledProcessError, OSError, RuntimeError): # see http://serverfault.com/questions/301128/how-to-download if platform_is_win32: |
