# from John Peacock
# on Monday 17 July 2006 10:59 am:

>Anyways, moot points all around...  Nothing to see here...  Move
> along, move along... ;-)

Your EU::MM support in version.pm solves this case, but M::B will never 
add another dependency?

>Eric Wilhelm wrote:
>> Was there a discussion at one point about M::B bundling and/or
>> bootstrapping its non-core dependencies?
>
>This discussion is complicated by the fact that both M::B and version
>will be core in 5.10.0, so we only need to deal with fresh installs.

Correct me if I'm wrong, but doesn't "non-core" in this context need to 
mean "non-core anywhere in 5.*.*" ?

>> AFAIK, EU::MM never depended on anything that hadn't always been
>> core.
>
>Well, version can depend on EU::MM, because EU::MM is core...

I only mentioned that as a point of comparing M::B to its predecessor. 

>> Which would hurt less?
>>
>>   1.  bundling dependencies
>>   - "cpan version" would cause two installs of version.pm (big
>> deal?)
>
>This last point is actually a big deal.  If we had gone the bundled
>route, we'd have to make sure that cpan only indexed the standalone
>version.pm release, 

err,  I actually had a slightly different scenario in mind (below), but 
doesn't the META.yml cover the indexing issue?

  http://module-build.sourceforge.net/META-spec-v1.2.html#no_index

>since otherwise it could happen that trying to 
>install only version.pm would also install Module::Build.

If version.pm build_requires Module::Build, then "cpan version" would 
first install M::B, which would install it's bundled version.pm, after 
which cpan would proceed to finish the originally requested version.pm 
install (which may be a newer version than the bundled one depending on 
the latest release ordering.)  This would even be desirable if 
version.pm gets way more active that M::B at some point.  If anything, 
the optimization here would be for cpan to notice that M::B has just 
installed the same version of version.pm that triggered the M::B 
install, but worst case is that it overwrites ~15 files with identical 
copies of themselves, right?

If you want to maintain parallel EU::MM and M::B files for version.pm, 
that's up to you.  I'm just wondering what happens when any of these 
(there may be more -- this is just a quick check against 5.8.8 core) 
decide to switch to using M::B?

  Module::Signature
  ExtUtils::ParseXS
  Archive::Tar
  Pod::Readme
  ExtUtils::CBuilder
  YAML
  Pod::HTML

I'm thinking M::B should bundle even its optional dependencies so it can 
ask me if I want the feature and dwiw without me having to install stuff 
and then reconfigure it (I'm still not clear on exactly how the 
optional features are configured.)

If recursive builds could support EU::MM sub-distributions as well as 
M::B, wouldn't including these in the dist be a simple untar?  What's 
404k compared to the convenience of a "yyyyyy" full-featured install on 
a fresh perl?

--Eric
-- 
software:  a hypothetical exercise which happens to compile.
---------------------------------------------------
    http://scratchcomputing.com
---------------------------------------------------


Reply via email to