Skip Menu |
 

This queue is for tickets about the B-Hooks-EndOfScope CPAN distribution.

Report information
The Basics
Id: 89245
Status: resolved
Priority: 0/
Queue: B-Hooks-EndOfScope

People
Owner: Nobody in particular
Requestors: jkeenan [...] cpan.org
Cc: ribasushi [...] leporine.io
rjbs [...] cpan.org
AdminCc:

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



CC: rjbs [...] cpan.org
Subject: B::Hooks::EndOfScope fails to report dependency on Variable::Magic
MIME-Version: 1.0
X-Mailer: MIME-tools 5.504 (Entity 5.504)
X-RT-Interface: Web
Message-ID: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org>
X-RT-Original-Encoding: utf-8
Content-Type: multipart/mixed; boundary="----------=_1380853433-32748-2"
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: binary
Content-Length: 1589
Download (untitled) / with headers
text/plain 1.5k
When a CPAN distribution has a dependency on B-Hooks-EndOfScope, it also has a dependency on everything on which B-Hooks-EndOfScope depends. That means that it's essential that all of B-Hooks-EndOfScope's dependencies be locatable and reported. I have encountered the following problem twice in the last year-and-a-half while trying to install Dist::Zilla. Dist::Zilla has a dependency on namespace::autoclean, which in turn has a dependency on B::Hooks::EndOfScope (http://deps.cpantesters.org/?module=Dist::Zilla). The Makefile in B-Hooks-EndOfScope (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks-EndOfScope-0.12/Makefile.PL) reports a dependency on Variable::Magic thusly: ######### my %OPT_RUN_DEPS = (can_xs() ? ( 'Variable::Magic' => '0.48', # when changing, also change it in B::Hooks::EndOfScope::XS # make sure we smoke the pure-perl version fallback is_smoker() ? ( 'Devel::Hide' => '0.0007' ) : (), ) : () ); ######### There is no mention of Variable::Magic in B-Hooks-EndOfScope's dist.ini file (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks-EndOfScope-0.12/dist.ini). Consequences: 1. CPAN Dependencies fails to report Variable::Magic as a prerequisite for B::Hooks::EndOfScope -- and vice versa. (See: http://deps.cpantesters.org/?module=B::Hooks::EndOfScope;perl=5.18.0;os=any%20OS;pureperl=0 and http://deps.cpantesters.org/depended-on-by.pl?dist=Variable-Magic-0.53.) 2. Because this dependency is not detected, installation of Dist::Zilla fails with output as in the attachment. This needs diagnosis and correction. Thank you very much. Jim Keenan
Subject: variable-magic-missing.txt
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"; name="variable-magic-missing.txt"
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline; filename="variable-magic-missing.txt"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: ascii
Content-Length: 1518
Can't locate Variable/Magic.pm in @INC (you may need to install the Variable::Magic module) (@INC contains: /Users/jimk/.cpan/build/Dist-Zilla-4.300039-K4QNYH/blib/arch /Users/jimk/.cpan/build/Dist-Zilla-4.300039-K4QNYH/blib/lib /Users/jimk/.cpan/build/Dist-Zilla-4.300039-K4QNYH/blib/lib /Users/jimk/.cpan/build/Dist-Zilla-4.300039-K4QNYH/blib/arch /usr/local/lib/perl5/site_perl/5.18.0/darwin-2level /usr/local/lib/perl5/site_perl/5.18.0 /usr/local/lib/perl5/5.18.0/darwin-2level /usr/local/lib/perl5/5.18.0 /usr/local/lib/perl5/site_perl/5.16.0 /usr/local/lib/perl5/site_perl/5.14.2 /usr/local/lib/perl5/site_perl/5.14.0 /usr/local/lib/perl5/site_perl/5.12.0 /usr/local/lib/perl5/site_perl/5.10.1 /usr/local/lib/perl5/site_perl/5.10.0 /usr/local/lib/perl5/site_perl/5.8.6 /usr/local/lib/perl5/site_perl .) at /usr/local/lib/perl5/site_perl/5.16.0/B/Hooks/EndOfScope.pm line 14. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16.0/B/Hooks/EndOfScope.pm line 14. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.10.1/namespace/autoclean.pm line 10. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.10.1/namespace/autoclean.pm line 10. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.16.0/MooseX/OneArgNew.pm line 11. BEGIN failed--compilation aborted at /usr/local/lib/perl5/site_perl/5.16.0/MooseX/OneArgNew.pm line 11. Compilation failed in require at /usr/local/lib/perl5/site_perl/5.18.0/darwin-2level/Moose/Exporter.pm line 409. ...
From ether [...] cpan.org Fri Oct 4 17: 55:42 2013
X-Sa-Exim-Connect-Ip: 69.50.167.197
MIME-Version: 1.0
X-Spam-Status: No, score=-6.57 tagged_above=-99.9 required=10 tests=[AWL=0.330, BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] autolearn=ham
In-Reply-To: <rt-4.0.16-32748-1380853433-556.89245-4-0 [...] rt.cpan.org>
Content-Disposition: inline
X-Spam-Flag: NO
X-RT-Interface: API
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-556.89245-4-0 [...] rt.cpan.org>
X-Acl-Warn: !authenticated = *
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Message-ID: <20131004215529.GL43802 [...] tequila>
content-type: text/plain; charset="utf-8"
X-Spam-Score-Int: 0
X-RT-Original-Encoding: utf-8
X-Spam-Score: -6.57
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id CF1AF240C22 for <cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com>; Fri, 4 Oct 2013 17:55:42 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 88L3yw+GOlND for <cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com>; Fri, 4 Oct 2013 17:55:41 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 53B2524061A for <bug-B-Hooks-EndOfScope [...] rt.cpan.org>; Fri, 4 Oct 2013 17:55:41 -0400 (EDT)
Received: (qmail 14828 invoked by alias); 4 Oct 2013 21:55:40 -0000
Received: from ns2.lightspeed.ca (HELO ns2.lightspeed.ca) (206.12.82.4) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Fri, 04 Oct 2013 14:55:34 -0700
Received: from 69-50-167-197.westerncable.ca ([69.50.167.197] helo=etheridge.ca) by ns2.lightspeed.ca with esmtp (Exim 4.72) (envelope-from <ether [...] cpan.org>) id 1VSDLN-00020D-UZ for bug-B-Hooks-EndOfScope [...] rt.cpan.org; Fri, 04 Oct 2013 14:55:30 -0700
Delivered-To: cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com
Subject: Re: [rt.cpan.org #89245] B::Hooks::EndOfScope fails to report dependency on Variable::Magic
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Sa-Exim-Mail-From: ether [...] cpan.org
Return-Path: <ether [...] cpan.org>
X-Spam-Check-BY: la.mx.develooper.com
X-Original-To: cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com
X-RT-Mail-Extension: b-hooks-endofscope
Date: Fri, 4 Oct 2013 14:55:29 -0700
X-Sa-Exim-Scanned: No (on ns2.lightspeed.ca); SAEximRunCond expanded to false
X-Spam-Level:
X-Spam-Bar: /
To: James E Keenan via RT <bug-B-Hooks-EndOfScope [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
RT-Message-ID: <rt-4.0.16-19710-1380923743-1461.89245-0-0 [...] rt.cpan.org>
Content-Length: 1555
Download (untitled) / with headers
text/plain 1.5k
On Thu, Oct 03, 2013 at 10:23:55PM -0400, James E Keenan via RT wrote: Show quoted text
> When a CPAN distribution has a dependency on B-Hooks-EndOfScope, it also has a dependency on everything on which B-Hooks-EndOfScope depends. That means that it's essential that all of B-Hooks-EndOfScope's dependencies be locatable and reported. > > I have encountered the following problem twice in the last year-and-a-half while trying to install Dist::Zilla. Dist::Zilla has a dependency on namespace::autoclean, which in turn has a dependency on B::Hooks::EndOfScope (http://deps.cpantesters.org/?module=Dist::Zilla). The Makefile in B-Hooks-EndOfScope (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks-EndOfScope-0.12/Makefile.PL) reports a dependency on Variable::Magic thusly:
Show quoted text
> There is no mention of Variable::Magic in B-Hooks-EndOfScope's dist.ini file (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks-EndOfScope-0.12/dist.ini).
Since this dependency is only used if the XS component is used, it shouldn't be listed as a hard dep (in META.*), but rather added at install time via MYMETA.*. However, this isn't being done, so I agree there's a problem there (the dzil-specific solution involves adding some extra code to Makefile.PL to detect the presence of a compiler and add additional prereqs to the makefile args). However, I'm wondering how this problem hasn't come up before. e.g. the first thing I do when I build a new dev perl is install Dist::Zilla (actually my pluginbundle, which has Dist::Zilla upstream of it), and I haven't run into this problem...
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-19710-1380923743-1461.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-556.89245-4-0 [...] rt.cpan.org> <20131004215529.GL43802 [...] tequila> <rt-4.0.16-19710-1380923743-1461.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-25590-1381009259-47.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 875
Download (untitled) / with headers
text/plain 875b
On 2013-10-04 14:55:43, ETHER wrote: Show quoted text
> Since this dependency is only used if the XS component is used, it > shouldn't be listed as a hard dep (in META.*), but rather added at > install > time via MYMETA.*. However, this isn't being done, so I agree there's > a > problem there (the dzil-specific solution involves adding some extra > code > to Makefile.PL to detect the presence of a compiler and add additional > prereqs to the makefile args).
I was totally braindead when I wrote this. The dependency *is* being added to MYMETA.* when 'perl Makefile.PL' is run - you even quoted the code that does it -- so if you're not getting Variable::Magic added as a prereq, you don't have a compiler (or rather - the heuristic for detecting a compiler is failing). Jim, can you attach the MYMETA.yml,json that is generated for you when you run 'make realclean; perl Makefile.PL'?
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-25590-1381009259-47.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-556.89245-4-0 [...] rt.cpan.org> <20131004215529.GL43802 [...] tequila> <rt-4.0.16-19710-1380923743-1461.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-25590-1381009259-47.89245-0-0 [...] rt.cpan.org>
Content-Type: multipart/mixed; boundary="----------=_1381014517-25812-2"
Message-ID: <rt-4.0.16-25812-1381014517-137.89245-0-0 [...] rt.cpan.org>
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 0
Content-Disposition: inline
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
Content-Length: 973
Download (untitled) / with headers
text/plain 973b
On Sat Oct 05 17:40:59 2013, ETHER wrote: Show quoted text
> I was totally braindead when I wrote this. The dependency *is* being > added to MYMETA.* when 'perl Makefile.PL' is run - you even quoted the > code that does it -- so if you're not getting Variable::Magic added as > a prereq, you don't have a compiler (or rather - the heuristic for > detecting a compiler is failing). > > Jim, can you attach the MYMETA.yml,json that is generated for you when > you run 'make realclean; perl Makefile.PL'?
I'm not sure exactly what you mean and, in any event, I subsequently installed Variable::Magic manually via 'cpan', then resumed the long march through the upgrade of Dist::Zilla. So I'm not sure if I can reproduce the conditions in which this failure occurred. FWIW, I downloaded and built B-Hooks-EndOfScope once again via 'cpan'; chdir-ed to the build directory; called 'make realclean; perl Makefile.PL'; and came up with the two files attached. Thank you very much. Jim Keenan
Subject: MYMETA.json
MIME-Version: 1.0
Content-Type: application/octet-stream; name="MYMETA.json"
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline; filename="MYMETA.json"
Content-Transfer-Encoding: base64
Content-Length: 8025
Download MYMETA.json
text/x-json 7.8k
{ "abstract" : "Execute code after a scope finished compilation", "author" : [ "Florian Ragwitz <rafl@debian.org>", "Peter Rabbitson <ribasushi@cpan.org>" ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "B-Hooks-EndOfScope", "prereqs" : { "build" : { "requires" : { "Test::More" : "0.88" } }, "configure" : { "requires" : { "ExtUtils::CBuilder" : "0.26", "ExtUtils::MakeMaker" : "6.30" } }, "develop" : { "requires" : { "Pod::Coverage::TrustPod" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08" } }, "runtime" : { "requires" : { "Module::Implementation" : "0.05", "Module::Runtime" : "0.012", "Sub::Exporter::Progressive" : "0.001006", "Variable::Magic" : "0.48" } }, "test" : { "requires" : { "Test::More" : "0.88" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { "mailto" : "bug-B-Hooks-EndOfScope@rt.cpan.org", "web" : "http://rt.cpan.org/Public/Dist/Display.html?Name=B-Hooks-EndOfScope" }, "homepage" : "http://metacpan.org/release/B-Hooks-EndOfScope", "repository" : { "type" : "git", "url" : "git://github.com/rafl/b-hooks-endofscope.git", "web" : "http://github.com/rafl/b-hooks-endofscope" } }, "version" : "0.12", "x_Dist_Zilla" : { "perl" : { "version" : "5.016000" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "runtime", "type" : "requires" } }, "name" : "Prereqs", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "test", "type" : "requires" } }, "name" : "TestRequires", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "configure", "type" : "requires" } }, "name" : "ConfigureRequires", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Metadata", "name" : "Metadata", "version" : "3.03" }, { "class" : "Dist::Zilla::Plugin::MakeMaker::Custom", "name" : "MakeMaker::Custom", "version" : "4.11" }, { "class" : "Dist::Zilla::Plugin::GatherDir", "name" : "@Filter/@Basic/GatherDir", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@Filter/@Basic/PruneCruft", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@Filter/@Basic/ManifestSkip", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Filter/@Basic/MetaYAML", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Filter/@Basic/License", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Readme", "name" : "@Filter/@Basic/Readme", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::ExtraTests", "name" : "@Filter/@Basic/ExtraTests", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@Filter/@Basic/ExecDir", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@Filter/@Basic/ShareDir", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Filter/@Basic/Manifest", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Filter/@Basic/TestRelease", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Filter/@Basic/ConfirmRelease", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Filter/@Basic/UploadToCPAN", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Filter/MetaConfig", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Filter/MetaJSON", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@Filter/PkgVersion", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Filter/PodSyntaxTests", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::NoTabsTests", "name" : "@Filter/NoTabsTests", "version" : "0.01" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@Filter/PodCoverageTests", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "@Filter/MetaResources", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@Filter/Authority", "version" : "1.006" }, { "class" : "Dist::Zilla::Plugin::EOLTests", "name" : "@Filter/EOLTests", "version" : "0.02" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", "name" : "@Filter/PodWeaver", "version" : "3.101641" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "4.300028" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "4.300028" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : "0" }, "version" : "4.300028" } }, "x_authority" : "cpan:FLORA" }
MIME-Version: 1.0
Subject: MYMETA.yml
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Type: application/octet-stream; name="MYMETA.yml"
Content-Disposition: inline; filename="MYMETA.yml"
Content-Transfer-Encoding: base64
Content-Length: 4994
Download MYMETA.yml
text/x-yaml 4.8k
--- abstract: 'Execute code after a scope finished compilation' author: - 'Florian Ragwitz <rafl@debian.org>' - 'Peter Rabbitson <ribasushi@cpan.org>' build_requires: Test::More: 0.88 configure_requires: ExtUtils::CBuilder: 0.26 ExtUtils::MakeMaker: 6.30 dynamic_config: 0 generated_by: 'Dist::Zilla version 4.300028, CPAN::Meta::Converter version 2.120921' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: B-Hooks-EndOfScope requires: Module::Implementation: 0.05 Module::Runtime: 0.012 Sub::Exporter::Progressive: 0.001006 Variable::Magic: 0.48 resources: bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=B-Hooks-EndOfScope homepage: http://metacpan.org/release/B-Hooks-EndOfScope repository: git://github.com/rafl/b-hooks-endofscope.git version: 0.12 x_Dist_Zilla: perl: version: 5.016000 plugins: - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: runtime type: requires name: Prereqs version: 4.300028 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: test type: requires name: TestRequires version: 4.300028 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: configure type: requires name: ConfigureRequires version: 4.300028 - class: Dist::Zilla::Plugin::Metadata name: Metadata version: 3.03 - class: Dist::Zilla::Plugin::MakeMaker::Custom name: MakeMaker::Custom version: 4.11 - class: Dist::Zilla::Plugin::GatherDir name: '@Filter/@Basic/GatherDir' version: 4.300028 - class: Dist::Zilla::Plugin::PruneCruft name: '@Filter/@Basic/PruneCruft' version: 4.300028 - class: Dist::Zilla::Plugin::ManifestSkip name: '@Filter/@Basic/ManifestSkip' version: 4.300028 - class: Dist::Zilla::Plugin::MetaYAML name: '@Filter/@Basic/MetaYAML' version: 4.300028 - class: Dist::Zilla::Plugin::License name: '@Filter/@Basic/License' version: 4.300028 - class: Dist::Zilla::Plugin::Readme name: '@Filter/@Basic/Readme' version: 4.300028 - class: Dist::Zilla::Plugin::ExtraTests name: '@Filter/@Basic/ExtraTests' version: 4.300028 - class: Dist::Zilla::Plugin::ExecDir name: '@Filter/@Basic/ExecDir' version: 4.300028 - class: Dist::Zilla::Plugin::ShareDir name: '@Filter/@Basic/ShareDir' version: 4.300028 - class: Dist::Zilla::Plugin::Manifest name: '@Filter/@Basic/Manifest' version: 4.300028 - class: Dist::Zilla::Plugin::TestRelease name: '@Filter/@Basic/TestRelease' version: 4.300028 - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Filter/@Basic/ConfirmRelease' version: 4.300028 - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Filter/@Basic/UploadToCPAN' version: 4.300028 - class: Dist::Zilla::Plugin::MetaConfig name: '@Filter/MetaConfig' version: 4.300028 - class: Dist::Zilla::Plugin::MetaJSON name: '@Filter/MetaJSON' version: 4.300028 - class: Dist::Zilla::Plugin::PkgVersion name: '@Filter/PkgVersion' version: 4.300028 - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Filter/PodSyntaxTests' version: 4.300028 - class: Dist::Zilla::Plugin::NoTabsTests name: '@Filter/NoTabsTests' version: 0.01 - class: Dist::Zilla::Plugin::PodCoverageTests name: '@Filter/PodCoverageTests' version: 4.300028 - class: Dist::Zilla::Plugin::MetaResources name: '@Filter/MetaResources' version: 4.300028 - class: Dist::Zilla::Plugin::Authority name: '@Filter/Authority' version: 1.006 - class: Dist::Zilla::Plugin::EOLTests name: '@Filter/EOLTests' version: 0.02 - class: Dist::Zilla::Plugin::PodWeaver name: '@Filter/PodWeaver' version: 3.101641 - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: 4.300028 - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: 4.300028 - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: 4.300028 - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: 4.300028 - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: 4.300028 - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: 4.300028 zilla: class: Dist::Zilla::Dist::Builder config: is_trial: 0 version: 4.300028 x_authority: cpan:FLORA
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-25812-1381014517-137.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-556.89245-4-0 [...] rt.cpan.org> <20131004215529.GL43802 [...] tequila> <rt-4.0.16-19710-1380923743-1461.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-25590-1381009259-47.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-25812-1381014517-137.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-13491-1381018498-1540.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 835
Download (untitled) / with headers
text/plain 835b
On 2013-10-05 16:08:37, JKEENAN wrote: Show quoted text
> > I'm not sure exactly what you mean and, in any event, I subsequently > installed Variable::Magic manually via 'cpan', then resumed the long > march through the upgrade of Dist::Zilla. So I'm not sure if I can > reproduce the conditions in which this failure occurred. > > FWIW, I downloaded and built B-Hooks-EndOfScope once again via 'cpan'; > chdir-ed to the build directory; called 'make realclean; perl > Makefile.PL'; and came up with the two files attached.
perl Makefile.PL creates MYMETA.json and MYMETA.yml, which contain the final list of prerequisites and other metadata, tailored to your particular environment. In those files, I see that Variable::Magic is indeed being specified as a prerequisite. I'm not sure why your cpan client isn't seeing that -- what version is it?
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-27426-1381051620-1334.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 2219
Download (untitled) / with headers
text/plain 2.1k
On Thu Oct 03 22:23:53 2013, JKEENAN wrote: Show quoted text
> When a CPAN distribution has a dependency on B-Hooks-EndOfScope, it > also has a dependency on everything on which B-Hooks-EndOfScope > depends. That means that it's essential that all of B-Hooks- > EndOfScope's dependencies be locatable and reported. > > I have encountered the following problem twice in the last year-and-a- > half while trying to install Dist::Zilla. Dist::Zilla has a > dependency on namespace::autoclean, which in turn has a dependency on > B::Hooks::EndOfScope > (http://deps.cpantesters.org/?module=Dist::Zilla). The Makefile in B- > Hooks-EndOfScope (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks- > EndOfScope-0.12/Makefile.PL) reports a dependency on Variable::Magic > thusly: > > ######### > my %OPT_RUN_DEPS = (can_xs() ? ( > 'Variable::Magic' => '0.48', # when changing, also change it in > B::Hooks::EndOfScope::XS > > # make sure we smoke the pure-perl version fallback > is_smoker() ? ( 'Devel::Hide' => '0.0007' ) : (), > ) : () ); > ######### > > There is no mention of Variable::Magic in B-Hooks-EndOfScope's > dist.ini file (http://cpansearch.perl.org/src/BOBTFISH/B-Hooks- > EndOfScope-0.12/dist.ini). > > Consequences: > > 1. CPAN Dependencies fails to report Variable::Magic as a prerequisite > for B::Hooks::EndOfScope -- and vice versa. (See: > http://deps.cpantesters.org/?module=B::Hooks::EndOfScope;perl=5.18.0;os=any%20OS;pureperl=0 > and http://deps.cpantesters.org/depended-on-by.pl?dist=Variable-Magic- > 0.53.) > > 2. Because this dependency is not detected, installation of > Dist::Zilla fails with output as in the attachment.
The problem is in your paths, you're including older perls' pure-perl paths. In this particular case, it seems to be loading B::Hooks::EndOfScope from 5.16.0, which is probably an older version that relied on Variable::Magic unconditionally. However, because it doesn't use 5.16.0's architecture-specific dirs, where that Variable::Magic should live, it blows up. I would recommend to no longer compile perls that reuse older perl dirs, it' just asking for trouble. The -Dinc_version_list=none argument to configure should do this trick. I recommend closing this ticket. Leon
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-27426-1381051620-1334.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org> <rt-4.0.16-27426-1381051620-1334.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-14346-1381052648-1823.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 311
Download (untitled) / with headers
text/plain 311b
On Sun Oct 06 05:27:00 2013, LEONT wrote: Show quoted text
> I would recommend to no longer compile perls that reuse older perl > dirs, it' just asking for trouble. The -Dinc_version_list=none > argument to configure should do this trick.
Interesting option... Can you think of a reason perlbrew doesn't do that by default...?
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-14346-1381052648-1823.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org> <rt-4.0.16-27426-1381051620-1334.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-14346-1381052648-1823.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-14341-1381056008-147.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 602
Download (untitled) / with headers
text/plain 602b
On Sun Oct 06 05:44:08 2013, RIBASUSHI wrote: Show quoted text
> On Sun Oct 06 05:27:00 2013, LEONT wrote:
> > I would recommend to no longer compile perls that reuse older perl > > dirs, it' just asking for trouble. The -Dinc_version_list=none > > argument to configure should do this trick.
> > Interesting option... Can you think of a reason perlbrew doesn't do > that by default...?
It doesn't because it doesn't need to. Configure automatically sets this up when different perls use the same prefixes (e.g. /usr/local/lib/perl5/$version/). perlbrew uses a new prefix for every perl, so this doesn't happen. Leon
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <rt-4.0.16-32748-1380853433-1348.0-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-7441-1381075881-323.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
RT-Send-CC: ether [...] cpan.org, rjbs [...] cpan.org
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 1179
Download (untitled) / with headers
text/plain 1.1k
I am disappointed in the resolution of this ticket. What that resolution boils down to is, "Don't use 'cpan'; only use 'perlbrew'" and "Change the way you have been building perl from source for the past nine years." However, the only reason that I encountered this problem was that I was trying to re-install Dist::Zilla, and the only reason I was trying to do that was to be able to work on YAML-Tiny as requested by David Golden. I have, however, decided that the tax which Dist::Zilla (and its associated bundles) imposes on my time is too great to pay. (In the case of YAML-Tiny I spent more than five hours getting Dist::Zilla installed -- and even then couldn't say 'dzil build' or 'dzil test' because I still faced the task of installing the 324 dependencies in the bundle associated with the github distribution of YAML-Tiny. But this morning it took me only five minutes to write a Makefile.PL that just works.) So, since I'm not going to be using Dist::Zilla going forward, I don't care whether this bug in B::Hooks::EndOfScope gets fixed or not. If anyone would like to discuss this further with me, please contact me off list. Thank you very much. Jim Keenan
From ether [...] cpan.org Sun Oct 6 13: 01:27 2013
X-Sa-Exim-Connect-Ip: 69.50.167.197
MIME-Version: 1.0
X-Spam-Status: No, score=-6.577 tagged_above=-99.9 required=10 tests=[AWL=0.323, BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] autolearn=ham
In-Reply-To: <rt-4.0.16-7441-1381075882-369.89245-7-0 [...] rt.cpan.org>
Content-Disposition: inline
X-Spam-Flag: NO
X-RT-Interface: API
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-1348.89245-7-0 [...] rt.cpan.org> <rt-4.0.16-7441-1381075882-369.89245-7-0 [...] rt.cpan.org>
X-Acl-Warn: !authenticated = *
X-Virus-Scanned: Debian amavisd-new at bestpractical.com
Message-ID: <20131006170111.GO43802 [...] tequila>
content-type: text/plain; charset="utf-8"
X-Spam-Score-Int: 0
X-RT-Original-Encoding: utf-8
X-Spam-Score: -6.577
Received: from localhost (localhost [127.0.0.1]) by hipster.bestpractical.com (Postfix) with ESMTP id 15E0924081C for <cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com>; Sun, 6 Oct 2013 13:01:27 -0400 (EDT)
Received: from hipster.bestpractical.com ([127.0.0.1]) by localhost (hipster.bestpractical.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uWlNkjnbV492 for <cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com>; Sun, 6 Oct 2013 13:01:24 -0400 (EDT)
Received: from la.mx.develooper.com (x1.develooper.com [207.171.7.70]) by hipster.bestpractical.com (Postfix) with SMTP id 4BFAD2400BB for <bug-B-Hooks-EndOfScope [...] rt.cpan.org>; Sun, 6 Oct 2013 13:01:24 -0400 (EDT)
Received: (qmail 31318 invoked by alias); 6 Oct 2013 17:01:23 -0000
Received: from ns2.lightspeed.ca (HELO ns2.lightspeed.ca) (206.12.82.4) by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Sun, 06 Oct 2013 10:01:17 -0700
Received: from 69-50-167-197.westerncable.ca ([69.50.167.197] helo=etheridge.ca) by ns2.lightspeed.ca with esmtp (Exim 4.72) (envelope-from <ether [...] cpan.org>) id 1VSrhh-0006Dq-6R for bug-B-Hooks-EndOfScope [...] rt.cpan.org; Sun, 06 Oct 2013 10:01:13 -0700
Delivered-To: cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com
Subject: Re: [rt.cpan.org #89245] B::Hooks::EndOfScope fails to report dependency on Variable::Magic
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Sa-Exim-Mail-From: ether [...] cpan.org
Return-Path: <ether [...] cpan.org>
X-Spam-Check-BY: la.mx.develooper.com
X-Original-To: cpan-bug+B-Hooks-EndOfScope [...] hipster.bestpractical.com
X-RT-Mail-Extension: b-hooks-endofscope
Date: Sun, 6 Oct 2013 10:01:12 -0700
X-Sa-Exim-Scanned: No (on ns2.lightspeed.ca); SAEximRunCond expanded to false
X-Spam-Level:
X-Spam-Bar: /
To: James E Keenan via RT <bug-B-Hooks-EndOfScope [...] rt.cpan.org>
From: Karen Etheridge <ether [...] cpan.org>
RT-Message-ID: <rt-4.0.16-8564-1381078888-421.89245-0-0 [...] rt.cpan.org>
Content-Length: 2394
Download (untitled) / with headers
text/plain 2.3k
On Sun, Oct 06, 2013 at 12:11:22PM -0400, James E Keenan via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=89245 > > > I am disappointed in the resolution of this ticket. What that resolution boils down to is, "Don't use 'cpan'; only use 'perlbrew'" and "Change the way you have been building perl from source for the past nine years."
cpan is a client; perlbrew is a mechanism for installing and managing multiple perl installs; they don't relate to each other at all here. My mentioning of 'cpan' was a red herring; it wasn't the problem at all. The problem, as LeonT pointed out, was bringing in older perls' install libs into the @INC chain, so an older installation of B::Hooks::EndOfScope was taking precedence, but not also dragging in the parallel install of Variable::Magic because it has an XS component, therefore arch-specific (therefore in another install dir). Show quoted text
> However, the only reason that I encountered this problem was that I was trying to re-install Dist::Zilla, and the only reason I was trying to do that was to be able to work on YAML-Tiny as requested by David Golden. I have, however, decided that the tax which Dist::Zilla (and its associated bundles) imposes on my time is too great to pay.
It's nothing to do with Dist::Zilla, other than the fact that DZ happens to (indirectly!) use B::Hooks::EndOfScope. Blaming it on this tool is unfair and totally unfounded. Show quoted text
> (In the case of YAML-Tiny I spent more than five hours getting Dist::Zilla installed -- and even then couldn't say 'dzil build' or 'dzil test' because I still faced the task of installing the 324 dependencies in the bundle associated with the github distribution of YAML-Tiny. But this morning it took me only five minutes to write a Makefile.PL that just works.)
fwiw, in YAML-Tiny you should be fine with just doing 'prove -lr t'. The distribution tests do not rely on the distribution being built. It's always nice to be able to run the author and release tests too, but during normal development, it's not necessary, and I wouldn't impose it as a mandatory requirement of anyone assisting with bug-blasting or other routine maintenance. Show quoted text
> So, since I'm not going to be using Dist::Zilla going forward, I don't care whether this bug in B::Hooks::EndOfScope gets fixed or not.
I'm sorry you had a bad experience, but you're aiming your frustration at the wrong target.
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-8564-1381078888-421.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-1348.89245-7-0 [...] rt.cpan.org> <rt-4.0.16-7441-1381075882-369.89245-7-0 [...] rt.cpan.org> <20131006170111.GO43802 [...] tequila> <rt-4.0.16-8564-1381078888-421.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-8562-1381079437-1506.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 362
Download (untitled) / with headers
text/plain 362b
For those following along at home -- there is nothing to be fixed in the B-Hooks-EndOfScope distribution - the prereq is properly declared via MYMETA as a dynamic requirement. I've also added a CONTRIBUTING file to the YAML-Tiny distribution as a helper to show how to bypass Dist::Zilla during development, and how to install the plugins the distribution uses.
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-8562-1381079437-1506.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-1348.89245-7-0 [...] rt.cpan.org> <rt-4.0.16-7441-1381075882-369.89245-7-0 [...] rt.cpan.org> <20131006170111.GO43802 [...] tequila> <rt-4.0.16-8564-1381078888-421.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-8562-1381079437-1506.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-9999-1381259274-323.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 839
Download (untitled) / with headers
text/plain 839b
On Sun Oct 06 13:10:37 2013, ETHER wrote: Show quoted text
> For those following along at home -- there is nothing to be fixed in > the B-Hooks-EndOfScope distribution - the prereq is properly declared > via MYMETA as a dynamic requirement.
I think the real issue is that namespace::autoclean is only depending on B::Hooks::EndOfScope version "0". If it depended on a newer version that had the conditional dependency sorted out, then finding an old version in an old @INC directory wouldn't matter. Depending on "0" for anything is a bit dangerous. Though I do it quite often myself, it's really a bad practice. Jim -- I'm really sorry you hit this bug. I'd never realized what $Config{inc_version_list} really did because I don't think I've ever built perl without its own prefix. Scary! (I tend to use /opt/perl/v5.x.y/... for my custom perls.)
MIME-Version: 1.0
In-Reply-To: <rt-4.0.16-9999-1381259274-323.89245-0-0 [...] rt.cpan.org>
X-Mailer: MIME-tools 5.504 (Entity 5.504)
Content-Disposition: inline
X-RT-Interface: Web
References: <RT-Ticket-89245 [...] rt.cpan.org> <rt-4.0.16-32748-1380853433-1348.89245-7-0 [...] rt.cpan.org> <rt-4.0.16-7441-1381075882-369.89245-7-0 [...] rt.cpan.org> <20131006170111.GO43802 [...] tequila> <rt-4.0.16-8564-1381078888-421.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-8562-1381079437-1506.89245-0-0 [...] rt.cpan.org> <rt-4.0.16-9999-1381259274-323.89245-0-0 [...] rt.cpan.org>
Content-Type: text/plain; charset="utf-8"
Message-ID: <rt-4.0.16-19997-1381292677-310.89245-0-0 [...] rt.cpan.org>
Content-Transfer-Encoding: binary
X-RT-Original-Encoding: utf-8
X-RT-Encrypt: 0
X-RT-Sign: 0
Content-Length: 332
Download (untitled) / with headers
text/plain 332b
On 2013-10-08 12:07:54, DAGOLDEN wrote: Show quoted text
> I think the real issue is that namespace::autoclean is only depending > on B::Hooks::EndOfScope version "0". If it depended on a newer > version that had the conditional dependency sorted out, then finding > an old version in an old @INC directory wouldn't matter.
This has been done.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.