[EPEL-devel] Python 3 discussion

Bohuslav Kabrda bkabrda at redhat.com
Mon Mar 2 12:17:23 UTC 2015


----- Original Message -----
> Excerpts from Bohuslav Kabrda's message of 2015-03-02 21:59 +10:00:
> > ----- Original Message -----
> > > Under the current proposal every package with Python 3 dependencies
> > > would have to depend on a specific python3x-* package, so then it would
> > > be up to the maintainers of all those packages to manually bump their
> > > Requires from python34-* to python35-* at some point. Which, now that
> > > I think about it, is not that great. Even worse, if any packages form
> > > a transitive dependency chain then *all* packages in the chain have to
> > > update their Requires at the same time to avoid having a mix of
> > > python34-* and python35-* requirements.
> > 
> > Not really. The requires/buildrequires should be in form of
> > Requires: python%{python3_pkgversion}-six
> > so when we change %python3_pkgversion in the minimal buildroot,
> > maintainer just rebuilds and gets updated requires.
> 
> Hmm okay. I didn't realise this.
> 
> So that means that:
> * Fedora specfiles can't be used unchanged (they will require python3-*,
>   needs to have %{python3_pkgversion} macro inserted)

True, but note that we'll make %python3_pkgversion macro available also in Fedora (always defined to "3"), so once this change is done, it'll be possible to have the same specfile both in Fedora and EPEL.

> * applications will need to be rebuilt to pick up a change from
>   python34-* to python35-*
> which is a bit unfortunate.
> 
> Is there any reason why we shouldn't just upgrade applications to the
> python35-* stack straight away, by providing python3-*?

Yeah. First of all, it may happen that there are some minor backwards incompatibilities. Lots of packages run tests during buildtime, so these will be caught.
Another reason is that there are applications, which store files in /usr/lib/python3.X/site-packages - these need to be rebuilt anyway, since they have the Python minor version incorporated in path of files.
I really think that we should rebuild applications with new Python 3.X.

Slavek

> --
> Dan Callaghan <dcallagh at redhat.com>
> Software Engineer, Hosted & Shared Services
> Red Hat, Inc.


More information about the epel-devel mailing list