Gentoo Archives: gentoo-dev

From: "William L. Thomson Jr." <wlt-ml@××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Reverse use of Python/Ruby versions
Date: Sun, 09 Apr 2017 22:35:15
Message-Id: assp.027298fe37.20170409183455.69d92906@o-sinc.com
In Reply to: Re: [gentoo-dev] Reverse use of Python/Ruby versions by Michael Orlitzky
1 On Sun, 9 Apr 2017 17:52:44 -0400
2 Michael Orlitzky <mjo@g.o> wrote:
3
4 > On 04/09/2017 12:15 PM, William L. Thomson Jr. wrote:
5 > > Not sure if this is practical, it may be less work if the use of
6 > > Python and Ruby versions ( maybe others ) is reversed. Rather than
7 > > adding all the versions that the ebuild supports. What if it only
8 > > included versions it did not support?
9 >
10 > Even if this would work better, it would require retraining all
11 > developers, completely rewriting several eclasses, tons of
12 > documentation, and a few thousand ebuilds.
13
14 There could be things done to ease any transition.
15
16 Regarding python, the first of which could be to ignore any targets
17 beyond say 2.7 and just starting enabling support. That would mostly
18 leave just effected packages, ones that break with some 3.x version but
19 not with another.
20
21 As for modifying a few thousand ebuilds;
22
23 1, That is already the case now. If a new python or ruby version comes
24 out. All those ebuilds have to modified to support the new target. That
25 argument isn't really valid.
26
27 2. As for the actual changes that can be done pragmatically if just
28 swapping out the TARGETS variable. Or even if more advanced
29 requiring changing lines. If its the same change to all. I have a
30 script, ebuild-batcher[1], that can safely make any change to a
31 massive number of ebuilds. I have used it a few times on hundreds of
32 ebuilds. It can easily handle thousands.
33
34 > No one's going to jump on that bandwagon without a proof-of-concept
35 > that works much better than what we have now.
36
37 Anyone who has worked with a Gentoo system long enough that has Python
38 and/or Ruby has experienced this. You end up having multiple TARGETS
39 and are constantly messing with those variables adding new ones,
40 removing old, etc. It creates a considerable amount of work.
41
42 I have been fighting over ruby23 that I cannot seem to avoid. Despite
43 having had ruby24 for I think at least a week or more. My build server
44 stopped due to needing ruby23. I have been fighting with stuff around
45 that. More than likely anything bound to ruby23 target works with
46 ruby24. Its mostly how the system is designed.
47
48 I could be wrong in that case and something require ruby23, that does
49 not with ruby24. However most those packages do not have a ruby24
50 target, so its hard to say if its negated or just not enabled yet.
51 Being a new version, all have to be modified for such.
52
53 1. https://github.com/Obsidian-StudiosInc/ebuild-batcher
54
55 --
56 William L. Thomson Jr.