Re: Proposed Mass Bug Filing: Renaming "python-" binary packages to "python2-"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jun 21, 2017 at 12:27:47PM +1000, Nick Coghlan wrote:
> On 20 June 2017 at 12:44, Nick Coghlan <ncoghlan@xxxxxxxxx> wrote:
> > On 20 June 2017 at 02:49, Przemek Klosowski <przemek.klosowski@xxxxxxxx> wrote:
> >> It seems to me that there are two kinds of Python packages affected  by this
> >> issue: some track the evolution of the ecosystem and make sure they work
> >> with both Python 2 and 3, while the others assume a specific environment,
> >> and expect the user to conform to that. What I dislike about this proposal
> >> is that it imposes on the first kind: their package name needs to change,
> >> presumably to 'pyton3-xxx' even though the package might work with python2
> >> as well. This sounds like penalizing the good behavior.
> >
> > It's also an annoyingly difficult policy to comply with for anyone
> > attempting to maintain RHEL/CentOS/EPEL compatible packages that will
> > use Py2 in those contexts and Py3 in Fedora.
> 
> It was pointed out to me that my description of this problem wasn't
> entirely clear, so here's a more concrete example that hopefully
> clarifies the problem I see with the current policy wording.
> 
> Specifically, the issue I see is that given the current policy
> wording, dependency declarations like the following would *not* be
> policy compliant for Python packages in Fedora 27+, even though
> they're entirely unambiguous about the Python version they expect to
> get:
> 
> ```
> %if 0%{?el7} || 0%{?fedora} < 27
> BuildRequires: python2-devel
> %else
> BuildRequires: python3-devel
> %endif
> BuildRequires: python-builddep1
> BuildRequires: python-builddep2
> Requires: python-runtimedep1
> Requires: python-runtimedep2
> ```

There are two downsides to this kind of declaration:
- python2-runtimedep[12] will be used until the switch to python3 as
  default is made, which might be very long. Instead, we would prefer
  packages to use python3-runtimedep[12] to gradually push out python2.
- when the switch finally comes, such packages will suddenly switch
  all at once, and such flag days are generally painful.

So instead, I think it'd preferable to introduce a global macro
%python_preferred_suffix (or a better name), that would evaluate
to '3' on all Fedora, and '' on EPEL [*]. The deps would then look as:

BuildRequires: python%{python_preferred_suffix}-builddep1
BuildRequires: python%{python_preferred_suffix}-builddep2
Requires: python%{python_preferred_suffix}-runtimedep1
Requires: python%{python_preferred_suffix}-runtimedep2

This would keep things unambiguous, but brief.

Zbyszek


[*] "preferred" in this case would be '3' if python3 deps are widely
available and expected to be used, and '' or '2' otherwise.
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux