1 |
On Mon, 19 Nov 2012 10:57:52 +0100 |
2 |
Dirkjan Ochtman <djc@g.o> wrote: |
3 |
|
4 |
> On Thu, Nov 15, 2012 at 10:44 PM, Michał Górny <mgorny@g.o> wrote: |
5 |
> > Of course, a MIP would not be allowed to depend on a SIP. |
6 |
> |
7 |
> How big of a problem would this be? |
8 |
|
9 |
None at all. Just stating the obvious fact, in case anyone wanted |
10 |
to try doing that or point out that my solution is not well though |
11 |
out :). |
12 |
|
13 |
> > To sum it up quickly, the aux variable solution: |
14 |
> > |
15 |
> > Advantages: |
16 |
> > - painless for most of our users, |
17 |
> > - explicit, transparent, |
18 |
> > - simple and matching SIP->SIP and SIP->MIP deps. |
19 |
> > |
20 |
> > Disadvantages: |
21 |
> > - a bit redundant, |
22 |
> |
23 |
> Given the requirement for enabling multiple implementation in |
24 |
> PYTHON_TARGETS, which I feel strongly about, there has to be a choice |
25 |
> which one of the implementations will be target for SINGLE_TARGET |
26 |
> packages. Adding a variable for that, therefore, doesn't seem |
27 |
> redundant. |
28 |
|
29 |
Well, some people could argue that if they set PYTHON_TARGETS |
30 |
to a single value (like python3.2), they need to set an auxiliary |
31 |
variable as well. But that's the lesser evil, I think. |
32 |
|
33 |
> > - does not solve the issue for py3-only SIP packages, |
34 |
> |
35 |
> I guess this might become a problem in the future. Once we have both |
36 |
> py2-only SIP packages and py3-only SIP packages, we have a bit of a |
37 |
> problem. Maybe we should think more about that. |
38 |
|
39 |
Let's grep the tree then (and a few random overlays I'm using)... |
40 |
|
41 |
I have used the following command: |
42 |
|
43 |
$ find -name '*.ebuild' -exec grep -L SUPPORT_PYTHON_ABIS {} + \ |
44 |
| xargs grep PYTHON_DEPEND |
45 |
|
46 |
I have counted 1372 ebuilds not supporting multiple Python |
47 |
implementations, in 648 packages. |
48 |
|
49 |
Of those ebuilds: |
50 |
- 4 ebuilds (1 pkg) support both Python 2 & 3: |
51 |
- media-gfx/hugin; |
52 |
- 8 ebuilds (3 pkgs) require Python 3: |
53 |
- sys-power/upower with USE=test, |
54 |
- media-gfx/blender (3.2+), |
55 |
- net-irc/znc with USE=python. |
56 |
|
57 |
Considering that's ~0.6% of all packages, I'd say we could just be lazy |
58 |
and use package.use for them. |
59 |
|
60 |
> > - may require explicit action when changing PYTHON_TARGETS. |
61 |
> |
62 |
> Yeah, I don't see a problem with this. In particular, it seems |
63 |
> unlikely that many people will setup their system to exclude the |
64 |
> default SINGLE_TARGET impl (2.7) from their TARGETS. |
65 |
|
66 |
-- |
67 |
Best regards, |
68 |
Michał Górny |