Subject: | build_requires_install_policy=no and deep dependency trees |
When installing Dist::Zilla on a bare Perl environment (core and only a
few modules (CPAN, File::HomeDir, Task::Reporter) under the CPAN config
option "build_requires_install_policy set to 'no', the following modules
are not installed as a result:
- Module::Runtime 0.012
- Hook::LexWrap
The problems seems to be an issue related to the handling of deep
dependency trees:
- Hook::LexWrap is built for Test::SubCalls that seems to be built
before Sub::UpLevel. So Hook::LexWrap seems to be marked as
"build_require" because it is a dependency of a build_requires. So as a
result Sub::UpLevel is installed but without Hook::LexWrap, despite
Sub::UpLevel is a "requires".
- Module::Runtime 0.012: it is a dependency of Class::Load (a direct
dependency of Dist::Zilla) and Module::Implementation. I've not yet
figured out the reason why it is marked as "build_requires" and so not
installed. Is it because Module::Implementation is itself a dependency
of Class::Load?
In addition, ExtUtils::MakeMaker 6.62 is built and so used during the
build, but not installed as a result. So if later one of the modules is
upgraded it will be installed with the older version of EUMM.
Here is my CPAN config:
------8<------8<------8<------8<------8<------
applypatch []
auto_commit [0]
build_cache [100]
build_dir [/home/omengue/.local/share/.cpan/build]
build_dir_reuse [0]
build_requires_install_policy [no]
bzip2 [/bin/bzip2]
cache_metadata [1]
check_sigs [0]
colorize_debug undef
colorize_output undef
colorize_print undef
colorize_warn undef
commandnumber_in_prompt [1]
commands_quote undef
connect_to_internet_ok [1]
cpan_home [/home/omengue/.local/share/.cpan]
curl [/usr/bin/curl]
dontload_hash undef
dontload_list undef
ftp [/usr/bin/ftp]
ftp_passive [1]
ftp_proxy []
ftpstats_period undef
ftpstats_size undef
getcwd [cwd]
gpg [/usr/bin/gpg]
gzip [/bin/gzip]
halt_on_failure [0]
histfile [/home/omengue/.local/share/.cpan/histfile]
histsize [100]
http_proxy []
inactivity_timeout [0]
index_expire [1]
inhibit_startup_message [0]
keep_source_where [/home/omengue/.local/share/.cpan/sources]
load_module_verbosity [v]
lynx []
make [/usr/bin/make]
make_arg []
make_install_arg []
make_install_make_command [/usr/bin/make]
makepl_arg []
mbuild_arg []
mbuild_install_arg []
mbuild_install_build_command [./Build]
mbuildpl_arg []
ncftp []
ncftpget []
no_proxy []
pager [/usr/bin/less]
password undef
patch [/usr/bin/patch]
patches_dir undef
perl5lib_verbosity [v]
prefer_external_tar [1]
prefer_installer [MB]
prefs_dir [/home/omengue/.local/share/.cpan/prefs]
prerequisites_policy [ask]
proxy_pass undef
proxy_user undef
randomize_urllist undef
scan_cache [atstart]
shell [/bin/bash]
show_unparsable_versions [0]
show_upload_date [0]
show_zero_versions [0]
tar [/bin/tar]
tar_verbosity [v]
term_is_latin [1]
term_ornaments [1]
test_report [1]
trust_test_report_history [0]
unzip [/usr/bin/unzip]
urllist
0 [http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/]
1 [http://mir2.ovh.net/ftp.cpan.org/]
2 [http://www.cpan.org/]
use_sqlite [0]
username undef
version_timeout [15]
wait_list undef
wget [/usr/bin/wget]
yaml_load_code [0]
yaml_module [YAML]
------8<------8<------8<------8<------8<------
--
Olivier Mengué - http://perlresume.org/DOLMEN