Opened 10 years ago

Closed 10 years ago

#42623 closed enhancement (invalid)

py-numba fails checksum if mirrors fail through to github

Reported by: Russell-Jones-OxPhys (Russell Jones) Owned by: macports-tickets@…
Priority: Low Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: stromnov (Andrey Stromnov), ryandesign (Ryan Carsten Schmidt)
Port: py-numba

Description

Sometimes py*-numba fails to build because the file is obtained from https://github.com/numba/numba/tarball/0.12.0 (for example) rather than from any of the mirrors with the macports distfiles. Alternatively the checksum mysteriously fails (unfortunately I didn't look at the log before I cleaned, so that may well clarify what's happened). When this happens, one needs to do a sudo port selfupdate ; sudo port clean --all py*-numba This is because the old portfile is being used, but still succeeds with github. If the tar file isn't removed with --all, the build seems to keep trying to use it, though I could be mistaken about that. If so, I guess that's a bug. Either way, it would be nice if this didn't happen, i.e. if the github entry was commented out with a note for those who want to run old versions deliberately.

I believe this only shows up if you're building (e.g. to use a non-/opt/local prefix), but I thought it would at least be useful to mention for the benefit of others who run into this problem.

Change History (3)

comment:1 Changed 10 years ago by Russell-Jones-OxPhys (Russell Jones)

Cc: russell.jones@… added

Cc Me!

comment:2 Changed 10 years ago by Russell-Jones-OxPhys (Russell Jones)

I think the checksum is wrong for the github tar ball because it's dynamically generated, BTW. But I could be missing something.

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

Cc: ryandesign@… added; russell.jones@… removed
Resolution: invalid
Status: newclosed

Replying to russell.jones@…:

Sometimes py*-numba fails to build because the file is obtained from https://github.com/numba/numba/tarball/0.12.0 (for example) rather than from any of the mirrors with the macports distfiles.

In other words, a stealth update may have occurred. Normally in these cases, we would want to compare the old (from distfiles.macports.org) and new (from github.com) tarballs to see what changed. However, I am not able to find the old tarball on any MacPorts distfiles mirror. One possible reason for this is if the checksum did not match, even when that version was originally committed to MacPorts. This could happen if the developers released 0.12.0, the maintainer downloaded it and began working on the update, and before the maintainer finished the update and committed it to MacPorts, the developers stealth-updated 0.12.0.

Replying to russell.jones@…:

I think the checksum is wrong for the github tar ball because it's dynamically generated, BTW. But I could be missing something.

Even though the tarballs are dynamically generated, they are generated identically, so this is not a problem unless something else has changed.

In any case, the port was already updated to 0.12.1 a week ago so it's a moot point. selfupdate and use that version.

You mentioned "those who want to run old versions deliberately". We don't support that. Certainly, if you're following the instructions for installing an older port, then you're manually downloading an old historical portfile from our repository; no amount of commits to the current version of the portfile will change the historical portfiles. So users who deliberately use historical portfiles have to be aware that these kinds of problems can occur, and have to be prepared to do some legwork to work around such problems.

Note that, as the reporter, you don't need to add your address to the Cc field; you'll get Cc'd automatically.

Note: See TracTickets for help on using tickets.