Gentoo Archives: gentoo-dev

From: Thomas Sachau <tommy@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Actions of python team, especially Arfrever wrt python eclass and python-3*
Date: Sun, 06 Jun 2010 11:38:02
Message-Id: 4C0B888B.5050909@gentoo.org
In Reply to: Re: [gentoo-dev] Actions of python team, especially Arfrever wrt python eclass and python-3* by Matti Bickel
1 Am 06.06.2010 13:09, schrieb Matti Bickel:
2 > On 06/06/2010 12:40 PM, Thomas Sachau wrote:
3 >> My base proposal for this is something like this:
4 >>
5 >> Every package defines the language(s), where it could be installed for multiple slots, e.g.:
6 >>
7 >> MULTI_SLOT="python" or
8 >> MULTI_SLOT="python ruby"
9 >>
10 >> Additionally, it should define the supported slots, something like this:
11 >>
12 >> SUPPORTED_RUBY_SLOTS="1.8 1.9" or
13 >> SUPPORTED_PYTHON_SLOTS="2.5 2.6 3.0 3.1"
14 >
15 > Don't get me wrong, but isn't that what the python developers guide[1]
16 > says? ("python.eclass supports PYTHON_DEPEND helper variable, which
17 > allows to specify minimal and maximal version of Python.")
18 >
19 > I thought the whole point of this debate was that nobody cared enough to
20 > convert all those ebuilds to use PYTHON_DEPEND properly. The proper fix
21 > is to convert ebuilds to the new syntax.
22 >
23
24 The current python eclass also uses some vars to specify the supported slots, yes, but it is more
25 complex and harder to maintain in addition to the fact, that the dependency part is hidden from the
26 package manager.
27
28 I dont think, that you can tell portage with the current implementation, that it should only install
29 python modules for python-2.6 by default and additionally python modules for python-3.1 for selected
30 packages. Portage will also install newer slots of python, even when the user does not request them
31 and no package requires them, which will result in unneeded and unused versions on disk.
32
33 And if you add a python slot or remove one, portage currently is not able to see that and to
34 reinstall packages, which had modules installed for that slot. You need another tool
35 (python-updater) to check that and to call the needed reinstalls.
36
37 With my solution, there are only modules installed for selected slots. And if you have selected a
38 slot, the related python version is pulled in by portage. If you disable that slot, you can
39 reinstall those packages with --newuse option and then can remove that python slot with --depclean.
40 No need for another tool, simple handling by the package manager
41
42 --
43 Thomas Sachau
44
45 Gentoo Linux Developer

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies