Apps using default Python in Fedora vs. EPEL

Toshio Kuratomi a.badger at gmail.com
Wed Jan 28 18:26:08 UTC 2015


On Wed, Jan 28, 2015 at 11:59:01AM -0500, Bohuslav Kabrda wrote:
> ----- Original Message -----
> > On Tue, Jan 27, 2015 at 06:26:26AM -0500, Bohuslav Kabrda wrote:
> > > 
> > > Current state:
> > > - Up until F21, maintainers were encouraged to build applications with
> > > Python 2, but weren't discouraged from building with Python 3.
> > 
> > Note -- this isn't quite right.  If an application could run with either
> > python2 or python3 maintainers in F21 and below were supposed to have the
> > app run with python2.  F22 is supposed to flip this so that maintainers are
> > supposed make these packages run with python3 instead of python2.
> 
> I guess that I interpreted it my way since I didn't see any "must" in there... But ok, thanks for the clarification :)
> 
Yeah -- a product of Fedora Guidelines being written by different people at
different times.  We don't have strict RFC-like usage of should and may in
most places. (must is usually unambiguous as to being a directive and
a bolded "should", "must", or "may" has precise meaning.  Other uses (or
simple lack of any of those terms) leaves the question of how strict
a question that would have to go back to the FPC to figure out what they
meant in the past or what they want it to mean in the present day.)

> > > - This means that packagers will be able to use the unversioned macros
> > > throughout their specfile. Requires and BuildRequires will look like this:
> > > 
> > > Requires:     %{default_python}-flask
> > > BuildRequires %{default_python}-setuptools
> > > 
> > > Note: since BuildRequires need to be expanded in the minimal buildroot,
> > > it's necessary to define the %default_python macro in the specfile. Other
> > > way would be to define it in a macro file that would be added to the
> > > minimal buildroot, but that's neither very likely nor very nice :)
> > > 
> > Have you talked to dennis?  We've added packages to the minimal BuildRoot
> > many times before in order to enable macro files.  Not so problematic if
> > it's only one macro, though.
> 
> I will. Do you have any idea who I should talk to regarding EPEL? Is it also Dennis?
>
Also dennis.  Rel-eng is growing as a group so you could also put in
a ticket/go to one of their weekly meetings but Dennis is probably still the
one that knows the most about koji and buildroots.

> 
> > > 
> > > I think this solution makes sense for *applications* that need to be built
> > > both in Fedora and in EPEL. Note that it'd also align with my EPEL-python3
> > > proposal [1], in case such an app was to be moved to python3X in EPEL
> > > (%default_python would just be redefined to "python3X"). I also think that
> > > this approach should never be allowed for packaging "libraries", e.g.
> > > packages that have python-foo and python3-foo subpackages.
> > > 
> > > Thoughts?
> > 
> > If we were to use different macro names instead of overwriting currently
> > well known ones I think this has merit.
> 
> For me, introducing yet another set of macros is unnecessary. I think that it'd introduce a long(-ish) new part of guidelines that'll make them even more complicated than they are right now (compared to one new macro function and rules on how/when to use it).
>
Nick's breakdown of the three desired states seems like a non-complex way to
organize things.  And explicit being a good thing is also a winner for me.
In addition to my original arguments that bashing existing macro names in
some spec files but not in all of them is a bad thing to force packagers to
have to deal with.

tangentially, when speaking about long-ish, though, could we use something
shorter than default_python?  Maybe syspython to follow Nick's usage of
"System Python"?

-Toshio
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.fedoraproject.org/pipermail/python-devel/attachments/20150128/be78088a/attachment.sig>


More information about the python-devel mailing list