Gentoo Archives: gentoo-dev

From: Alec Warner <antarus@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] musl, sbcl, and ros
Date: Fri, 02 Dec 2022 22:04:56
Message-Id: CAAr7Pr9kZR+Qcc3jG1R1xyfZFotyChd59n+jcSC==sTdRiQmzw@mail.gmail.com
In Reply to: Re: [gentoo-dev] musl, sbcl, and ros by Peter Stuge
1 On Fri, Dec 2, 2022 at 11:28 AM Peter Stuge <peter@×××××.se> wrote:
2 >
3 > Andrey Grozin wrote:
4 > > This means that no user of the musl profiles has ever been able to emerge
5 > > all these packages (because they did not have sbcl). And all these
6 > > packages should be pmasked in the musl profiles.
7 >
8 > Is the last sentence actually true?
9 >
10 > Shouldn't only ebuilds with actual problems be masked?
11 >
12 > Even if there's currently no possibility to emerge other packages
13 > which depend on that it seems incorrect to mask those other packages
14 > only because a dependency can't be emerged?
15 >
16 > I don't think portage cares; it will show sbcl masked if it is a
17 > dependency, right?
18
19 The project has a (somewhat implicit) goal to prefer installable
20 depgraphs. We use software like pkgcheck to verify these (and there
21 are CI failures if the depgraph is broken, and we make developers fix
22 such things.)
23
24 So if we had like, A -> B -> C, and C is profile-masked on some
25 profile, we should be masking A and B (so we avoid users seeing a
26 broken depgraph.)
27 You might think "well I see A -> B[foo] all the time, and portage will
28 make me set USE=foo on B." This is generally true except:
29 - Oftentimes if this is a sane default, B will have USE="+foo" (e.g.
30 foo will be on by default) and this requirement will not be visible to
31 users.
32 - USE flags are intended to be toggled and most USE flag values are
33 supported by Gentoo (except for REQUIRED_USE restrictions.)
34 - Portage has an autounmask flag that will configure things so B is
35 installable (by flipping foo on for you); but this function does not
36 exist for profile-masks.
37
38 We do not expect users to "undo" profile-masks, so when things are
39 profile-masked we value the user experience (if X is visible, X should
40 be installable) rather than minimal masking.
41
42 -A
43
44 >
45 >
46 > Thanks
47 >
48 > //Peter
49 >