Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: ExtUtils::MakeMaker and dot files

by Anonymous Monk
on Jul 19, 2012 at 07:03 UTC ( #982592=note: print w/ replies, xml ) Need Help??


in reply to Re^2: ExtUtils::MakeMaker and dot files
in thread ExtUtils::MakeMaker and dot files

My script is something like: make manifest; make clean; removeAppleDouble; perl Makefile.PL; make; make install

:) Well, there's your problem!

 make manifest without a MANIFEST.SKIP gets you into trouble

$ dmake manifest C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe "-MExtUtils::Mani +fest=mkmanifest" -e mkmanifest Added to MANIFEST: .AppleDouble/Foo.pm

OOOPS

$ dmake help |grep "make manifest" -A3 make manifest rewrites the MANIFEST file, adding all remaining files found ( +See ExtUtils::Manifest::mkmanifest() for details)

With an addition to MANIFEST.SKIP all goes as planned

$ dmake manifest C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe "-MExtUtils::Mani +fest=mkmanifest" -e mkmanifest $ dmake skipcheck C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe "-MExtUtils::Mani +fest=skipcheck" -e skipcheck Skipping .AppleDouble/Foo.pm Skipping Makefile Skipping MANIFEST.bak Skipping MYMETA.json Skipping MYMETA.yml


Comment on Re^3: ExtUtils::MakeMaker and dot files
Select or Download Code
Re^4: ExtUtils::MakeMaker and dot files
by SleepyJay (Beadle) on Jul 19, 2012 at 18:18 UTC

    Folks, I already covered this and I don't know how else to say it: my MANIFEST.SKIP file does indeed exist; it skips .AppleDouble folders; and the MANIFEST file itself does not contain .AppleDouble folders or files. THIS IS ALREADY IN EFFECT.

    And yet my make will still grab lib/Project/.AppleDouble/Foo.pm, even though the MANIFEST *only* says lib/Project/Foo.pm.

    For example:

    $ make ... cp lib/Project/Foo.pm blib/lib/Project/Foo.pm cp lib/Project/.AppleDouble/Foo.pm blib/lib/Project/.AppleDouble/Foo.p +m ... $ cat MANIFEST ... lib/Project/Foo.pm ...

    The MANIFEST did not call for the files in the .AppleDouble folder, but they are still copied to blib. This is still a problem.

      The MANIFEST did not call for the files in the .AppleDouble folder, but they are still copied to blib. This is still a problem.

      Well, .AppleDouble/Foo.pm sure did not get copied to blib (I tested)

      But lib/.AppleDouble/Foop.pm did -- you should have been more specific!

      But I'd say its still not a problem because the purpose of MANIFEST.SKIP is to control which files get put into a tarball when you use make dist -- and if you do use  make dist then the resulting tarball will be free of .AppleDouble folders

      Otherwise you'd have to use the icky PM_FILTER option, or the laborious PM option

      PM => { 'Foo.pm' => '$(INST_LIBDIR)/Foo.pm', 'lib/Foop.pm' => '$(INST_LIBDIR)/Foop.pm', },

        Sigh. But we aren't making tar balls for distribution in this case. We are moving library-type code to a common location on a server to run in a dev environment. When I run my make mantra, the resulting Makefile itself has TO_INST_PM = lib/Project/.AppleDouble/Foo.pm in it. That is 100% my problem and it doesn't relate in any way to MANIFEST. I keep saying that MANIFEST isn't my problem, and yet it keeps coming up. What words am I not saying to make this clear?

        My solution has to reside in keeping Makefile.PL from recursing into .AppleDouble directories inside of lib. Or I need a completely different tool or approach. MANIFEST would only be relevant if I could have make install read the MANIFEST when moving to the perl lib area.

        BTW, I tried PM_FILTER => "grep -v \'.AppleDouble\'",, but that didn't seem to do anything--I may just not quite gotten the sytax or quoting quite right?

        I also looked into hacking out the .AppleDouble lines from the Makefile itself, but since I don't quite know what's going inside there, maybe that's a bad idea.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://982592]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2015-07-06 22:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (84 votes), past polls