Subject: | Add kwalitee metric for archive file ordering |
Most CPAN distribution archives will ultimately be extracted with the
Archive::Extract module.
This module, for complex reasons, has a bug whereby it can get confused
when the first file contained in the archive is NOT in the lowest common
root directory.
For example, Archive::Extract expects an ordering like the following.
foo/bar/Makefile.PL <--- Expected to be first
foo/bar/baz/b.txt
foo/bar/tro/c.txt
This will allow it to say that the archive was extracted at foo/bar
because it naively assumes the first file is at the root.
If the ordering looks like this...
foo/bar/baz/b.txt
foo/bar/Makefile.PL
foo/bar/tro/c.txt
Then Archive::Extract gets somewhat confused, and considers the root
directory to be foo/bar/baz, incorrectly.
Fixing this is apparently trickier than it may appear, and in any case
won't be fixed for default installations on older Perls.
As a result, I suggest a kwalitee point that checks that the first file
in the list of file names returned for the archive is in the
lowest-common-subdirectory for the archive.