Skip to content

Commit 9032710

Browse files
committed
Add missing sha256 source checksums
The checksum is now mandatory for all packages. We pin the x264 version to try to make builds reproducible. We also fix error reporting if a checksum does not match. The previous logic was broken and reported the wrong package name.
1 parent 5663424 commit 9032710

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

scripts/build-ffmpeg.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -205,13 +205,15 @@ def calculate_sha256(filename: str) -> str:
205205
Package(
206206
name="opencore-amr",
207207
source_url="http://deb.debian.org/debian/pool/main/o/opencore-amr/opencore-amr_0.1.5.orig.tar.gz",
208+
sha256="2c006cb9d5f651bfb5e60156dbff6af3c9d35c7bbcc9015308c0aff1e14cd341",
208209
# parallel build hangs on Windows
209210
build_parallel=plat != "Windows",
210211
when=When.community_only,
211212
),
212213
Package(
213214
name="x264",
214-
source_url="https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2",
215+
source_url="https://code.videolan.org/videolan/x264/-/archive/32c3b801191522961102d4bea292cdb61068d0dd/x264-32c3b801191522961102d4bea292cdb61068d0dd.tar.bz2",
216+
sha256="d7748f350127cea138ad97479c385c9a35a6f8527bc6ef7a52236777cf30b839",
215217
# assembly contains textrels which are not supported by musl
216218
build_arguments=["--disable-asm"] if is_musllinux else [],
217219
# parallel build runs out of memory on Windows
@@ -221,13 +223,15 @@ def calculate_sha256(filename: str) -> str:
221223
Package(
222224
name="x265",
223225
source_url="https://bitbucket.org/multicoreware/x265_git/downloads/x265_3.5.tar.gz",
226+
sha256="e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8",
224227
build_system="cmake",
225228
source_dir="source",
226229
when=When.community_only,
227230
),
228231
Package(
229232
name="srt",
230233
source_url="https://github.com/Haivision/srt/archive/refs/tags/v1.5.4.tar.gz",
234+
sha256="d0a8b600fe1b4eaaf6277530e3cfc8f15b8ce4035f16af4a5eb5d4b123640cdd",
231235
build_system="cmake",
232236
build_arguments=(
233237
[r"-DOPENSSL_ROOT_DIR=C:\Program Files\OpenSSL"]
@@ -256,7 +260,7 @@ def calculate_sha256(filename: str) -> str:
256260
)
257261

258262

259-
def download_and_verify_package(package: Package) -> tuple[str, str]:
263+
def download_and_verify_package(package: Package) -> None:
260264
tarball = os.path.join(
261265
os.path.abspath("source"),
262266
package.source_filename or package.source_url.split("/")[-1],
@@ -272,17 +276,13 @@ def download_and_verify_package(package: Package) -> tuple[str, str]:
272276
raise ValueError(f"tar bar doesn't exist: {tarball}")
273277

274278
sha = calculate_sha256(tarball)
275-
if package.sha256 is None:
276-
print(f"sha256 for {package.name}: {sha}")
277-
elif package.sha256 == sha:
279+
if package.sha256 == sha:
278280
print(f"{package.name} tarball: hashes match")
279281
else:
280282
raise ValueError(
281283
f"sha256 hash of {package.name} tarball do not match!\nExpected: {package.sha256}\nGot: {sha}"
282284
)
283285

284-
return package.name, tarball
285-
286286

287287
def download_tars(packages: list[Package]) -> None:
288288
with concurrent.futures.ThreadPoolExecutor() as executor:
@@ -292,8 +292,9 @@ def download_tars(packages: list[Package]) -> None:
292292
}
293293

294294
for future in concurrent.futures.as_completed(future_to_package):
295+
name = future_to_package[future]
295296
try:
296-
name, tarball = future.result()
297+
future.result()
297298
except Exception as exc:
298299
print(f"{name} generated an exception: {exc}")
299300
raise

scripts/cibuildpkg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ class When(IntEnum):
127127
class Package:
128128
name: str
129129
source_url: str
130-
sha256: str | None = None
130+
sha256: str
131131
build_system: str = "autoconf"
132132
build_arguments: list[str] = field(default_factory=list)
133133
build_dir: str = "build"

0 commit comments

Comments
 (0)