<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jun 26, 2018 at 11:10 PM, Alan Pevec <span dir="ltr"><<a href="mailto:apevec@redhat.com" target="_blank">apevec@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Jun 26, 2018 at 7:53 PM, Alfredo Moralejo Alonso<br>
<<a href="mailto:amoralej@redhat.com">amoralej@redhat.com</a>> wrote:<br>
> As part of the python3 PoC we are working on in rocky cycle i think we need<br>
> to reconsider how we are managing executables in packages with<br>
> python2/python3 subpackages. Currently, we are following Fedora best<br>
> practices creating <executable>-<python version> in python{2|3}-<package><br>
> packages and making <executable> a symlink for python2 version and shipping<br>
> it only in python2 subpackages.<br>
<br>
</span>This mess is only required when you have both python2 and python3 subpackage,<br>
idea was to switch to python3 fully in Fedora and drop python2 as per<br>
recent Fedora packaging guideline change<br>
<a href="https://pagure.io/packaging-committee/issue/753" rel="noreferrer" target="_blank">https://pagure.io/packaging-<wbr>committee/issue/753</a> "python2-... should<br>
not be packaged when it's not needed"<br>
<br>
Unversioned <executable> binary then links to the python3 version:<br>
<a href="https://fedoraproject.org/wiki/Packaging:Python#Naming" rel="noreferrer" target="_blank">https://fedoraproject.org/<wbr>wiki/Packaging:Python#Naming</a><br>
<span class=""><br>
> I think this is not a convenient way to manage it for python3 installations<br>
> as it requires users (and tools) to use <executable>-3 commands. IMO, moving<br>
> from python2 to python3 should be more transparent from a user PoV.<br>
><br>
> I see some ways we could manage this:<br>
><br>
> 1. Don't build python2 in el7 builds and stop creating <executable>-<python<br>
> version>, just <executable>.<br>
<br>
</span>el7? Did you mean, Fedora? If so, yes, this is solution, as explained above.<br></blockquote><div><br></div><div>Yes, i meant Fedora. My only doubt was about timing. Is it ok to start getting rid of python2 packages for clients in fedora already?, i'm afraid of breaking things for other projects or users who depend on them.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> 2. Keep building both and change <executable> symlink to point to<br>
> <executable>-3 when python3 subpackages are enabled in spec file.<br>
<br>
</span>no, that's against the current Fedora packaging guidelines, which are<br>
following upstream Python requirement that unversioned "python"<br>
executes "python2"<br>
<span class=""><br>
> 3. Keep building both and use alternatives mechanism to manage <executable><br>
> symlink to point to <executable>-2 or <executable>-3 depending on what is<br>
> installed (-3 if both are enabled).<br>
<br>
</span>NACK, same as 2.<br>
<span class=""><br>
> My main doubt is related to how to handle this from a Fedora perspective<br>
> keeping in mind that we are using the same specs to build packages in Fedora<br>
> repos. I guess the best way to keep both python2 and 3 installations working<br>
> is to use option 3.<br>
<br>
</span>We really do not want to maintain the mess of mixed py2/3 - in Fedora<br>
all should move to python3,<br>
while keeping py2 compat for EL7 builds. Looking at how much<br>
copy/paste there is between py2/3 sections, I wonder if we could just<br>
generate python3 spec from the python2, with some mappings in Requires<br>
using pymod2pkg ?<br>
<br>
Cheers,<br>
Alan<br>
</blockquote></div><br></div></div>