1 |
Hello, |
2 |
|
3 |
Since the idea hasn't seen negative feedback so far, I think we should |
4 |
so some early thinking on how to migrate. |
5 |
|
6 |
Good news is that it doesn't change anything at all for packages |
7 |
installed already. They will still use dev-python/python-exec:0 |
8 |
at least until they're rebuilt, so there's no risk of immediate |
9 |
breakage during the upgrade. |
10 |
|
11 |
However, the upgrade itself seems harder to accomplish. Specifically, |
12 |
all the simple ways of achieving that would involve changing stable |
13 |
packages. |
14 |
|
15 |
|
16 |
It should be noted that what changes is: |
17 |
|
18 |
1. Wrapped scripts are moved to a new location, |
19 |
|
20 |
2. Wrappers are replaced by another branch of python-exec. |
21 |
|
22 |
So, this doesn't apply to the packages which don't install |
23 |
Python scripts at all. For the remaining ones, external behavior |
24 |
persists -- EPYTHON is respected, /usr/bin/foo works. |
25 |
|
26 |
The only things that break is those explicitly relying on wrapping |
27 |
logic, and I track them in a bug: |
28 |
|
29 |
https://bugs.gentoo.org/show_bug.cgi?id=484398 |
30 |
|
31 |
|
32 |
So far, I can think of three solutions, starting with the worst: |
33 |
|
34 |
1. Deploy the new stuff in an overlay (except for python-exec:2 itself), |
35 |
keep it there for some time asking people to test with eclasses |
36 |
overriding the main tree. Then ask arch teams to stabilize |
37 |
python-exec:2. When it hits stable, move the changes to the tree. |
38 |
|
39 |
2. Make the new features controlled via make.conf variable. Ask users |
40 |
to test with it enabled, then file a stablereq for arch teams to test |
41 |
with the switch enabled, plus stabilize the few packages which will |
42 |
need direct changes. Then remove the switch and make the new behavior |
43 |
default for all stuff. |
44 |
|
45 |
3. python-r2, python-single-r2, distutils-r2 :). |
46 |
|
47 |
|
48 |
Anyone has a better idea? |
49 |
|
50 |
-- |
51 |
Best regards, |
52 |
Michał Górny |