Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
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 wandering the Monastery: (9)
As of 2014-08-21 20:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (143 votes), past polls