Stop shipping world writeable files in our tarball
authorPeter Rabbitson <ribasushi@cpan.org>
Wed, 13 Feb 2013 18:39:57 +0000 (19:39 +0100)
committerPeter Rabbitson <ribasushi@cpan.org>
Wed, 13 Feb 2013 19:00:48 +0000 (20:00 +0100)
commitad9445888039e05c8ca9ecf8b88948034ebaf0c1
treec6d0361901804a65d5a3298c8873f712d7e2ad3c
parent913b4bae66f2a424428ff3bd1e340b42da4581b8
Stop shipping world writeable files in our tarball

The chain of failures would go as follows: when we prepare the tarball
we briefly copy all generated POD to our root dir so that the
manifest/distdir_copy process can pick it up. Then before the distdir is
ready we run a cleanup using ExtUtils::Install::uninstall. However
everything in the ditdir is hardlinked to our root dir, including the
files we "uninstall". EU::I::uninstall has a weird dance deep in its
source[1] where it explicitly does chmod(0666) on the file it is about
to delete (why?!). Thus we end up with world-writables in our distdir,
since the hardlinked inode still retains the result of that last chmod.

Switch to a manual cleanup, and leave EU::I alone.

[1] https://metacpan.org/source/YVES/ExtUtils-Install-1.54/lib/ExtUtils/Install.pm#L274
Changes
maint/Makefile.PL.inc/53_autogen_pod.pl