As summary say; checksum fails for the patch. Current SHA256 (as downloaded today, 2024-08-07): SHA256 (x265-asm-warnings.patch) = b59df1758664d85347e8f04fdf0a2934b6e0248af62e03a8e0aba0840c6280f3 Current build log: ===> Fetching all distfiles required by x265-3.5_3 for building => SHA256 Checksum OK for x265-3.5.tar.gz. => SHA256 Checksum mismatch for x265-asm-warnings.patch. ===> Refetch for 1 more times files: x265-asm-warnings.patch => x265-asm-warnings.patch doesn't seem to exist in /portdistfiles/. => Attempting to fetch https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/x265-asm-warnings.patch x265-asm-warnings.patch 4526 B 78 MBps 00s ===> Fetching all distfiles required by x265-3.5_3 for building ===> Fetching all distfiles required by x265-3.5_3 for building => SHA256 Checksum OK for x265-3.5.tar.gz. => SHA256 Checksum mismatch for x265-asm-warnings.patch. ===> Giving up on fetching files: x265-asm-warnings.patch Make sure the Makefile and distinfo file (/usr/ports/multimedia/x265/distinfo) are up to date. If you are absolutely sure you want to override this check, type "make NO_CHECKSUM=yes [other args]". *** Error code 1 Stop. make[1]: stopped in /usr/ports/multimedia/x265 *** Error code 1 ---8<---snip---->8----- Last build (2024-07-10): ===> Fetching all distfiles required by x265-3.5_3 for building => SHA256 Checksum OK for x265-3.5.tar.gz. => SHA256 Checksum mismatch for x265-asm-warnings.patch. ===> Refetch for 1 more times files: x265-asm-warnings.patch => x265-asm-warnings.patch doesn't seem to exist in /portdistfiles/. => Attempting to fetch https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/x265-asm-warnings.patch x265-asm-warnings.patch 4526 B 130 MBps 00s ===> Fetching all distfiles required by x265-3.5_3 for building ===> Fetching all distfiles required by x265-3.5_3 for building => SHA256 Checksum OK for x265-3.5.tar.gz. => SHA256 Checksum OK for x265-asm-warnings.patch. Only related change in git to Makefile is a change to use tabs instead of spaces: --- a/multimedia/x265/Makefile +++ b/multimedia/x265/Makefile @@ -4,8 +4,8 @@ PORTREVISION= 3 CATEGORIES= multimedia MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/get/${BB_TAG}.tar.gz?meow=/ -PATCH_SITES= https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/ -PATCHFILES+= x265-asm-warnings.patch:-p1 +PATCH_SITES= https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/ +PATCHFILES+= x265-asm-warnings.patch:-p1 MAINTAINER= ports@virtual-estates.net COMMENT= H.265/High Efficiency Video Coding (HEVC) format Is the "SHA256 Checksum mismatch" error shown both if it is a mismatch, and also if there's no file found?
Maintainer informed via mail
I have a copy of the original x265-asm-warnings-patch and the one that can be currently downloaded from bitbucket: : mike@cheddar:~ ; fetch -o x265-asm-warnings.patch https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/ x265-asm-warnings.patch 4526 B 81 MBps 00s : mike@cheddar:~ ; diff -ur x265-asm-warnings.patch /usr/ports/distfiles/x265-asm-warnings.patch --- x265-asm-warnings.patch 2024-08-08 06:31:26.000000000 +0100 +++ /usr/ports/distfiles/x265-asm-warnings.patch 2024-08-08 10:23:19.169039000 +0100 @@ -142,5 +142,5 @@ %elif %1==4 SBUTTERFLY qdq, %3, %4, %5 -- -2.45.2 +2.45.0 With this, I think that it is fairly easy to validate that the checksum mismatch is benign, and the checksums can be regenerated safely. I have no idea why bitbucket have changed the raw commit, but that is a concern
Given the following; # find /usr/local/poudriere/data/logs/bulk/ -type f -iname "*x265*" | grep -v latest | sort | xargs grep "doesn't seem to exist" | wc -l 13 # find /usr/local/poudriere/data/logs/bulk/ -type f -iname "*x265*" | grep -v latest | sort | xargs grep "SHA256 Checksum mismatch" | wc -l 9 # find /usr/local/poudriere/data/logs/bulk/ -type f -iname "*.log" | grep -v latest | xargs grep "SHA256 Checksum mismatch" | wc -l 12 # find /usr/local/poudriere/data/logs/bulk/ -type f -iname "*.log" | grep -v latest | wc -l 49376 the verdict is that I don't trust bitbucket:)
The x265_3.5.tar.gz I see in my /usr/ports/distfiles matches the sha256 in the port distinfo. It has a timestamp of 16-Dec-2023. However if I download a new copy from https://bitbucket.org/multicoreware/x265_git/downloads/ it's different (!). Doing a diff it looks like it has been re-rolled with a slightly different version: diff -r multicoreware-x265_git-3bd3dd731b4b.old/source/CMakeLists.txt x265_3.5/source/CMakeLists.txt 32c32 < set(X265_BUILD 200) --- > set(X265_BUILD 199) [with many other trivial changes] Looking at one source file that's different, the tarchive timestamps are different: zinc 35 % ls -l multicoreware-x265_git-3bd3dd731b4b.old/source/abrEncApp.cpp x265_3.5/source/abrEncApp.cpp -rw-r--r-- 1 leres wheel 46682 Aug 24 2023 multicoreware-x265_git-3bd3dd731b4b.old/source/abrEncApp.cpp -rw-r--r-- 1 leres wheel 46741 Mar 16 2021 x265_3.5/source/abrEncApp.cpp The patch in my /usr/ports/distfiles (also dated in Dec-2023) has the wrong checksum and is slightly different from the one you can currently download... zinc 24 % diff /usr/ports/distfiles/x265-asm-warnings.patch x265_git-8f18e3ad32684eee95e885e718655f93951128c3.diff 145c145 < 2.42.0 --- > 2.45.2 but the "new" patch is otherwise the same as the "old" one. Given the trivial change to the patch file, I'd be comfortable updating its distinfo hash but but that wouldn't solve the 3.5 tarchive mismatch... I'm not sure the best way to deal with that. (One would be to use the MASTER_SITES LOCAL hack and host the Dec 2023 version?)
One other datapoint. The last commit to this port was a few months ago in May: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279017 Bug 279017 - multimedia/x265-3.5_1 fails to build. Checksum mismatch Footer in patch file now reports 2.45.0 instead of 2.42.0 which causes a checksum mismatch It's basically exactly the same problem.
The fix is trivial, but I can no longer commit anything. Whoever can, please, update the distinfo. Thank you!
(In reply to Mikhail T. from comment #6) Fixing the patch checksum is only part of the solution; what about the fact that the version of x265_3.5.tar.gz currently available for download from bitbucket.org does not match the current port sha256? If you are the maintainer of upstream, maybe you could create a 3.5.1 release?
(In reply to Craig Leres from comment #7) > what about the fact that the version of x265_3.5.tar.gz currently available for download from bitbucket.org does not match the current port sha256? I'm unaware of this problem. > If you are the maintainer of upstream, maybe you could create a 3.5.1 release? Your patch for the upgrade may be as good -- or even better -- than mine. If you create one, you can file a PR -- same as I would have to, because I cannot commit anything any more.
I updated ports tree after manu@FreeBSD.ORG comitted at 2024-08-08, and removed old x265-asm-warnings.patch from /usr/port/distfiles, checksum mismatch was solved.
Should probably bumb port version too, so poudriere picks it up
(In reply to lysfjord.daniel from comment #10) Nevermind, it's a non-functional change. Probably no need
Is there any reason why the patch wasn't committed to quarterly or only by an oversight?
Could we use a fix along the lines of post-fetch: @${SED} '$d' x265-asm-warnings.patch to delete the last line of the patch before comparing it to distinfo?