Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 79116
Status: resolved
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: djerius [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 1.9800
Fixed in: (no value)



Subject: cpan is stymied by incorrect directory and file permissions
I'm attempting to install Math::Subsets::List using cpan v. 1.98 and it is failing to finish the unpacking operation because the directories in the distribution do not have the execute bit set and none of the files or directories have the write bit set. The author has indicated that the distribution was built on Windows, which is the source of the uncommon permissions. The distribution has been around since 2009; I haven't been able to test if older versions of cpan handled this correctly. I should note that CPAN Testers do not seem to have problems with its installation. I can't explain that. I've tried this on two separate systems with the same results. Running cpanm yields a similar failure. The message I'm getting from cpan is Running make for P/PR/PRBRENAN/Math-Subsets-List-1.004.tar.gz CPAN: Digest::SHA loaded ok (v5.71) CPAN: Compress::Zlib loaded ok (v2.048) Checksum for /home/dj/.cpan/sources/authors/id/P/PR/PRBRENAN/Math-Subsets-List-1.004.tar.gz ok CPAN: File::Temp loaded ok (v0.22) Couldn't move /home/dj/.cpan/build/tmp-8209/Math-Subsets-List-1.004/MANIFEST to /home/dj/.cpan/build/Math-Subsets-List-1.004-38LG6w/MANIFEST: Permission denied at /home/dj/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/CPAN/Distribution.pm line 524. I've confirmed that the directory permissions are the problem by repackaging the tarball after running find Math-Subsets-List-1.004 -type d -exec chmod +x \{} \; chmod -R +w Math-Subsets-List-1.004/ using cpaninject to insert it into my CPAN sources directory, and rerunning cpan. Would it be possible for cpan to correct permissions before it attempts to move things? If this is a common problem for Windows created tarballs, then it makes sense for the cpan machinery to handle it. Thanks, Diab
Thank you for the report. It's surprising that nobody reported this before. I just counted 390 distros with missing x bit on some directory. I agree this is something the upload server has to deal with. We are already fixing world-writable files and directories, we will ba fixing files and directories not readable for the current user and when we are at it fix other broken bis in permissions in the tarballs.
I reported something similar at 13th July 2012 to modules@perl.org and gbarr@pobox.com - I didn't recognize that this distribution would be a good address. It would be great having a solution soon, because I'm working on some update automation for packaging systems (with implementation for pkgsrc) and it would help to eliminate false positives.
Tarball rewriting on the pause server side has been implemented in the https://github.com/andk/pause repo to various degrees over the last years. If there's anything left to talk about, there's the right place. Resolving now in the CPAN.pm repository. Thanks!