Hi,

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,

Alfredo