thor has asked for the wisdom of the Perl Monks concerning the following question:

Greetings all,

I'm using Module::Build on a new module that I'm working on. Reading the documentation, I should be able to put regular expressions in the MANIFEST.SKIP file and have the Build script ignore any files that match any regular expression in that file when creating the MANIFEST file. However, I've found that this is not the case. It seems to be ignoring the file completely! Is this a known issue?

Thanks in advance.


The only easy day was yesterday

Replies are listed 'Best First'.
Re: Module::Build and MANIFEST.SKIP
by dragonchild (Archbishop) on Feb 06, 2006 at 21:32 UTC
    It ignores those files when creating the distribution, not when creating the MANIFEST. I create my MANIFEST by hand, so that I know exactly what should be distributed. I'm also, from what I understand, in the minority of CPAN maintainers who do this when using MB.

    Test using "./Build dist" and see what gets put in after you hand-build your MANIFEST.

    My criteria for good software:
    1. Does it work?
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

      I don't think that's true. Module::Build calls upon ExtUtils::Manifest to check the completeness of the MANIFEST in the "distcheck" action or to update the MANIFEST for the "manifest" action. That should use a MANIFEST.SKIP file, if one exists.

      To the original poster, could you please give an example of what's in your MANIFEST.SKIP that isn't working and perhaps show some output from a "Build distcheck" action?


      Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

        I did a bit more digging and I think I've found the issue. I'm doing mixed development. That is to say that I'm developing on both a Linux and a Windows machine. I had originally generated the MANIFEST.SKIP file on the Windows machine, but was seeing the above mentioned behavior on the Linux machine. For whatever reason, the light bulb flashed: line endings. I've confirmed that this is the case: running my MANIFEST.SKIP file through perl -i -ple 's/^M//' MANIFEST.SKIP and re-generating the MANIFEST gives the desired results. I think I'll send an e-mail to the Module::Build folks and see what they say. In the interim though, problem solved!


        The only easy day was yesterday