Opened 13 months ago

Closed 13 months ago

Last modified 13 months ago

#71368 closed defect (fixed)

yajl @2.1.0: checksum mismatch

Reported by: diekhans (Mark Diekhans) Owned by: benjaminlyu@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: zialo1 (Aha80), jmroot (Joshua Root)
Port: yajl

Description (last modified by ryandesign (Ryan Carsten Schmidt))

sudo port -N install yajl@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

Change History (4)

comment:1 Changed 13 months ago by jmroot (Joshua Root)

Cc: benjaminlyu@… removed
Owner: set to benjaminlyu@…
Status: newassigned

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.

comment:2 Changed 13 months ago by jmroot (Joshua Root)

Resolution: fixed
Status: assignedclosed

In 93e21bf1a739e215107845b96722c591cccc704c/macports-ports (master):

yajl: avoid checksum mismatch

Closes: #71368

comment:3 Changed 13 months ago by jmroot (Joshua Root)

In an hour or two when the change reaches the rsync mirrors, you should be able to run sudo port selfupdate and sudo port clean --dist yajl and then try again.

comment:4 in reply to:  1 Changed 13 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: zialo1 jmroot added
Description: modified (diff)
Summary: yajl checksum error compiling from sourceyajl @2.1.0: checksum mismatch

Has duplicate #71376.

Replying to 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. 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. 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.

Note: See TracTickets for help on using tickets.