Am 06.06.2010 13:09, schrieb Matti Bickel: > On 06/06/2010 12:40 PM, Thomas Sachau wrote: >> My base proposal for this is something like this: >> >> Every package defines the language(s), where it could be installed for >> multiple slots, e.g.: >> >> MULTI_SLOT="python" or >> MULTI_SLOT="python ruby" >> >> Additionally, it should define the supported slots, something like this: >> >> SUPPORTED_RUBY_SLOTS="1.8 1.9" or >> SUPPORTED_PYTHON_SLOTS="2.5 2.6 3.0 3.1" > > Don't get me wrong, but isn't that what the python developers guide[1] > says? ("python.eclass supports PYTHON_DEPEND helper variable, which > allows to specify minimal and maximal version of Python.") > > I thought the whole point of this debate was that nobody cared enough to > convert all those ebuilds to use PYTHON_DEPEND properly. The proper fix > is to convert ebuilds to the new syntax. >
The current python eclass also uses some vars to specify the supported slots, yes, but it is more complex and harder to maintain in addition to the fact, that the dependency part is hidden from the package manager. I dont think, that you can tell portage with the current implementation, that it should only install python modules for python-2.6 by default and additionally python modules for python-3.1 for selected packages. Portage will also install newer slots of python, even when the user does not request them and no package requires them, which will result in unneeded and unused versions on disk. And if you add a python slot or remove one, portage currently is not able to see that and to reinstall packages, which had modules installed for that slot. You need another tool (python-updater) to check that and to call the needed reinstalls. With my solution, there are only modules installed for selected slots. And if you have selected a slot, the related python version is pulled in by portage. If you disable that slot, you can reinstall those packages with --newuse option and then can remove that python slot with --depclean. No need for another tool, simple handling by the package manager -- Thomas Sachau Gentoo Linux Developer
signature.asc
Description: OpenPGP digital signature