Subject: | build_require_install_policy=no: runtime dependency not installed if also listed as build_require |
If build_require_install_policy is set to 'no', CPAN 2.00 fails to install dependencies if those are listed both as build_require and require: CPAN choose to not install them.
How to reproduce:
- Setup environment:
- install LEONT/ExtUtils-Helpers-0.014.tar.gz
- install LEONT/Module-Build-Tiny-0.013.tar.gz
- o conf build_requires_install_policy no
- Install LEONT/Module-Build-Tiny-0.025.tar.gz
(this module has both build and runtime dependency on ExtUtils::Helpers 0.020)
Expected result is that both ExtUtils::Helpers and Module::Build::Tiny have been upgraded.
Instead only Module::Build::Tiny is installed.
CPAN said about ExtUtils::Helpers: Not installing because is only 'build_requires'
This is wrong.
Here is the log:
------8<------8<------8<------8<------8<------8<------8<------8<------
$ cpan Module::Build::Tiny
CPAN: Storable loaded ok (v2.39)
Reading '/home/omengue/.local/share/.cpan/Metadata'
Database was generated on Tue, 30 Jul 2013 12:41:05 GMT
Running install for module 'Module::Build::Tiny'
Running make for L/LE/LEONT/Module-Build-Tiny-0.025.tar.gz
CPAN: Digest::SHA loaded ok (v5.61)
CPAN: Compress::Zlib loaded ok (v2.033)
Checksum for /home/omengue/.local/share/.cpan/sources/authors/id/L/LE/LEONT/Module-Build-Tiny-0.025.tar.gz ok
Module-Build-Tiny-0.025/
Module-Build-Tiny-0.025/INSTALL
Module-Build-Tiny-0.025/t/
Module-Build-Tiny-0.025/t/release-pod-syntax.t
Module-Build-Tiny-0.025/t/lib/
Module-Build-Tiny-0.025/t/lib/DistGen.pm
Module-Build-Tiny-0.025/t/simple.t
Module-Build-Tiny-0.025/t/00-compile.t
Module-Build-Tiny-0.025/Build.PL
Module-Build-Tiny-0.025/lib/
Module-Build-Tiny-0.025/lib/Module/
Module-Build-Tiny-0.025/lib/Module/Build/
Module-Build-Tiny-0.025/lib/Module/Build/Tiny.pm
Module-Build-Tiny-0.025/dist.ini
Module-Build-Tiny-0.025/LICENSE
Module-Build-Tiny-0.025/Todo
Module-Build-Tiny-0.025/META.json
Module-Build-Tiny-0.025/Changes
Module-Build-Tiny-0.025/MANIFEST
Module-Build-Tiny-0.025/META.yml
Module-Build-Tiny-0.025/README
CPAN: Parse::CPAN::Meta loaded ok (v1.4404)
CPAN: CPAN::Meta loaded ok (v2.131560)
CPAN: Module::CoreList loaded ok (v2.91)
Show quoted text
---- Unsatisfied dependencies detected during ----
---- LEONT/Module-Build-Tiny-0.025.tar.gz ----
ExtUtils::Helpers [build_requires]
Running make test
Make had some problems, won't test
Delayed until after prerequisites
Running make install
Make had some problems, won't install
Delayed until after prerequisites
Running install for module 'ExtUtils::Helpers'
Running make for L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz
Checksum for /home/omengue/.local/share/.cpan/sources/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz ok
ExtUtils-Helpers-0.021/
ExtUtils-Helpers-0.021/INSTALL
ExtUtils-Helpers-0.021/t/
ExtUtils-Helpers-0.021/t/make_executable.t
ExtUtils-Helpers-0.021/t/release-pod-syntax.t
ExtUtils-Helpers-0.021/t/author-split_like_shell.t
ExtUtils-Helpers-0.021/t/release-pod-coverage.t
ExtUtils-Helpers-0.021/t/tilde.t
ExtUtils-Helpers-0.021/t/split_like_shell.t
ExtUtils-Helpers-0.021/t/man_pagename.t
ExtUtils-Helpers-0.021/t/00-compile.t
ExtUtils-Helpers-0.021/Makefile.PL
ExtUtils-Helpers-0.021/lib/
ExtUtils-Helpers-0.021/lib/ExtUtils/
ExtUtils-Helpers-0.021/lib/ExtUtils/Helpers.pm
ExtUtils-Helpers-0.021/lib/ExtUtils/Helpers/
ExtUtils-Helpers-0.021/lib/ExtUtils/Helpers/Windows.pm
ExtUtils-Helpers-0.021/lib/ExtUtils/Helpers/Unix.pm
ExtUtils-Helpers-0.021/lib/ExtUtils/Helpers/VMS.pm
ExtUtils-Helpers-0.021/dist.ini
ExtUtils-Helpers-0.021/LICENSE
ExtUtils-Helpers-0.021/META.json
ExtUtils-Helpers-0.021/Changes
ExtUtils-Helpers-0.021/MANIFEST
ExtUtils-Helpers-0.021/META.yml
ExtUtils-Helpers-0.021/README
CPAN.pm: Building L/LE/LEONT/ExtUtils-Helpers-0.021.tar.gz
CPAN: CPAN::Reporter loaded ok (v1.2010)
Checking if your kit is complete...
Looks good
Writing Makefile for ExtUtils::Helpers
Writing MYMETA.yml and MYMETA.json
(/usr/bin/perl Makefile.PL exited with 0)
CPAN::Reporter: Makefile.PL result is 'pass', No errors.
cp lib/ExtUtils/Helpers.pm blib/lib/ExtUtils/Helpers.pm
cp lib/ExtUtils/Helpers/Windows.pm blib/lib/ExtUtils/Helpers/Windows.pm
cp lib/ExtUtils/Helpers/VMS.pm blib/lib/ExtUtils/Helpers/VMS.pm
cp lib/ExtUtils/Helpers/Unix.pm blib/lib/ExtUtils/Helpers/Unix.pm
(/usr/bin/make exited with 0)
CPAN::Reporter: make result is 'pass', No errors.
LEONT/ExtUtils-Helpers-0.021.tar.gz
/usr/bin/make -- OK
CPAN: YAML::XS loaded ok (v0.41)
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ............... ok
t/author-split_like_shell.t .. skipped: these tests are for testing by the author
t/make_executable.t .......... ok
t/man_pagename.t ............. ok
t/release-pod-coverage.t ..... skipped: these tests are for release candidate testing
t/release-pod-syntax.t ....... skipped: these tests are for release candidate testing
t/split_like_shell.t ......... ok
t/tilde.t .................... ok
All tests successful.
Files=8, Tests=34, 1 wallclock secs ( 0.04 usr 0.01 sys + 0.22 cusr 0.06 csys = 0.33 CPU)
Result: PASS
(/usr/bin/make test exited with 0)
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for ExtUtils-Helpers-0.021
CPAN::Reporter: this appears to be a duplicate report for the test phase:
PASS ExtUtils-Helpers-0.021 x86_64-linux-gnu-thread-multi 2.6.42-37-generic
Test report will not be sent.
LEONT/ExtUtils-Helpers-0.021.tar.gz
/usr/bin/make test -- OK
Running make install
Not installing because is only 'build_requires'
Running make for L/LE/LEONT/Module-Build-Tiny-0.025.tar.gz
Prepending /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/arch /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/lib to PERL5LIB for 'get'
Prepending /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/arch /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/lib to PERL5LIB for 'make'
CPAN.pm: Building L/LE/LEONT/Module-Build-Tiny-0.025.tar.gz
Creating new 'Build' script for 'Module-Build-Tiny' version '0.025'
(/usr/bin/perl Build.PL exited with 0)
CPAN::Reporter: Build.PL result is 'pass', No errors.
cp lib/Module/Build/Tiny.pm blib/lib/Module/Build/Tiny.pm
(./Build exited with 0)
CPAN::Reporter: Build result is 'pass', No errors.
LEONT/Module-Build-Tiny-0.025.tar.gz
./Build -- OK
Prepending /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/arch /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/lib to PERL5LIB for 'test'
Running Build test
t/00-compile.t .......... ok
t/release-pod-syntax.t .. skipped: these tests are for release candidate testing
t/simple.t .............. ok
All tests successful.
Files=3, Tests=24, 3 wallclock secs ( 0.02 usr 0.02 sys + 0.36 cusr 0.11 csys = 0.51 CPU)
Result: PASS
(./Build test exited with 0)
CPAN::Reporter: Test result is 'pass', All tests successful.
CPAN::Reporter: preparing a CPAN Testers report for Module-Build-Tiny-0.025
CPAN::Reporter: this appears to be a duplicate report for the test phase:
PASS Module-Build-Tiny-0.025 x86_64-linux-gnu-thread-multi 2.6.42-37-generic
Test report will not be sent.
LEONT/Module-Build-Tiny-0.025.tar.gz
./Build test -- OK
Running Build install
Prepending /home/omengue/.local/share/.cpan/build/Module-Build-Tiny-0.025-vF6Qjg/blib/arch /home/omengue/.local/share/.cpan/build/Module-Build-Tiny-0.025-vF6Qjg/blib/lib /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/arch /home/omengue/.local/share/.cpan/build/ExtUtils-Helpers-0.021-cN_LvE/blib/lib to PERL5LIB for 'install'
Installing /home/omengue/.perl/lib/perl5/Module/Build/Tiny.pm
Installing /home/omengue/.perl/man/man3/Module::Build::Tiny.3pm
LEONT/Module-Build-Tiny-0.025.tar.gz
./Build install -- OK
------8<------8<------8<------8<------8<------8<------8<------8<------
--
Olivier Mengué - http://perlresume.org/DOLMEN