[rdo-dev] Managing executables in python2/python3 packages

Alfredo Moralejo Alonso amoralej at redhat.com
Tue Jun 26 17:53:09 UTC 2018


As part of the python3 PoC we are working on in rocky cycle i think we need
to reconsider how we are managing executables in packages with
python2/python3 subpackages. Currently, we are following Fedora best
practices creating <executable>-<python version> in python{2|3}-<package>
packages and making <executable> a symlink for python2 version and shipping
it only in python2 subpackages.

I think this is not a convenient way to manage it for python3 installations
as it requires users (and tools) to use <executable>-3 commands. IMO,
moving from python2 to python3 should be more transparent from a user PoV.

I see some ways we could manage this:

1. Don't build python2 in el7 builds and stop creating <executable>-<python
version>, just <executable>.
2. Keep building both and change <executable> symlink to point to
<executable>-3 when python3 subpackages are enabled in spec file.
3. Keep building both and use alternatives mechanism to manage <executable>
symlink to point to <executable>-2 or <executable>-3 depending on what is
installed (-3 if both are enabled).

My main doubt is related to how to handle this from a Fedora perspective
keeping in mind that we are using the same specs to build packages in
Fedora repos. I guess the best way to keep both python2 and 3 installations
working is to use option 3.

What do you think?, any feedback?

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rdoproject.org/pipermail/dev/attachments/20180626/4bc65200/attachment.html>

More information about the dev mailing list