1 |
On Sat, 26 May 2012 13:32:30 +0400 |
2 |
Maxim Koltsov <maksbotan@g.o> wrote: |
3 |
|
4 |
> I want to say that I personally don't want to use python-distutils-ng |
5 |
> in its current state and I know several active python ebuild writers |
6 |
> that are not Gentoo developers and they don't want to use it too. |
7 |
> First of all, how well is this eclass adapted to packages not using |
8 |
> distutils? Old eclass had set of convenient functions |
9 |
> (python_execute_function, python_generate_wrapper_scripts, |
10 |
> python_conver_shebangs). I see some functions like these ones in new |
11 |
> eclass, but can they serve as good replace and is their API public and |
12 |
> stable? |
13 |
|
14 |
We're planning on splitting some basic 'python' eclass out of it. Just |
15 |
someone needs to do that, or I'll when I'll have more time and a good |
16 |
plan. |
17 |
|
18 |
> Then, we think that this ruby-ng style approach with PYTHON_TARGETS is |
19 |
> a bit uncomfortable for end users and developers. This is going to be |
20 |
> pain for all users if eclass gets used widely. Eclass allows developer |
21 |
> not to set PYTHON_COMPAT and populate it with all available values — |
22 |
> well, it's nice. |
23 |
|
24 |
I think we can disable that early if new Python versions are likely to |
25 |
introduce breakages. |
26 |
|
27 |
> But imagine that Python 3.3 arrives. All ebuilds |
28 |
> using new eclass will get new IUSE and therefore will be rebuilt |
29 |
> during emerge --update --newuse world. That's hardly sensible. It's |
30 |
> awful to rebuild packages which might be very 'heavy' just for |
31 |
> nothing. |
32 |
|
33 |
We don't support '--newuse' in Gentoo. People who do that are on their |
34 |
own. We have enough problems to care about in our workflow. |
35 |
|
36 |
> On the other hand, if developers are forced to set PYTHON_COMPAT, this |
37 |
> will result in great delays in getting new python support to Gentoo. |
38 |
> You can say that ruby-ng has the same behavior and nobody complains. |
39 |
> But python is not ruby. Ruby 1.8 to 1.9 transitition was connected |
40 |
> with a lot of incompabilities, so one could not assume that ruby-1.8 |
41 |
> package will work on 1.9. Python 3.2 to 3.3 transitition should be |
42 |
> harmless and almost all packages will require no changes. So some |
43 |
> implicit mechanism of doing this must be implemented. |
44 |
|
45 |
I guess that 3.2->3.3 would include having python3_3 masked for |
46 |
a longer while to test it. |
47 |
|
48 |
-- |
49 |
Best regards, |
50 |
Michał Górny |