Subject: Re: bug#35010: Many CPAN download URLs are no longer available

From: Tobias Geerinckx-Rice <[email-masked]>
Date: Wed, 27 Mar 2019 01:31:00 +0100

Mark,

[Quick stream-of consciousness reply on a train, whee.]

Mark H. Weaver wrote:
> At least some, and probably most, of these URIs were updated 
> quite
> recently.  For example, the 'perl-mouse', 'perl-carp-clan', and
> 'perl-file-temp' were all updated on March 23, and presumably 
> the source
> URIs worked at that point, but then all three URIs had to be 
> updated two
> days later to fix the broken download links.

- The wave of Perl updates this March was me, using ‘guix refresh 
  -u’ (and manually checking for breakages, of course).

I never use ‘guix refresh’, until after about a year I forget why, 
use ‘guix refresh’ once, and promptly remember.

The updater for CPAN packages is at best caveat-quality.  It 
helpfully downloads the updated tarball to the store, but doesn't 
update the URL.  Since the file is in the store, everything works 
fine on the updater's machine, then breaks everywhere else.

Background: the problem here is that CPAN URLs contain the 
uploader name, e.g. (Karen?) ETHER(idge) in the case of

  mirror://cpan/authors/id/E/ET/ETHER/URI-1.76.tar.gz

which doesn't change every VERSION (so the problem is somewhat 
hidden) but more frequently than the author/maintainer would.

I'm planning on finally taking care this problem after I get home 
(and after I finally get the Overdrives set up, cough), either by 
making the CPAN updater also rewrite URL fields (if possible?), or 
finding out whether there's a way to construct these URLs without 
using the uploader name, or… well, that's all I have for now.

- While fixing the remaining fallout from this, I did find a few 
  other broken CPAN links for packages that I hadn't recently 
  touched.  Updating them broke others, so I just left them alone. 
  I don't know if these are more broken refreshes from longer ago 
  that went unnoticed (so basically nobody uses these packages), 
  or if there's another unrelated problem.

Kind regards,

T G-R