Eric Wilhelm <enoba...@gmail.com> wrote:

>>> You're looking for File::ShareDir and the share_dir parameter, which
>>> was added in the just-released Module::Build 0.36.

>>As Module::Build is a core module, it is quite a pain to up-
>>date in my distribution.

> Would it be easier if we removed it from the core?

I don't think so; IMHO the problem lies more with the dis-
tribution. I'll explain below.

>>I stopped after building packages
>>for ExtUtils::CBuilder and ExtUtils::ParseXS when a requirement for
>>ExtUtils::Manifest 1.54 (with 1.51 already installed) would have meant
>>a rebuild of ExtUtils::MakeMaker. There's just too much stuff that
>>could break silently along the way.

> What version of ExtUtils::MakeMaker are you running?

6.36.

> 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 :-).

> 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.

> 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.

  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), every-
thing is compiled and afterwards the results are split into
about 40 separate RPMs. So to create an update for, say,
Module::Build 0.3601, if you just use cpanspec or similar to
create an RPM spec, you'd have to make sure that you repli-
cate any distribution-specific patches and other voodoo that
the core SRPM provides. This requires much more expertise
than updating a stand-alone package that is not intertwined
with the core and I'd fear that otherwise wrong paths and
the like were used that would not make themselves heard im-
mediately.

  Ideally, therefore the RPM maintainers (who know their
stuff) would provide updated RPMs for core modules, at least
the important ones. Unfortunately, this does not seem to be
too much fun :-).

Tim

Reply via email to