How to get rid of withoutworldwriteables?

When you upload module to CPAN, PAUSE checks that archive does not contain world writable files, because if you install files with such permissions, files may be changed by any user. If files are found, PAUSE creates modified archive, with correct permissions and uploads it with the same name, only "-withoutworldwriteables" is added. Usually such archives are created by tar on Windows, but they can be created on Linux too - it depends on permissions of files on authors hard drive.

Solution of this problem depends on which module framework you are using.

Module::Build version 0.31 creates archives itself and does not suffer from this problem.

Users of ExtUtils::Makemaker can:
1. migrate to Module::Build using my App::EUMM::Migrate
2. use ptar from Archive::Tar with "-C" (CPAN) option that I've added. Just upgrade to version 1.66 and add
dist => { TAR => 'ptar', TARFLAGS => '-c -C -f', },
to WriteMakefile call.

For Module::Install you can use Module::Install::PerlTar 1.001, it also uses Archive::Tar 1.66.
Add following code to your Makefile.PL:
use_ptar() if author_context; #from Module::Install::PerlTar

Comments about errors in English can be sent to alexchorny@gmail.com

1 Comment

Leave a comment

About chorny

user-pic I blog about Perl.