#755: 'make install-dev' assumes "modern" File::Path
----------------------+-----------------------------------------------------
Reporter: doughera | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: install | Version: 1.2.0
Severity: medium | Keywords:
Lang: | Patch:
Platform: |
----------------------+-----------------------------------------------------
Comment(by doughera):
Replying to [comment:1 jkeenan]:
> Now, since I subsequently switched several instances of the
'traditional' interface to the (no-longer-quite-so) 'modern' interface, if
you only have 1.06 you should be getting failures in many places other
than Parrot::Install (''e.g.,'' ''t/configure/*.t'' or ''t/steps/*.t'').
Actually, those should work ok, though perhaps not for the reason one
might initially expect. They use calls of the form {{{ mkpath($path,
{mode => 0755}). }}} The traditional interface expects the second
parameter to be a boolean (specifying verbosity). It sees {mode => 0755}
and evaluates it as true, prints "$path", and then creates the directory
with the default permissions of 0777 as modified by the user's umask. The
test suite ignores the printed message, and the test passes.
> So if we use the version that comes with what we have designated as the
minimum version of Perl 5 needed to build Parrot, we cause breakage for
people who use the latest version from CPAN. How should we proceed?
I suspect the problem is probably the t/tools/*.t tests are mis-using the
traditional interface.
Enclosing the first argument in square brackets {{{ [ ] }}} should work
for all versions of File::Path.
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/755#comment:3>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets