Skip Menu |

This queue is for tickets about the PPM-Make CPAN distribution.

Report information
The Basics
Id: 120921
Status: resolved
Priority: 0/
Queue: PPM-Make

People
Owner: Nobody in particular
Requestors: Ralf.Neubauer [...] wido.bv.aok.de
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Fails with Module::Build::Tiny
Date: Tue, 4 Apr 2017 09:30:59 +0000
To: "bug-PPM-Make [...] rt.cpan.org" <bug-PPM-Make [...] rt.cpan.org>
From: "Neubauer, Ralf" <ralf.neubauer [...] wido.bv.aok.de>
Hi, we included ReadonlyX into our nightly PPM builds, but this fails with: cp lib/ReadonlyX.pm blib\lib\ReadonlyX.pm Couldn't open Makefile: No such file or directory at C:\updater\perl\strawberry-perl-5.24.0.1-32bit\perl\site\lib/PPM/Make/Meta.pm line 143. There is no Makefile in the build directory, so parse_make, whose reason to exist apparently is to parse Makefile, fails. parse_make() is called by meta() which uses the existence of Build.PL and _build/ to decide if it has to call $self->parse_build() or $self->parse_make(). Build.PL exists but is autogenerated and nearly empty, because it is based on Module::Build::Tiny. _build/ doesn't exist, so the if() branches to parse_make(). The meta data seems to only be in (MY)?META\.(?:yml|json), so one of these files should be parsed instead of Makefile or _build/build_params (which doesn't exist either, there is only a _build_params with the command line options). I suppose PPM::Make::Meta has to be extended to detect and support Module::Build::Tiny. Ralf
On Tue Apr 04 18:46:46 2017, Ralf.Neubauer@wido.bv.aok.de wrote: Show quoted text
> Hi, > > we included ReadonlyX into our nightly PPM builds, but this fails > with: > > cp lib/ReadonlyX.pm blib\lib\ReadonlyX.pm > Couldn't open Makefile: No such file or directory at > C:\updater\perl\strawberry-perl-5.24.0.1- > 32bit\perl\site\lib/PPM/Make/Meta.pm line 143. > > There is no Makefile in the build directory, so parse_make, whose > reason to exist apparently is to parse Makefile, fails. parse_make() > is called by meta() which uses the existence of Build.PL and _build/ > to decide if it has to call $self->parse_build() or $self-
> >parse_make(). Build.PL exists but is autogenerated and nearly empty,
> because it is based on Module::Build::Tiny. _build/ doesn't exist, so > the if() branches to parse_make(). The meta data seems to only be in > (MY)?META\.(?:yml|json), so one of these files should be parsed > instead of Makefile or _build/build_params (which doesn't exist > either, there is only a _build_params with the command line options). > > I suppose PPM::Make::Meta has to be extended to detect and support > Module::Build::Tiny. > > Ralf
Thanks for the report. Shipped 0.9904 with a fix to depend solely on META.yml and not to try to parse _build/build_param/Makefile when Build.PL exists and _build does not (ie Module::Build::Tiny is used). Hope this helps. https://github.com/charsbar/ppm-make/commit/558e1422e6bc1be1479a661777a3b775043d1734