Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 4124
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: domm [...] zsi.at
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.20_02
Fixed in: (no value)



Subject: Build dist creates tarballs with bad permissions
While playing around with CPANTS data I found something interesting: There are 108 dists on CPAN using Build.PL 20 of those have bad permissions problmes. I.e. after extracting the tarball, there are files with permissions other than rw-r--r-- I quickly made a test dist, did ./Build dist unpacked the generated tarball, and indeed: all files are with permissions r--r--r-- (which makes them annoying to delete) I grabed Module-Build-0.21, tested again: same problem. Module_Build-0.21 itself suffers from the bug, too. Maybe this is caused by my OS / setup, but I tested it on a Debian and a Redhat box, both with the same problems... So this seems like a bug to me. I did't look at the sources (lack of time), so no patch - and I'm still not 100% sure wheater this is a real bug. I attached a list of dists that seem to suffer from this problem...
I believe the permissions are all set by ExtUtils::Manifest::manicopy(), and I thought it was actually proper to make the distribution files read-only. Can you elaborate on why it's a problem? -Ken
Aha, yeah, you're right. It looks like if you use the 'ln' method of copying for manicopy(), then you get different permissions than if you use the 'cp' method. This is because the cp() function in ExtUtils::Manifest explicitly removes write-permission. Grr. I wonder if we should just avoid using manicopy() here, or maybe try to co-opt its cp() method so we don't do the permissions changes.
It turned out to be fairly easy to avoid using manicopy(), so this bug is fixed in CVS. Now we just use our own copy_if_modified() method. -Ken
[KWILLIAMS - Sun Oct 19 13:15:50 2003]: Show quoted text
> It turned out to be fairly easy to avoid using manicopy(), so this bug > is fixed in CVS. > Now we just use our own copy_if_modified() method.
I've just fixed this in ExtUtils::Manifest in the snapshot it'll be in 6.18. Oh, and THANKS FOR FORWARDING THIS BUG ON! ;P