Re: F24 Self Contained Change: System Python

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

 



On Mon, Feb 08, 2016 at 08:27:53AM +0100, Jan Kurik wrote:
> = Proposed Self Contained Change: System Python =
> https://fedoraproject.org/wiki/Changes/System_Python
> 
> Change owner(s):
> * Miro Hrončok <mhroncok AT redhat DOT com>
> * Petr Viktorin
> * Robert Kuska
> * Charalampos Stratakis
> 
> Separate several subpackages form the python3 packages - a
> system-python(-libs) that can be required by various tools that
> consider themselves "system tools".

The part of "Python" that can be usefully split is the standard
library, and that's where most of the size and dependencies come in.
In principle the python binary could be trimmed down, but it's small,
and doesn't bring in any dependencies. The proposal doesn't state it
clearly, so I assume you only want to split the stdlib
(system-python-libs), and providing a separate system-python package
with a separate binary is only a means to differentiate dependencies.

My first issue is that system-python{,-libs} is basically a
subpackage, and should be called python-<something>. And since debian
calls it <something>-minimal, so should we, to match existing
expectations and increase cross-distro similarity.

Second, why call it python-*, not python3-*? I think it'll
be endlessly confusing to have both python*- (v3), python2-* (v2),
and python3-* (v3) mixed in the same distro.

My third issue is that packages will have a dependency on either
system-python or normal python and this will a binary decision.
Changing the list of things provided by system-python will be hard.
If you add something to system-python, the only way to ensure that
dependent packages can make use of it is to add a versioned dependencies
on system-python. If you remove something from system-python, it will
be necessary to go over all dependent packages and verify if they need
the thing being removed or not. And if users' scripts start using
system-python, it will impossible to remove anything, except maybe
between Fedora releases.  This is very inflexible.

As an alternative proposal, what about using an automatic dependency
generator and having dependent packages require specific modules from
the standard library. Those modules could then be moved between
system-python-libs and python-libs, and things would just work™. I
think that a separate system-python binary also wouldn't be needed.

The scheme with automatic dependency generation could be implemented
gradually, by introducing the automatic provides and dependencies
generators, without removing current manual provides. Then when the
generated dependencies seem to be right, removing manual dependencies.

Automatic dependency generation would benefit the whole ecosystem of
Python packages in Fedora.

Zbyszek
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
http://lists.fedoraproject.org/admin/lists/devel@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