On Sat Mar 31 19:08:41 2007, schwern@pobox.com wrote:
Show quoted text> Matthew Wilson via RT wrote:
> > Sat Mar 31 13:12:45 2007: Request 26013 was acted upon.
> > Transaction: Ticket created by WILSON
> > Queue: Test-Simple
> > Subject: line_num() fails because of ExtUtils::MM_Unix::fixin()
> > Broken in: 0.70
> > Severity: Important
> > Owner: Nobody
> > Requestors: matthew@veradox.com
> > Status: new
> > Ticket <URL:
http://rt.cpan.org/Ticket/Display.html?id=26013 >
> >
> >
> > t/tbt_04line_num fails because ExtUtils::MM_Unix is inserting a 3-
> line
> > shell-escaper idiom, which breaks the hardcoded linenumbers in those
> > tests.
> >
> > Incrementing the line numbers by 3 fixes the installation, but it
> begs
> > bigger questions about what happens to line_num() when ExtUtils::MM
> is
> > used in conjuntion with Test::Simple to install other packages that
> test
>
> One way around this sort of problem is to use the #line directive to
> force the
> line numbers to be what you want. Another is to use __LINE__ instead
> of hard
> coded line numbers.
>
> But that's not really the problem.
>
> Why is fixin touching that file at all? Its a test file, MakeMaker
> should not
> be doing anything with it but running it.
>
> Could you send me your Makefile please? I think someone mucked with
> your
> MakeMaker.
>
Oh. I thought to take a look at the build output, and (I was using
cpan2rpm, oops!) it was calling ME->fixin(\@ARGV) or something like that
as an argument to Makefile.PL.
cpan2rpm line 615
# fixes the #! so perl can be found (and deps get made ok)
$info->{fixin} = <<EOF;
grep -rsl '^#!.*perl' . |
grep -v '\.bak\$' |xargs --no-run-if-empty \\
%__perl -MExtUtils::MakeMaker -e 'MY->fixin(\@ARGV)'
EOF