1 |
On 02/09/2017 15:33, Andrew Lowe wrote: |
2 |
> Hi all, |
3 |
> I'm in the process of doing a world update and due to a failed compile, |
4 |
> I have cause to look up through the list of stuff to compile/update. |
5 |
> Imagine my surprise when I saw there were three versions of Ruby wanting |
6 |
> to update: |
7 |
> |
8 |
> [ebuild U ] dev-lang/ruby-2.4.1-r4 [2.4.1-r3] |
9 |
> [ebuild U ] dev-lang/ruby-2.3.4-r4 [2.3.4-r3] |
10 |
> [ebuild U ] dev-lang/ruby-2.2.7-r4 [2.2.7-r3] |
11 |
> |
12 |
> Have I managed to stuff up something on my machine or is this really the |
13 |
> case, there has to be three versions? And to make matters worse, they |
14 |
> are not big version jumps, + 0.1 -> 2.2, 2.3 & 2.4. |
15 |
> |
16 |
> I would prefer to get rid of Ruby, but, if memory serves me correctly, |
17 |
> someone associated with the kernel decided it would be a good idea to |
18 |
> use yet another language for something, obviously Python wasn't good |
19 |
> enough.... |
20 |
> |
21 |
> Thoughts on the magically multiplying Rubies would be greatly appreciated, |
22 |
|
23 |
|
24 |
Welcome to the giant clusterfuck that is RubyWorld(tm). Just be thankful |
25 |
you don't have to support corporate internal code written in it. Or |
26 |
package gems. |
27 |
|
28 |
OK, so disclaimer up front. I detest Ruby. I hate it with a passion. |
29 |
|
30 |
You have to understand what Ruby is. It is not a language. It is 5 |
31 |
languages. Like python27 and python3 are really different languages with |
32 |
much in common. The difference is the python devs have solid reasons for |
33 |
doing python3 and the transition has been mostly smooth. Each new minor |
34 |
version of ruby is a whole new language and the devs are OK with large |
35 |
breaking changes between minor version numbers. |
36 |
|
37 |
So why 3 rubys? Because they are 3 languages and you have packages that |
38 |
for whatever reason are tied to different rubys. Just pretend to |
39 |
yourself that they aren't really ruby22, ruby23 and ruby24 - they are |
40 |
php, perl and python (or whatever 3 language names you like that help |
41 |
you get past the 3 rubys! thing). |
42 |
|
43 |
You probably need all 3. As housekeeping, you can put this in make.conf: |
44 |
RUBY_TARGETS="ruby22", |
45 |
and remove all ruby versions from world |
46 |
and let depclean, revdep-rebuild and emerge world take care of the details. |
47 |
|
48 |
-- |
49 |
Alan McKinnon |
50 |
alan.mckinnon@×××××.com |