On Sun, Oct 19, 2003 at 10:40:52AM -0700, Stas Bekman wrote: > >But you can't get around noticing META.yml if the developer use CVS in > >combination with different versions of EU::MM. > > > >I had that problem with the SpamAssassin Makefile.PL: Processed it with a > >newer EU::MM and META.yml got added to the MANIFEST; accidently checked in > >that MANIFEST, another dev got errors because that file was missing for > >him. Tried to check in META.yml but noticed that it will change everytime > >somebody processes Makefile.PL so that file got a real annoyance, CVS-wise.
It doesn't change when Makefile.PL is run, only when "make distdir" is run and that usually only happens when running "make dist" or "make disttest". Observe. [~/devel/ExtUtils-MakeMaker] ll META.yml -rw-r--r-- 1 schwern staff 470 Sep 18 09:11 META.yml [~/devel/ExtUtils-MakeMaker] perl Makefile.PL Writing Makefile for ExtUtils::MakeMaker [~/devel/ExtUtils-MakeMaker] ll META.yml -rw-r--r-- 1 schwern staff 470 Sep 18 09:11 META.yml [~/devel/ExtUtils-MakeMaker] make ...blah blah blah... [~/devel/ExtUtils-MakeMaker] ll META.yml -rw-r--r-- 1 schwern staff 470 Sep 18 09:11 META.yml [~/devel/ExtUtils-MakeMaker] make test ...blah blah blah... [~/devel/ExtUtils-MakeMaker] ll META.yml -rw-r--r-- 1 schwern staff 470 Sep 18 09:11 META.yml [~/devel/ExtUtils-MakeMaker] make disttest ...blah blah blah... [~/devel/ExtUtils-MakeMaker] ll META.yml -rw-r--r-- 2 schwern staff 470 Oct 19 15:32 META.yml However, since I didn't change anything important to META.yml (like the version or prereqs) the file is regenerated exactly the same. [~/devel/ExtUtils-MakeMaker] cvs diff META.yml [~/devel/ExtUtils-MakeMaker] cvs commit META.yml [~/devel/ExtUtils-MakeMaker] So as far as CVS is concerned, nothing has changed. Unless you're changing your distribution version or module prereqs very often, META.yml shouldn't get in the way of CVS. Anyhow, if META.yml was changing every time you ran Makefile.PL, it isn't by MakeMaker. > >In the end I just went the easy way and added NO_META. Oh, not really > >easy, had to add a workaround and remove that key on old EU::MMs again > >because else users get spurious warnings [1]... *sigh* Yeah, that's a problem with that warning. I'm thinking of removing it in the name of forward compatibility. > Yes, I have thought of this too. Michael, you say that you wanted to add > this new feature in a "stealth" manner, but the modification of MANIFEST is > what makes it visible. > > One possible workaround is not to include META.yml in MANIFEST, but let MM > add it on the fly after reading MANIFEST if it's found in the root > directory and wasn't already listed in MANIFEST (which folks will do on > their own will, usually when they want to maintain it themselves). There's slipping in a new feature without the authors having to make any edits and then there's being downright underhanded. :) This creates the existance of a file which isn't in the MANIFEST yet gets shipped when you say "make dist" creating an exception to what the MANIFEST does. You now have a file that you can't stop shipping even if you remove it from the MANIFEST. -- Michael G Schwern [EMAIL PROTECTED] http://www.pobox.com/~schwern/ If at first you don't succeed, call in an air strike.
