Michael G Schwern wrote:
On Sun, Dec 05, 2004 at 10:43:30AM -0500, Stas Bekman wrote:

$ExtUtils::MakeMaker::VERSION 6.22 has itroduced the target changes:

1)  s/pm_to_blib/pm_to_blib.ts/
2)  s/blibdirs/blibdirs.ts/

none is documented in Changes.

I've two issues with it:

1) now I have to go and fix the (cvs|svn) ignore rules in all projects

2) it broke mp2 install which was relying on pm_to_blib target

Of course those are all solvable. But may I ask why the sudden change?


To unify some internal code. Certain operating systems (I'm looking at you, VMS) attach extra special significance to a dot in filenames and require you
to have one and only one. If you "forget" to have a dot in your filename
it will helpfully add one on the end. And this caused some confusion as
not everything was smart enough to know that when you get a file called
"pm_to_blib." it really means "pm_to_blib".


Thus the VMS code spat out "pm_to_blib.ts" and everything else uses "pm_to_blib" and this difference required yet more special code for VMS.

Special code bad.  Especially special VMS code.  Make Schwern angry.

But even slightly user-visible changes to MakeMaker make mod_perl mad.

Thanks for the explanation Michael. It makes total sense. Though I think Changes should at least include:


Renamed timestamps:
s/pm_to_blib/pm_to_blib.ts/
s/blibdirs/blibdirs.ts/
in order to be consistent with VMS requirements for filenames to have at least one '.'.


It's probably the best adding this entry to the 6.22's section of Changes (even though it's like modifying the history :)

So would it fix things if there was a dummy pm_to_blib target which just
depended on pm_to_blib.ts?  Is it necessary to have a similar thing for
blibdirs.ts as blibdirs wasn't around for very long and it never made it
into a production perl?

--- lib/ExtUtils/MM_Unix.pm  (revision 2075)
+++ lib/ExtUtils/MM_Unix.pm  (local)
@@ -3209,6 +3209,10 @@
     my $self = shift;
     my($autodir) = $self->catdir('$(INST_LIB)','auto');
     my $r = q{
+# For backwards compat with anything that referenced this target.
+pm_to_blib: pm_to_blib.ts
+       $(NOOP)
+
 pm_to_blib.ts: $(TO_INST_PM)
 };

I've already fixed modperl2 build so it doesn't make any difference to me. But perhaps others will be bitten by this too, so yes, it's probably a good idea. Just don't forget to log it in Changes :)


As usual, thanks for keeping the MakeMaker boat afloat, Michael!

--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Reply via email to