Unable to install latest Getopt::Long via output from cpan-outdated #218

bricas opened this Issue Mar 14, 2013 · 4 comments


None yet
2 participants

bricas commented Mar 14, 2013

cpan-outdated returns the tarball path, but cpanminus seems to fail with that. on the other hand, passing the module name works fine:

$ cpanm J/JV/JV/Getopt-Long-2.39.tar.gz
! Finding J/JV/JV/Getopt-Long-2.39.tar.gz on cpanmetadb failed.
! Finding J/JV/JV/Getopt-Long-2.39.tar.gz () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution J/JV/JV/Getopt-Long-2.39.tar.gz ()

$ cpanm Getopt::Long
--> Working on Getopt::Long
Fetching http://www.cpan.org/authors/id/J/JV/JV/Getopt-Long-2.39.tar.gz ... OK
Configuring Getopt-Long-2.39 ... OK
Building and testing Getopt-Long-2.39 ... OK
Successfully installed Getopt-Long-2.39 (upgraded from 2.38)
1 distribution installed

It seems to be isolated to this module for me.


miyagawa commented Mar 14, 2013

Holy shit nice catch. This is because of that cpanm assumes PAUSE ID has to be 3 chars or longer, since otherwise what would be the hashed author directory look like e.g. authors/id/A/AA/AAA.

I will make it work with two-letters PAUSE ID for now, and ask if there's one-letter PAUSE ID.

bricas commented Mar 14, 2013

Seems like 2-char IDs would be the minimum (for hashing to work), but it's always best to ask. :)


miyagawa commented Mar 14, 2013

Fixed in devel

miyagawa closed this Mar 14, 2013

@miyagawa miyagawa added a commit that referenced this issue Mar 14, 2013

@miyagawa miyagawa Checking in changes prior to tagging of version 1.6006.
Changelog diff is:

diff --git a/Changes b/Changes
index 591f369..a09af7b 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,11 @@
 See http://github.com/miyagawa/cpanminus/ for the latest development.

+1.6006  Wed Mar 13 22:53:44 PDT 2013
+   [Improvements]
+      - Fixed --save-dists option when used with non-CPAN distros. They're now
+        saved into $dir/vendor. (Dave Rolsky) #216
+      - Fixed PAUSE dist path where author ID is only 2 chars (Brian Cassidy) #218
 1.6005  Fri Mar  8 11:46:11 PST 2013
       - Fatpack CPAN::Meta to fix bootstrap failure with --installdeps + cpanfile

miyagawa commented Mar 14, 2013

PAUSE request form has the 3-9 chars rule https://pause.perl.org/pause/query?ACTION=request_id but the reality is that there's JV, IX and RA, probably made before the rule existed and grandfathered.

> curl -s http://www.cpan.org/authors/01mailrc.txt.gz | gzcat | cut -d ' ' -f 2 | perl -nlE 'say if length($_) <= 2'

Fortunately there's no one-letter PAUSE ID.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment