Bug 280674 - multimedia/x265-3.5_3 fails checksum on x265-asm-warnings.patch
Summary: multimedia/x265-3.5_3 fails checksum on x265-asm-warnings.patch
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-08-07 17:50 UTC by lysfjord.daniel
Modified: 2024-08-16 12:08 UTC (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lysfjord.daniel 2024-08-07 17:50:10 UTC
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?
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2024-08-07 17:50:10 UTC
Maintainer informed via mail
Comment 2 Mike Bristow 2024-08-08 09:48:06 UTC
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
Comment 3 lysfjord.daniel 2024-08-08 17:06:18 UTC
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:)
Comment 4 Craig Leres freebsd_committer freebsd_triage 2024-08-08 17:28:54 UTC
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?)
Comment 5 Craig Leres freebsd_committer freebsd_triage 2024-08-08 17:35:42 UTC
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.
Comment 6 Mikhail T. 2024-08-09 02:49:37 UTC
The fix is trivial, but I can no longer commit anything.

Whoever can, please, update the distinfo. Thank you!
Comment 7 Craig Leres freebsd_committer freebsd_triage 2024-08-09 23:34:43 UTC
(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?
Comment 8 Mikhail T. 2024-08-10 01:28:42 UTC
(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.
Comment 9 Hiroyuki Une 2024-08-10 02:14:24 UTC
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.
Comment 10 lysfjord.daniel 2024-08-10 10:59:06 UTC
Should probably bumb port version too, so poudriere picks it up
Comment 11 lysfjord.daniel 2024-08-10 11:00:57 UTC
(In reply to lysfjord.daniel from comment #10)
Nevermind, it's a non-functional change. Probably no need
Comment 12 Sebastian 2024-08-14 12:26:39 UTC
Is there any reason why the patch wasn't committed to quarterly or only by an oversight?
Comment 13 Edward.Sanford.Sutton, III 2024-08-16 12:08:01 UTC
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?