Re: cpan.org Metadata and modules files not being updated

[email protected] (James E Keenan)
Newsgroups perl.cpan.workers
Message-ID <[email protected]>
On 3/21/26 09:31, James E Keenan wrote:
> Having a problem which first becomes apparent running the 'cpan' shell, 
> but then points toward the cpan.org infrastructure.
> 
> Yesterday I installed perl-5.43.9 on by two servers (Linux and FreeBSD). 
>   Here I present data from FreeBSD:
> ```
> [perlmonger: perl-5.43.9] $ ls -l bin/perl bin/cpan
> -rwxr-xr-x  1 jkeenan jkeenan    8418 Mar 20 14:56 bin/cpan
> -rwxr-xr-x  2 jkeenan jkeenan 4080848 Mar 20 14:56 bin/perl
>   $ ./bin/perl -v | head -2 | tail -1
> This is perl 5, version 43, subversion 9 (v5.43.9) built for amd64- 
> freebsd-thread-multi
> $ ./bin/cpan -v
> ./bin/cpan script version 1.678, CPAN.pm version 2.38
> ```
> I then installed Task::CPAN::Reporter against that perl (including a 
> trial release of Net-SSLeay-1.95_001) and then proceeded to generate 
> CPANtester reports for over 500 distros on each platform.
> 
> I subsequently received email indicating that some of the problems I 
> reported had already been fixed.  I went back to those new perl 
> installations and tried to use the `cpan` shell to install the updated 
> distros.
> ```
> $ cd $TESTINGDIR/perl-5.43.9
> $ ./bin/cpan
> 
> cpan[1]> reload index
> Reading '/home/jkeenan/.cpan/Metadata'
>    Database was generated on Mon, 09 Feb 2026 15:41:01 GMT
> Fetching with HTTP::Tiny:
> https://cpan.org/authors/01mailrc.txt.gz
> Reading '/home/jkeenan/.cpan/sources/authors/01mailrc.txt.gz'
> ............................................................................DONE
> Fetching with HTTP::Tiny:
> https://cpan.org/modules/02packages.details.txt.gz
> Reading '/home/jkeenan/.cpan/sources/modules/02packages.details.txt.gz'
>    Database was generated on Mon, 09 Feb 2026 15:41:01 GMT
> Warning: This index file is 39 days old.
>    Please check the host you chose as your CPAN mirror for staleness.
>    I'll continue but problems seem likely to happen.
> ............................................................................DONE
> Fetching with HTTP::Tiny:
> https://cpan.org/modules/03modlist.data.gz
> Reading '/home/jkeenan/.cpan/sources/modules/03modlist.data.gz'
> DONE
> Writing /home/jkeenan/.cpan/Metadata
> ```
> Note these two lines in the output above:
> ```
>    Database was generated on Mon, 09 Feb 2026 15:41:01 GMT
> 
>    Database was generated on Mon, 09 Feb 2026 15:41:01 GMT
> Warning: This index file is 39 days old.
>    Please check the host you chose as your CPAN mirror for staleness.
>    I'll continue but problems seem likely to happen.
> ```
> I get a console beep when that line `Warning: Ths index file is 39 days 
> old.` appears.
> 
> Today, 21 Mar 2026, is 40 days after 09 Feb 2026.  Now my *local* CPAN 
> metadata files are up-to-date:
> ```
> $ ls -l ~/.cpan/Metadata ~/.cpan/sources/modules ~/.cpan/sources/authors
> /
> -rw-r--r--  1 jkeenan jkeenan 44358810 Mar 21 13:05 /home/jkeenan/.cpan/ 
> Metadata
> 
> /home/jkeenan/.cpan/sources/authors/:
> total 273
> -rw-r--r--   1 jkeenan jkeenan 250949 Mar 21 13:05 01mailrc.txt.gz
> drwxr-xr-x  28 jkeenan jkeenan     28 May 20  2021 id
> 
> /home/jkeenan/.cpan/sources/modules:
> total 2549
> -rw-r--r--  1 jkeenan jkeenan 2592931 Mar 21 13:05 
> 02packages.details.txt.gz
> -rw-r--r--  1 jkeenan jkeenan     248 Mar 21 13:05 03modlist.data.gz
> ```
> So what it appears is happening is that the files on cpan.org are out- 
> of-date:
> ```
> https://cpan.org/authors/01mailrc.txt.gz
> 
> https://cpan.org/modules/02packages.details.txt.gz
> ```
> The problem appears to be that **inside** the local 
> `02packages.details.txt.gz` file, the `Last-Updated` entry is still 09 
> Feb 2026.
> ```
> $ zcat ~/.cpan/sources/modules/02packages.details.txt.gz | head
> File:         02packages.details.txt
> URL:          http://www.cpan.org/modules/02packages.details.txt
> Description:  Package names found in directory $CPAN/authors/id/
> Columns:      package name, version, path
> Intended-For: Automated fetch routines, namespace documentation.
> Written-By:   PAUSE version 1.005
> Line-Count:   270470
> Last-Updated: Mon, 09 Feb 2026 15:41:01 GMT
> 
> A1z::Html                          0.04  C/CE/CEEJAY/A1z-Html-0.04.tar.gz
> ```
> So every time I say `reload index` inside the `cpan` shell, I'm getting 
> the same 40-day-old data every time.  I note, for instance, that in 
> 02packages I don't see the latest version of a CPAN distro which I 
> uploaded on 03 March.
> ```
> $ zgrep -n 'Business::Tax::US' ~/.cpan/sources/modules/02packages.detail
> s.txt.gz
> 30869:Business::Tax::US::Form_1040::Worksheets 0.07 J/JK/JKEENAN/ 
> Business-Tax-US-Form_1040-Worksheets-0.07.tar.gz
> ```
> ... whereas metacpan.org correctly has version 0.08 uploaded on March 3.
> ```
> https://metacpan.org/pod/Business::Tax::US::Form_1040::Worksheets
> ```
> Where should this be further reported?
> 
> 

After many hours of head-banging-on-wall, I got the 'cpan' shell on one 
of my two servers to DWIM -- though I don't know why it achieved the 
result I wanted.

I had to compare the ~/.cpan/CPAN/MyConfig.pm file on my laptop -- which 
was already DWIMming -- with that on my Linux server.  I observed 
differences in 2 of the key-value pairs:

KVP           Laptop (Ubuntu 24.04 LTS)        Server (Debian)
pushy_https   0                                1
urllist       0 [https://cpan.metacpan.org/]   0 [http://www.cpan.org/]

I used 'o conf' to change those 2 values on the server to match the 
laptop.  I then called 'reload cpan' and 'reload index'.  After 
committing those changes and exiting the 'cpan' shell, I issued two 
commands suggested by mauke on irc.perl.org #p5p:

#####
$ zgrep -n 'Last-Updated' 
~/.cpan/sources/modules/02packages.details.txt.gz ; \
perl -MStorable -wE 'my $m = retrieve $ARGV[0]; say $m->{DATE_OF_02}. " 
| " . localtime($m->{last_time})'  ~/.cpan/Metadata
8:Last-Updated: Sun, 22 Mar 2026 02:17:03 GMT
Sun, 22 Mar 2026 02:17:03 GMT | Sun Mar 22 03:02:16 2026
#####

... which was equivalent to what I was getting on my laptop.

I then attempted to test XML-Parser against perl-5.43.9.  For two days I 
could only get XML-Parser-2.47.  Now I was able to fetch and install 
XML-Parser-2.51.

Can anyone explain why these incantations worked?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.