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