Interesting new behavior in ExtUtils::MakeMaker breaks building of Gnome2



Hi all,

When I was putting together the release of the Gnome2 package on
Monday, my build kept failing when it came time to generate the
`enums.pod` file.  In order to try and fix the issue, I added a
'mkdir' to the Makefile so the directory `blib/lib/Gnome2' exists
before the POD file gets generated.  Adding the call to 'mkdir' caused
building of Gnome2 to fail on systems (RT#89188 [1], because the
`blib/lib/Gnome2' directory already exists), so I decided to take a
closer look at the problem.

My build machine is using the ExtUtils::MakeMaker 6.78 (latest and
greatest), and it looks like a fix applied to EU::MM for RT#17041 [2]
changed the order of generating the man pages from the POD files
listed in the MAN3PODS (and other lists) is different now than it has
been in the past.

I've made a change to Gnome2 [3] that hardcodes the path to the Gnome2
output directory under blib so EU::MM sorts enums.pod differently now
when it generates the Makefile.  The change is working for me on older
and current versions of EU::MM.

Torsten, can you look at this and see if this change is the right way
to go?  There's also another '$(FULLEXT)/enums.pod' being used at the
bottom of Makefile.PL; can it/should it be hardcoded to 'Gnome2' also?

To reproduce the issue, install EU::MM 6.75_02 or newer , then try to
build Gnome2 without the below change and without my call to 'mkdir'
at the end of Makefile.PL.  I've verified that Gnome 1.042 also has
the same issue, and most likely previous versions will also.  The
build will fail at the point the POD files are generated with the
error listed below.

Thanks,

Brian

[1] https://rt.cpan.org/Ticket/Display.html?id=17041
[2] https://rt.cpan.org/Ticket/Display.html?id=89188
[3] https://github.com/cpanxaoc/perl-Gnome2/commit/0566aea5aa25229d5771b31c73824c420bca34d3

=== Gnome2 build error ===
/usr/bin/perl "-Iblib/arch" "-Iblib/lib" -MGnome2 podifyenums.pl
Gnome2 maps > blib/lib/Gnome2/enums.pod
/bin/sh: blib/lib/Gnome2/enums.pod: No such file or directory
make: *** [blib/lib/Gnome2/enums.pod] Error 1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]