Gentoo Archives: gentoo-dev

From: Michael Orlitzky <mjo@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] sys-meta/* to own and control /bin/{cpio,sh,tar,...} symlinks (alternatives-ish)
Date: Wed, 23 Nov 2022 13:47:33
Message-Id: 81f20bc4cd8d05829ac96fc134c5171caf1d615f.camel@gentoo.org
In Reply to: [gentoo-dev] [RFC] sys-meta/* to own and control /bin/{cpio,sh,tar,...} symlinks (alternatives-ish) by "Michał Górny"
1 On Wed, 2022-11-23 at 08:38 +0100, Michał Górny wrote:
2 > Hello, everyone.
3 >
4 > TL;DR: I'd like to add sys-meta/{cpio,sh,tar} to install and control
5 > (via USE flags) /bin/{cpio,sh,tar} symlinks.
6 >
7 > Draft PR: https://github.com/gentoo/gentoo/pull/28390
8 >
9
10 I generally favor using the package manager in these situations, but
11 there's a lot of user-facing documentation (and user configurations)
12 that will need updating. We should probably have a GLEP -- and
13 eventually a news item -- for this.
14
15 A few comments:
16
17 * The new category is a bit annoying. I know the PMS says that  
18 virtuals can't install files, but having an entirely separate 
19 category for virtuals that install a symlink feels excessive.
20 Not that I have a better idea.
21
22 * The name also suggests to me that it will control sys-* 
23 implementations, but the victims so far are all app-*. Obviously,
24 we don't want twenty *-meta categories though.
25
26 * The -meta prefix is already used in a bunch of ebuilds to mean
27 something different. The packages in sys-meta won't be 
28 "metapackages" in the same sense.
29
30 * Should we replace app-arch/tar with sys-meta/tar in @system?
31
32 * Having to specify the relationship twice (once in the sys-meta 
33 package and once in each implementation) is also a bit ugly, as is 
34 having to account for the symlink not being installed (yet) in 
35 each implementation's pkg_postinst. This made me wonder, could 
36 the RDEPEND/PDEPEND be reversed? In other words, could (say) GNU 
37 tar require that the symlink be present immediately, but the 
38 metapackage only require that some implementation be merged 
39 eventually?
40
41 To answer my own question, the PMS says that PDEPENDs "must be 
42 installed at some point before the package manager finishes the 
43 batch of installs," which would be problematic if some later 
44 package in the batch actually needed a tar implementation 
45 available to build. We can't change the PMS, so installing a 
46 symlink in the implementation ebuilds avoids the issue, but still
47   eventually cedes control to the sys-meta package.
48
49 I guess you already thought through all of that? If so, it would be
50 nice to have the rationale written down somewhere that we can refer
51 back to.
52
53 * Is it worth thinking about improvements to EAPI=? that could help 
54 us here? By e.g. allowing virtuals to install symlinks, or by 
55 making PDEPEND kick in sooner (after this package, but before the 
56 rest of the batch)?
57
58 Despite all the skeptical-sounding feedback, I think this is a good
59 idea, and an improvement over eselect.

Replies