Re: Where to store module-specific read-only data?

Michael G Schwern <[email protected]> Wed, 30 Dec 2009 23:04:54 -0800
Newsgroups gmane.comp.lang.perl.modules.module-build
Message-ID <[email protected]>
Tim Landscheidt wrote:
>> Meanwhile... what module in this chain is requiring a new MakeMaker?
> 
> IIRC Module::Build itself due to its requirement for
> ExtUtils::Manifest; after another look that may be due to a
> bug (?) in cpanspec however that translates Module::Build's
> META.yml's:
> 
> | [...]
> | recommends:
> | [...]
> |   ExtUtils::Manifest: 1.54
> | [...]
> | requires:
> | [...]
> |   ExtUtils::Manifest: 0
> | [...]
> 
> to:
> 
> | [...]
> | BuildRequires:  perl(ExtUtils::Manifest) >= 1.54
> | [...]
> | Requires:       perl(ExtUtils::Manifest) >= 1.54
> | [...]
> 
> I'll give it another try next year :-).

That's all ok, but none of that requires a new MakeMaker.  My guess is that 
whatever set of rpms you're using hasn't split ExtUtils::Manifest out of the 
ExtUtils::MakeMaker package.


>> Now, it might be that you need a new MakeMaker to make your CPAN client
>> happy or something but you shouldn't need one to upgrade Module::Build.
> 
> I usually try to use RPMs whenever possible as it makes
> software management much easier than using a separate CPAN
> client.

I'm principle I agree, but with CPAN modules RPMs are often unavailable or out 
of date and (as you outline below) rather complicated.


>> By the way, if any of the stuff mentioned above breaks, it breaks
>> *everything* for *everybody* so you really shouldn't be afraid to
>> upgrade it all early and often.
> 
> There are two aspects to this: Fedora (11; maybe 12 is all
> peachy) packs the Perl core distribution in many packages
> (i. e. RPMs). ExtUtils::Manifest is part of the
> perl-ExtUtils-MakeMaker RPM (and apparently also CPAN's
> ExtUtils-MakeMaker-6.56.tar.gz?); so to update
> ExtUtils::Manifest requires either building a new
> perl-ExtUtils-MakeMaker RPM or splitting it into two sepa-
> rate RPMs for perl-ExtUtils-MakeMaker and (an updated)
> perl-ExtUtils-Manifest.

ExtUtils-Manifest split from ExtUtils-MakeMaker a while ago (along with 
ExtUtils-Install and a few other auxiliary modules).  MakeMaker still ships 
with a copy of it to prevent a circular dependency, but its easily separated. 
  Binary rpms don't have such a circular dep to worry about (since its not 
building from source) so it should split them.


>   The other side is that the build of those RPMs happens in
> the way that the build environment is set up, 70 patches are
> applied (including 5000+ lines for Module::Build)

Whoa!  What's in those patches?  Have they been pushed upstream?  Could you 
link to them?


> every-
> thing is compiled and afterwards the results are split into
> about 40 separate RPMs.

Is that 40 RPMs from just Module::Build?


-- 
87. If the thought of something makes me giggle for longer than 15
     seconds, I am to assume that I am not allowed to do it.
     -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
            http://skippyslist.com/list/