Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-Cover CPAN distribution.

Report information
The Basics
Id: 50774
Status: resolved
Priority: 0/
Queue: Devel-Cover

People
Owner: Nobody in particular
Requestors: perl-rt [...] misterwhipple.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.65
Fixed in: (no value)



Subject: .gitignore in MANIFEST causes dmake failure
Summary: Attempting to install Devel::Cover 0.65 under Strawberry Perl 5.10.0 with dmake, dmake halts with fatal errors. Symptoms: During the standard make-dance, dmake fails with the following message: dmake: makefile: line 1111: Error: -- A non AUGMAKE meta target must not be mixed with AUGMAKE meta targets, offending target [BUGS] To reproduce: tar xzf Devel-Cover-0.65.tar.gz cd Devel-Cover-0.65 perl Makefile.PL dmake Or if using CPANPLUS: z --force Devel::Cover perl Makefile.PL dmake Fix: Before running "perl Makefile.PL", edit MANIFEST to remove line 1, the line that says ".gitignore". The build/test/install sequence should then proceed normally.
Hello, It seems to me that this is a bug in dmake or something to do with strawberry perl. Unfortunately am not in a position to reproduce it at the moment. I know that strawberry is a fairly fast moving target. Could you please check whether this is still a problem? I'm loathe to make such a change unless it is really necessary and at the moment it's not clear to me at all why having .gitignore in the MANIFEST is causing such a problem. Thanks,
On Sun Apr 11 12:44:12 2010, PJCJ wrote: Show quoted text
> Hello, > > It seems to me that this is a bug in dmake or something to do with > strawberry perl. Unfortunately am not in a position to reproduce it at > the moment. I know that strawberry is a fairly fast moving target. > Could you please check whether this is still a problem? > > I'm loathe to make such a change unless it is really necessary and at the > moment it's not clear to me at all why having .gitignore in the MANIFEST > is causing such a problem. > > Thanks,
I'll pop in and help, if I may, and say that we aren't THAT fast-moving a target! The version of dmake has been the same for at least a year. (We're changing it now for the 5.12.x versions, but it should be stable that long again.) The error is because a line like this is generated in the Makefile by the MY::postamble that's in Devel::Cover's Makefile.PL: .gitignore BUGS CHANGES Cover.xs ... $(SET_VERSION) .gitignore BUGS CHANGES Cover.xs ... Apparently, dmake is interpreting the "." in front of ".gitignore" as a signal for a special target type that dmake has that other make programs do not, (what it is, I don't know, I'm not a make expert of any type!) and since "gitignore" is not one of those special targets, it's spewing a syntax error. (Make compatibility - aka weird bugs like this happening when trying to add to Makefiles - is one reason why a lot of people are moving away from EU::MM, but that's a whole other side issue.) Since you shouldn't need to change a version number in .gitignore, I don't think, my recommendation for a fix to this problem would be to patch Makefile.PL, line 31 this way: my @files = sort keys %{maniread()}, "lib/Devel/Cover/Inc.pm"; -my @versions = grep { $_ ne "README" && $_ ne "Makefile.PL" } @files; +my @versions = grep { $_ ne 'README' && $_ ne 'Makefile.PL' && $_ ne '.gitignore' } @files; (ok, there's a style change, there, too [why ask for interpolation when you don't need it], but you see the point.) This would make the lines generated be this: BUGS CHANGES Cover.xs ... $(SET_VERSION) BUGS CHANGES Cover.xs ... That way, you would not have the .gitignore file first thing in that line, and then the makefile would then be syntactically correct for dmake, in addition to any other make program that Devel::Cover's Makefile.PL IS currently working with. AND you wouldn't have to change the MANIFEST. Would that fix the problem to your satisfaction? (And considering that Devel::Cover is a prerequisite for something that's in the forthcoming Strawberry Perl Professional, I'd like to see this fix in the next version of Devel::Cover, please.)
Fixed by http://github.com/pjcj/Devel--Cover/commit/a5b94605b9fdb4fe35cf0073a89a4b63c5a9d968 Thanks for the analysis and fix. This is untested but I have put out a release since it is an important fix. Hope it works ...