[MacPorts] #71368: yajl @2.1.0: checksum mismatch (was: yajl checksum error compiling from source)

MacPorts noreply at macports.org
Sat Nov 23 01:25:17 UTC 2024


#71368: yajl @2.1.0: checksum mismatch
-----------------------+---------------------------
  Reporter:  diekhans  |      Owner:  benjaminlyu@…
      Type:  defect    |     Status:  closed
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:
Resolution:  fixed     |   Keywords:
      Port:  yajl      |
-----------------------+---------------------------
Changes (by ryandesign):

 * cc: zialo1, jmroot (added)


Old description:

> sudo port -N install yajl at 2.1.0_0+universal
>
> {{{
> :error:checksum Checksum (rmd160) mismatch for yajl-2.1.0.tar.gz
> :info:checksum Portfile checksum: yajl-2.1.0.tar.gz rmd160
> df525cb99a1e6f1786c8f8f047127cad1b4eb80a
> :info:checksum Distfile checksum: yajl-2.1.0.tar.gz rmd160
> e242ec9247f8f398419335da6b5f823ea452c44e
> }}}
>
> this is a dependency of Okular

New description:

 {{{
 sudo port -N install yajl at 2.1.0_0+universal
 }}}

 {{{
 :error:checksum Checksum (rmd160) mismatch for yajl-2.1.0.tar.gz
 :info:checksum Portfile checksum: yajl-2.1.0.tar.gz rmd160
 df525cb99a1e6f1786c8f8f047127cad1b4eb80a
 :info:checksum Distfile checksum: yajl-2.1.0.tar.gz rmd160
 e242ec9247f8f398419335da6b5f823ea452c44e
 }}}

 this is a dependency of Okular

--

Comment:

 Has duplicate #71376.


 Replying to [comment:1 jmroot]:
 > The file on our mirrors has the checksums in the Portfile, but the file
 served by GitHub is different, probably because the legacy tarball is
 being used.

 Not for that reason.

 There was a bug in git many years ago that generated some tarballs
 incorrectly. When GitHub updated to the fixed version of git, it caused
 the checksums of the automatically-generated tarballs of the small number
 of affected projects to change. That was #54839 and all affected ports
 were fixed years ago.

 Legacy automatically-generated tarballs change checksums when the project
 is moved from one GitHub author to another, because the author name in the
 top-level directory name changes. Switching to the "archive" method avoids
 that problem, but that's not the reason for the checksum mismatch in this
 case here either.

 Here, the problem is that upstream has both a tag named `2.1.0` and a
 branch named `2.1.0`. Because of the way I wrote the github portgroup, the
 port was previously downloading a tarball of the 2.1.0 ''branch''. The
 tarball we mirrored extracts to a directory `lloyd-yajl-66cb08c`.
 [https://github.com/lloyd/yajl/commit/66cb08ca2ad8581080b626a75dfca266a890afb2
 66cb08c] is the last commit on the 2.1.0 branch. Now, github is delivering
 a tarball made from the 2.1.0 ''tag''. The new download extracts to a
 directory `lloyd-yajl-a0ecdde`.
 [https://github.com/lloyd/yajl/commit/a0ecdde0c042b9256170f2f8890dd9451a4240aa
 a0ecdde] is the commit the 2.1.0 tag points to. The contents of the two
 directories are identical.

 #70652 was the ticket tracking the github portgroup bug but it was closed
 without fixing the bug. I've opened a new ticket #71377 to track it.

-- 
Ticket URL: <https://trac.macports.org/ticket/71368#comment:4>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list