Gentoo Archives: gentoo-dev

From: Sebastian Pipping <sping@g.o>
To: Thomas Sachau <tommy@g.o>
Cc: gentoo-dev@l.g.o, Gentoo Python Project <python@g.o>
Subject: Re: [gentoo-dev] [rfc] Sane defaults for USE_PYTHON, patch to python eclass
Date: Sat, 04 Dec 2010 20:23:53
Message-Id: 4CFAA325.1090806@gentoo.org
In Reply to: Re: [gentoo-dev] [rfc] Sane defaults for USE_PYTHON, patch to python eclass by Thomas Sachau
1 On 12/04/10 16:38, Thomas Sachau wrote:
2 > I think, the complete python code, behaviour and eclass is way too complicated to easily manage or
3 > even understand it. E.g. why do we need 2 active versions by default? If i set e.g. python-2.6 as
4 > default, i want everything to be installed for that and using it by default, unless i specify
5 > something different. Nothing for python-2.7, nothing for python-3.1 or any other python version.
6
7 Can we take that to another thread? This thread is about a small fix to
8 a problem of the current eclass design, not about starting from scratch.
9 We can still do that later if needed.
10
11
12 > And USE_PYTHON is the wrong way to handle this. It is invisible, it only controls global settings
13 > and together with other parts of the python eclass, it hides the dependency tree, so with
14 > USE_PYTHON="2.6 2.7", all packages depend on both python versions, but the package manager does not
15 > know about it.
16
17 If that's the case, we may be able to fix it. Can you elabortate how
18 dependencies are hidden and what part of the eclass is guilty? Maybe
19 that deserves another thread, too?
20
21
22 > I propose a package manager based solution just like the one i proposed and prepared for different
23 > arches and crosscompilation. It is visible, easy to see and understand, allows per package control
24 > and does leave the control to the package manager including the informations like the dependency tree.
25
26 I am not objecting better fixes later. It still may be a good idea, to
27 fix this problem before starting from scratch.
28
29
30 >> Proposed new situation
31 >> ======================
32 >> If I have a version of Python installed, it should be usable well.
33 >> So USE_PYTHON is derived from the list of all available Python slots.
34 >> Excluded are ABIs restricted by an ebuild, say by a line like
35 >>
36 >> RESTRICT_PYTHON_ABIS="3.*"
37 >>
38 >> for software that does not build with Python 3.x.
39 >
40 > I am against this proposal. I already masked python-3* on my system, because no package actually
41 > needs it, but the current behaviour installs completly useless code for those versions.
42
43 Does it? I assume when you say you masked it you also mean that you
44 don't have Python 3.x installed?
45
46 Packages are installed against an ABI iff:
47 1) The ABI is know to the python eclass - granted
48 2) The build is not restricting the ABI
49 3) The related version of python is actually installed
50
51 Let's do this check: Please run this command:
52
53 # equery f dev-python/pyinotify | fgrep site-packages
54
55 If you don't have any Python 3.x installed you should see no files for it.
56
57
58 > Same would
59 > happen for all other, not active versions of python.
60
61 See above, please re-check if that happens for you.
62
63
64 > One default active version should be enough, if
65 > i want more, i can select and set it.
66
67 Please elaborate in more detail on that so I'm sure I reply to the
68 comment you actually had in mind.
69
70 Best,
71
72
73
74 Sebastian

Replies