[EPEL-devel] Python 3 discussion
Dan Callaghan
dcallagh at redhat.com
Tue Mar 3 00:43:01 UTC 2015
Excerpts from Bohuslav Kabrda's message of 2015-03-02 22:17 +10:00:
> ----- 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.
Okay that's good.
> > * 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.
Well, they should really be using pkg_resources instead of hardcoding
the path... but yes I take your point. Rebuilding for the newer Python
stack makes sense.
We will need to make sure that setuptools-generated entry points have
a shebang of /usr/bin/python3.4 rather than just /usr/bin/python3
though, so that the scripts are always invoked with the same Python
stack they are built for. Currently on Fedora they have
/usr/bin/python3. This might need a patch to
setuptools/distutils/whatever it is?
--
Dan Callaghan <dcallagh at redhat.com>
Software Engineer, Hosted & Shared Services
Red Hat, Inc.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/epel-devel/attachments/20150303/4495e0d2/attachment.sig>
More information about the epel-devel
mailing list