Opened 4 years ago

Closed 4 years ago

#61334 closed defect (fixed)

ddclient @3.9.1: Checksum mismatch

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: nerdling (Jeremy Lavergne)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: essandess (Steve Smith)
Port: ddclient

Description

[eae5b20f28c53bc5217e2f1b951a12ece2efe4a8/macports-ports] caused a checksum mismatch, of course:

$ sudo port fetch --no-mirrors ddclient
--->  Fetching distfiles for ddclient
--->  Attempting to fetch ddclient-3.9.1.tar.gz from https://github.com/ddclient/ddclient/tarball/v3.9.1
$ sudo port checksum ddclient
--->  Verifying checksums for ddclient
Error: Checksum (rmd160) mismatch for ddclient-3.9.1.tar.gz
Error: Checksum (sha256) mismatch for ddclient-3.9.1.tar.gz
Error: Checksum (size) mismatch for ddclient-3.9.1.tar.gz
Error: Failed to checksum ddclient: Unable to verify file checksums

See PortfileRecipes#stealth-updates for the correct procedure when you change a distfile's contents without changing its name.

Change History (4)

comment:1 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Since presumably there was nothing wrong with the manually-created tarball from sourceforge, my recommendation would be to continue to use that one and not the automatically-generated one from github (so reinstate the master_sites sourceforge line).

However if there is some reason why you really want to use the github tarball instead, follow the stealth update recipe mentioned above and also add github.tarball_from archive; we don't want to use github.tarball_from tarball (the portgroup's default) except in old ports that predate the existence of github.tarball_from archive.

comment:2 Changed 4 years ago by essandess (Steve Smith)

ddclient support and distribution was moved to GitHub, so that’s where we want to get the source from.

I’m still scratching my head about what caused this issue. Isn’t there some way of updating the mirror? Or just add one to the revision and this happens automatically?

comment:3 in reply to:  2 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to essandess:

ddclient support and distribution was moved to GitHub, so that’s where we want to get the source from.

That's not necessarily a good reason. If they make a new release from that location, absolutely use it. But if there was nothing wrong with the old file released from the old location, no reason not to continue using that, is there?

I’m still scratching my head about what caused this issue.

The file the port used to get from sourceforge is not the same file that it now gets from github, but its filename is the same, hence checksum mismatch.

Isn’t there some way of updating the mirror?

distfiles are expected to be immutable. If you have a new distfile that you want to mirror, arrange for it to appear at a different URL on the mirror. See PortfileRecipes#stealth-updates for the correct procedure, if that is really the way you want to handle this.

Or just add one to the revision and this happens automatically?

The revision has nothing to do with the distfile location.

comment:4 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

Looks like the automatically generated GitHub archive tarball is the one they had uploaded to SourceForge, so just switching to that was enough.

[2ae4a23b3867e38923053736e6893fefa41bf578/macports-ports]

Note: See TracTickets for help on using tickets.