1 |
Hi, |
2 |
|
3 |
A few years back I've slotted LLVM and Clang to make the life with |
4 |
revdeps easier. Long story short, every major LLVM release (which |
5 |
happens twice a year) breaks API and it takes some time for revdeps to |
6 |
adjust. Slotting made it possible to install multiple versions |
7 |
simultaneously, and therefore let "faster" packages use newer LLVM |
8 |
without being blocked by "slower" packages on the user's system. |
9 |
|
10 |
Unfortunately, this ended up pretty bothersome to maintain. Besides |
11 |
making ebuilds quite complex (and prone to mistakes), I'm hearing more |
12 |
and more reports of programs being broken through getting multiple LLVM |
13 |
versions in the link chain. |
14 |
|
15 |
This is not something that can be easily solved. In other words, it's |
16 |
a mess and I don't think we're really getting anywhere. For this |
17 |
reason, I'm considering dropping slotting and going back to permitting |
18 |
only a single version of LLVM and Clang being installed. |
19 |
|
20 |
This would have two major implications: |
21 |
|
22 |
1. If you installed any package that requires older LLVM, it'd block all |
23 |
other packages from updating. If you hit two packages that do not have |
24 |
a common supported LLVM version, you won't be able to install them |
25 |
at all. |
26 |
|
27 |
On the plus side, this will motivate developers to actually start fixing |
28 |
these packages rather than letting them rot until I start removing old |
29 |
LLVM versions. |
30 |
|
31 |
2. We will no longer support having multiple clang versions installed. |
32 |
While it was convenient for testing stuff, it's not really a killer |
33 |
feature though. |
34 |
|
35 |
The only real alternative I see is actively limiting supported LLVM |
36 |
versions in packages to ensure that all libraries in the depgraph end up |
37 |
using the same LLVM version. However, I don't think it's really worth |
38 |
the effort. |
39 |
|
40 |
I don't have a ready unslotting plan yet. |
41 |
|
42 |
WDYT? |
43 |
|
44 |
-- |
45 |
Best regards, |
46 |
Michał Górny |