Gentoo Archives: gentoo-dev

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

Replies

Subject Author
[gentoo-dev] Re: [RFC] Un-slotting LLVM Benda Xu <heroxbd@g.o>