Skip to content

Commit c2454fc

Browse files
committed
Use certifi certs for buck download
1 parent ae2d822 commit c2454fc

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

tools/cmake/resolve_buck.py

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import argparse
1010
import os
1111
import platform
12+
import ssl
1213
import stat
1314
import sys
1415
import urllib.request
@@ -18,6 +19,7 @@
1819
from typing import Sequence, Union
1920

2021
import buck_util
22+
import certifi
2123
import zstd
2224

2325
"""
@@ -201,26 +203,23 @@ def resolve_buck2(args: argparse.Namespace) -> Union[str, int]:
201203
if os.path.isfile(buck2_local_path):
202204
return buck2_local_path
203205

204-
buck2_archive_url = f"https://github.com/facebook/buck2/releases/download/{target_buck_version}/{buck_info.archive_name}"
206+
buck2_archive_url = f"https://github.com/facebook/buck2/releases/download/{target_buck_version}/{buck_info.archive_name}"
205207

206-
try:
207-
print(f"Downloading buck2 from {buck2_archive_url}...", file=sys.stderr)
208-
archive_file, _ = urllib.request.urlretrieve(buck2_archive_url)
208+
print(f"Downloading buck2 from {buck2_archive_url}...", file=sys.stderr)
209+
ssl_context = ssl.create_default_context(cafile=certifi.where())
209210

210-
# Extract and chmod.
211-
with open(archive_file, "rb") as f:
212-
data = f.read()
213-
decompressed_bytes = zstd.decompress(data)
211+
with urllib.request.urlopen(buck2_archive_url, context=ssl_context) as request:
212+
# Extract and chmod.
213+
data = request.read()
214+
decompressed_bytes = zstd.decompress(data)
214215

215-
with open(buck2_local_path, "wb") as f:
216-
f.write(decompressed_bytes)
216+
with open(buck2_local_path, "wb") as f:
217+
f.write(decompressed_bytes)
217218

218-
file_stat = os.stat(buck2_local_path)
219-
os.chmod(buck2_local_path, file_stat.st_mode | stat.S_IEXEC)
220-
finally:
221-
os.remove(archive_file)
219+
file_stat = os.stat(buck2_local_path)
220+
os.chmod(buck2_local_path, file_stat.st_mode | stat.S_IEXEC)
222221

223-
return buck2_local_path
222+
return buck2_local_path
224223

225224

226225
def main():

0 commit comments

Comments
 (0)