Re: How best to handle tools which support multiple Python runtimes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Avram Lubkin wrote:
> Potentially there are some Sphinx
> extensions that are Python version dependent, but I am not aware of
> any.

It sounds like I should start trying to get sphinxcontrib-adadomain
ported to Python 3.

> It was suggested the makefile should be changed so the Python version
> that was used for sphinx-quickstart should be used for sphinx-build.
> Unfortunately, that would make the file less portable.

Yeah, that's not a particularly good idea. I suppose it would work for
those who generate the makefile and use it themselves on the same
workstation. For makefiles that are included in source tarballs it
would only make the problem worse.

> I have two possible fixes:
> 
> The first would be to decouple the commands from the libraries. Since
> the package name sphinx is already taken by the search engine,
> something like python-sphinx-bin may be appropriate. Once separated,
> the command would default to python3 since the packaging guidelines
> say it Python 3 versions should be preferred when equivalent.

If this approach is chosen, will the commands still invoke the Python 2
version if only that one is installed?

> The second option would be to retain the multiple versions, but to
> manage the links with alternatives so the unversioned commands will
> default to whatever version is installed and again, Python 3 would be
> preferred if both were installed.

This approach seems like it would work for my use case.

Ahven uses Sphinx to generate its documentation, using Sphinx's
generated makefile that invokes sphinx-build. I have ahven.spec
regenerate the documentation, but the makefile is generated upstream.
Until the Ada domain gets ported, the Ahven build will have to use the
Python 2 Sphinx, but I'd rather not encode that in ahven.spec. I want
to keep that dependency contained in python-sphinxcontrib-adadomain.
Ahven shouldn't need to even know that Sphinx is written in Python.

If I can have python-sphinxcontrib-adadomain depend on the Python 2
Sphinx specifically, and then have the ahven package require
python-sphinxcontrib-adadomain, plus python-sphinx or python-sphinx-bin
or whatever but not python2-sphinx, and invoke sphinx-build and know
that it will run on Python 2, then I'm satisfied.

Björn Persson

Attachment: pgpzp6nlxqM1z.pgp
Description: OpenPGP digital signatur

--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux