Summary: | dev-python/paramiko-2.7.1 failed to emerge with USE=doc | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Leonid Kopylov <leonchik1976> |
Component: | Current packages | Assignee: | Python Gentoo Team <python> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | alicef, esigra, jstein, lssndrbarbieri, mgorny, reed |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Leonid Kopylov
2019-12-25 18:13:38 UTC
Created attachment 600602 [details]
build.log
I can confirm that dev-python/paramiko-2.7.1 fails to emerge with USE=doc. Turning doc off for the package made it possible to emerge it. the error was: copying paramiko/channel.py -> /var/tmp/portage/dev-python/paramiko-2.7.1/work/paramiko-2.7.1-python3_6/lib/paramiko warning: build_py: byte-compiling is disabled, skipping. * Using python3.6 in global scope * python3_6: running distutils-r1_run_phase python_compile_all Running Sphinx v2.0.1 Configuration error: There is a programmable error in your configuration file: Traceback (most recent call last): File "/usr/lib64/python3.6/site-packages/sphinx/config.py", line 361, in eval_config_file execfile_(filename, namespace) File "/usr/lib64/python3.6/site-packages/sphinx/util/pycompat.py", line 86, in execfile_ exec(code, _globals) File "/var/tmp/portage/dev-python/paramiko-2.7.1/work/paramiko-2.7.1/sites/docs/conf.py", line 20, in <module> disabled_intersphinx_mapping["www"] = (target, None) NameError: name 'disabled_intersphinx_mapping' is not defined The problem is in file eclass/python-utils-r1.eclass in build_sphinx() function: When i commented these lines sed -i -e 's:^intersphinx_mapping:disabled_&:' \ "${dir}"/conf.py || die paramiko was compiled successfully with USE=doc. Version 2.7.2 also fails to emerge with USE="doc" but emerge works with USE="-doc". I can also confirm this fails to build on dev-python/paramiko-2.7.2. It looks like paramiko defines part of the intersphinx mappings in a shared config file; and then modifies them via index operator? Which means the sed expression mentioned by tonich doesn't generate valid python code. The issue can also be resolved by changing the lines he mentioned in eclass/python-utils-r1.eclass to: sed -i -e 's:^intersphinx_mapping[^\[]:disabled_&:' \ "${dir}"/conf.py || die Out of curiosity; why does Gentoo disable intersphinx_mappings in documentation generated by sphinx? (In reply to Reed Riley from comment #5) > Out of curiosity; why does Gentoo disable intersphinx_mappings in > documentation generated by sphinx? Because intersphinx generally needs to fetch data online which isn't permitted in ebuilds. Closing bugs linked to old (removed) versions. |