1 |
2010-12-04 01:23:41 Sebastian Pipping napisaĆ(a): |
2 |
> Current situation |
3 |
> ================= |
4 |
> Without specifying USE_PYTHON in /etc/make.conf ebuilds based on the |
5 |
> python eclass will install packages for no more ABIs than the two active |
6 |
> versions on the 2.x and 3.x lines. To give an example: with Python 2.6, |
7 |
> 2.7 and 3.1 installed and 2.7 set as the active 2.x Python version I |
8 |
> would get files installed for python 2.7 and 3.1, but not 2.6. |
9 |
> |
10 |
> Is that a sane default? Especially when a new slot of Python arrives at |
11 |
> the Gentoo tree, you run into situations with two slots of Python 2.x |
12 |
> installed. To have packages functioning with both, you would need a |
13 |
> custom USE_PYTHON line like USE_PYTHON="2.6 2.7" - otherwise one of |
14 |
> these slots' Python will be very limited. |
15 |
> |
16 |
> This problem is made worse by the fact that USE_PYTHON has almost no |
17 |
> documentation. This bug shows well, that the current behavior is a |
18 |
> surprising troublemaker: |
19 |
> |
20 |
> https://bugs.gentoo.org/show_bug.cgi?id=347153 |
21 |
> |
22 |
> |
23 |
> Proposed new situation |
24 |
> ====================== |
25 |
> If I have a version of Python installed, it should be usable well. |
26 |
> So USE_PYTHON is derived from the list of all available Python slots. |
27 |
|
28 |
Please don't change current algorithm. |
29 |
- Average users need packages built with support for at most 1 version of Python 2 and at most |
30 |
1 version of Python 3. |
31 |
- Only people, who want to explicitly test given modules/scripts with multiple Python versions, |
32 |
would need dependencies built with support for more Python versions. |
33 |
- You might break something outside of python.eclass. |
34 |
|
35 |
There is a plan (and patches) to introduce usage of USE flags for selection of requested |
36 |
Python versions. It will be available when a future EAPI supports dots in names of USE flags. |
37 |
|
38 |
-- |
39 |
Arfrever Frehtes Taifersar Arahesis |