Bug 260522 - sysutils/datadog-agent: unable to fetch all files / bad checksum on single file
Summary: sysutils/datadog-agent: unable to fetch all files / bad checksum on single file
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-18 18:00 UTC by Ryan T. Dean
Modified: 2022-05-14 13:21 UTC (History)
5 users (show)

See Also:
bugzilla: maintainer-feedback? (uros)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan T. Dean 2021-12-18 18:00:51 UTC
I'm unable to build sysutils/datadog-agent, and a few others whom I have asked also are unable to build.  There is a bad checksum on one of the vendor library dependencies that get loaded from GitHub, specifically:

# make checksum
===>  License BSD4CLAUSE accepted by the user
===>   datadog-agent-7.24.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by datadog-agent-7.24.1 for building
...
=> SHA256 Checksum mismatch for kubernetes-component-base-039242c015a9_GH0.tar.gz.
...
===>  Refetch for 1 more times files:  kubernetes-component-base-039242c015a9_GH0.tar.gz
===>  License BSD4CLAUSE accepted by the user
===>   datadog-agent-7.24.1 depends on file: /usr/local/sbin/pkg - found
=> kubernetes-component-base-039242c015a9_GH0.tar.gz doesn't seem to exist in /export/ports/distfiles/.
=> Attempting to fetch https://codeload.github.com/kubernetes/component-base/tar.gz/039242c015a9?dummy=/kubernetes-component-base-039242c015a9_GH0.tar.gz
fetch: https://codeload.github.com/kubernetes/component-base/tar.gz/039242c015a9?dummy=/kubernetes-component-base-039242c015a9_GH0.tar.gz: size unknown
fetch: https://codeload.github.com/kubernetes/component-base/tar.gz/039242c015a9?dummy=/kubernetes-component-base-039242c015a9_GH0.tar.gz: size of remote file is not known
kubernetes-component-base-039242c015a9_GH0.tar          53 kB  912 kBps    01s
===> Fetching all distfiles required by datadog-agent-7.24.1 for building
===>  License BSD4CLAUSE accepted by the user
===>   datadog-agent-7.24.1 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by datadog-agent-7.24.1 for building
...
=> SHA256 Checksum mismatch for kubernetes-component-base-039242c015a9_GH0.tar.gz.
...
===>  Giving up on fetching files:  kubernetes-component-base-039242c015a9_GH0.tar.gz
Make sure the Makefile and distinfo file (/usr/ports/sysutils/datadog-agent/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

The file size is the same, but the checksum always comes up consistently differently for myself on every machine I've tried it from, and for several friends whom I've asked to test as well:

diff --git a/sysutils/datadog-agent/distinfo b/sysutils/datadog-agent/distinfo
index 90d3832c96fe..0d715f7171bf 100644
--- a/sysutils/datadog-agent/distinfo
+++ b/sysutils/datadog-agent/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1610104349
+TIMESTAMP = 1639848529
 SHA256 (datadog-datadog-agent-7.24.1_GH0.tar.gz) = 147e85c48809318ed453a286fd9a2e32a74e6621429590bd1e127a32f68b0552
 SIZE (datadog-datadog-agent-7.24.1_GH0.tar.gz) = 17245055
 SHA256 (DataDog-agent-payload-v4.46.0_GH0.tar.gz) = 57020bf13fc1632c7b0145341d407d0c644c64dd7939f5582685207d6ea15a4c
@@ -299,7 +299,7 @@ SHA256 (kubernetes-client-go-bec269661e48_GH0.tar.gz) = ab3f4cfe6e06e587a24984e4
 SIZE (kubernetes-client-go-bec269661e48_GH0.tar.gz) = 586268
 SHA256 (kubernetes-cloud-provider-20453efc2458_GH0.tar.gz) = edf66cafced197c9f9a9724cf3d510d166383c32e96725d540b0f7515d5a15f6
 SIZE (kubernetes-cloud-provider-20453efc2458_GH0.tar.gz) = 38489
-SHA256 (kubernetes-component-base-039242c015a9_GH0.tar.gz) = 7667471877a6a4436d7b9203bbe94eda5448a367aaf615ecbf542886b6a00aa7
+SHA256 (kubernetes-component-base-039242c015a9_GH0.tar.gz) = 2b5f32f0fb12f13317174fb4bf795a36495e4aa3a3045ef0a86d8784cc68115e
 SIZE (kubernetes-component-base-039242c015a9_GH0.tar.gz) = 55196
 SHA256 (kubernetes-cri-api-608eb1dad4ac_GH0.tar.gz) = 8c6479a48f18710699c043725e9292ddb4e1fbc730df6557e589632c1f27ff64
 SIZE (kubernetes-cri-api-608eb1dad4ac_GH0.tar.gz) = 91129


as you can see, the file size is unchanged, but the SHA256 fingerprint has changed.  I see the same fingerprint on every machine I test with, and that the few other people I've poked see the same as well.

Interestingly enough, even accepting the delta, the port fails to build, but that seems like another issue...
Comment 2 commit-hook freebsd_committer 2022-05-14 13:20:51 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1cc8118103cb4f4b050573d40a9c67adf8049aa2

commit 1cc8118103cb4f4b050573d40a9c67adf8049aa2
Author:     Dmitri Goutnik <dmgk@FreeBSD.org>
AuthorDate: 2022-05-14 13:13:37 +0000
Commit:     Dmitri Goutnik <dmgk@FreeBSD.org>
CommitDate: 2022-05-14 13:13:37 +0000

    sysutils/datadog-agent: Unbreak build on amd64

    - Regenerate distinfo:

    ===>  Giving up on fetching files:  kubernetes-component-base-039242c015a9_GH0.tar.gz
    Make sure the Makefile and distinfo file (/usr/ports/sysutils/datadog-agent/distinfo)
    are up to date.  If you are absolutely sure you want to override this
    check, type "make NO_CHECKSUM=yes [other args]".

    - Adjust CGO_CFLAGS:

    vendor/github.com/DataDog/zstd/zstd_stream.go:61:22: could not determine kind of name for C.ZSTD_compressBegin
    vendor/github.com/DataDog/zstd/zstd_stream.go:64:22: could not determine kind of name for C.ZSTD_compressBegin_usingDict
    vendor/github.com/DataDog/zstd/zstd_stream.go:94:13: could not determine kind of name for C.ZSTD_compressContinue
    vendor/github.com/DataDog/zstd/zstd_stream.go:120:13: could not determine kind of name for C.ZSTD_compressEnd

    - Mark BROKEN on i386:

    vendor/github.com/DataDog/gopsutil/process/process_freebsd.go:95:9: cannot use k.Start.Sec * 1000 (value of type int32) as type int64 in return statement
    vendor/github.com/DataDog/gopsutil/process/process_freebsd.go:383:17: cannot use k.Start.Sec * 1000 (value of type int32) as type int64 in struct literal

    PR:             260522
    Approved by:    portmgr (blanket, build fix)

 sysutils/datadog-agent/Makefile |  4 +++-
 sysutils/datadog-agent/distinfo | 14 +++++++-------
 2 files changed, 10 insertions(+), 8 deletions(-)