1 |
Not sure if this is practical, it may be less work if the use of |
2 |
Python and Ruby versions ( maybe others ) is reversed. Rather than |
3 |
adding all the versions that the ebuild supports. What if it only |
4 |
included versions it did not support? |
5 |
|
6 |
Rational |
7 |
When new versions are added. Ebuilds must be updated to support the new |
8 |
version. This can require editing a decent amount of ebuilds. Many may |
9 |
work fine with the new version. Making this extra needless work. From a |
10 |
user point of view, You cannot move to the newer version without |
11 |
keeping older around till all are updated to the newer version. |
12 |
|
13 |
Now one could say its the same work to mark versions not supported. But |
14 |
I think there is less of that. Also if something supports and older |
15 |
version and not newer, it may stand out more failing. Requiring someone |
16 |
to reduce to the older version, and maybe filing bugs to get it updated |
17 |
to the newer version. |
18 |
|
19 |
Python 2.7 stuff aside. I am not sure how many Python and Ruby packages |
20 |
break with a newer release. In pythons case I think once they support |
21 |
Python 3.x, there is little chance if it breaking with further 3.x |
22 |
releases. Not sure about Ruby. |
23 |
|
24 |
I could be very wrong and the present way of doing things being the |
25 |
only way. However if this is feasible it may lead to less work. It |
26 |
would allow all packages to move to a newer version. Also allowing |
27 |
punting of older sooner. This leaves the versions solely up to the |
28 |
eclasses. Then ebuilds simply mark the unsupported versions. Just like |
29 |
we do now with adding versions it does support. |
30 |
|
31 |
Which if something was say only Python 2.7. It would have a >= to |
32 |
excluded any newer version of Python. That said, we could do the same |
33 |
with the current way. Saying this supports Python/Ruby >=SLOT. |
34 |
|
35 |
Either way I do not think the current way is the best way. You have to |
36 |
add every version/slot to ebuilds that work fine with any version. When |
37 |
new ones are added, the ebuild has to be touched again. When it may |
38 |
work fine with a new version without requiring the ebuild to be |
39 |
modified. |
40 |
|
41 |
This came up with some stuff requiring ruby23 as I moved to 24. Looking |
42 |
around some stuff has Python 3.5 some 3.6, but all 3.4. So I will stick |
43 |
to 3.4 till everything is at 3.6. Otherwise no point and still have |
44 |
other versions. |
45 |
|
46 |
The approach mentioned above, if the packages do not have issue. I |
47 |
could go ahead and switch to ruby24 and pyton 3.6 across the board. |
48 |
Which I cannot do now till a bunch of ebulids have their targets |
49 |
increased. |
50 |
|
51 |
-- |
52 |
William L. Thomson Jr. |