David Golden wrote:
> On Sun, Feb 8, 2009 at 5:37 PM, Michael G Schwern <schw...@pobox.com
> <mailto:schw...@pobox.com>> wrote:
> 
>     MakeMaker already ships a minimum version of ExtUtils::Install and
>     has for
>     some time.  Module::Build has latest.pm <http://latest.pm> to deal
>     with exactly this problem.
> 
> But does EU::MM actually *install* the bundled EU::Install?   Or just
> uses it to bootstrap install itself?  Looking at the Makefile.PL, it
> looks like the latter.

If it's newer than the installed version it installs it, otherwise it just
uses the already installed version.  It can't do much without it.

The voodoo for that is in init_PM().  Both lib and inc are scanned for module
inclusion (they're both in PMLIBDIRS).  It goes through the PM files in inc/,
checks their version against the installed modules and if the installed
version is newer it removes the inc version from the list of modules to install.

It's very hacky, but straightforward from a MakeMaker internals PoV and I
needed something so I could split out the ExtUtils modules.


> It doesn't look as if EU::MM declares a dependency on EU::Install at
> all, so you could install EU::MM and wind up with an older, still broken
> EU::Install. 

It cannot depend on it conventionally without creating a circular dependency,
which is why it does its own bundling.


> (That's not the issue with M::B -- or at least not *this* issue under
> discussion.  It should probably do the same bundling of EU::Install to
> make sure it can get installed correctly, just like EU::MM.  But I'm not
> tackling that issue today.)

Building and testing with a bundled EUI and then running with a different one
defeats the point of the testing.  The tests pass but the user is left with a
possibly broken fakeinstall.

It's not just about getting the tests to pass but to also solve the revealed
problem.

But I understand not wanting to shave this yak today.


> P.S. Is EU::MM moving to github also?

Most likely.  I'm deliriously happy with their merge process.


-- 
91. I am not authorized to initiate Jihad.
    -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
           http://skippyslist.com/list/

Reply via email to