Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Declare the type of source
Date: Mon, 28 Jun 2021 14:13:59
Message-Id: CAGfcS_kyUmuu+A1h4P8R+xHGCnT0aj+U5WK7O_qxPO3EqeU-2g@mail.gmail.com
In Reply to: Re: [gentoo-dev] Declare the type of source by Michael Orlitzky
1 On Mon, Jun 28, 2021 at 9:46 AM Michael Orlitzky <mjo@g.o> wrote:
2 >
3 > On Mon, 2021-06-28 at 15:00 +0200, Agostino Sarubbo wrote:
4 > >
5 > > Instead, imagine that each ebuild declares a variable called SOURCETYPE ( or
6 > > similar, or in metadata.xml if you prefer ) and with a tool like equery/eix we
7 > > are able to get the list of all packages that compiles C code.
8 > >
9 >
10 > I think all you are really asking for is that we stop omitting a random
11 > subset of @system from *DEPEND.
12 >
13 > This is long overdue, for many reasons, but in particular it would
14 > force us to declare a dependency on a C compiler if one is needed and
15 > allow you to re-test only those packages that use a C compiler.
16
17 ++ - this would also support parallel building of @system.
18
19 Obviously we'll still need a core set of packages needed for
20 bootstrapping/etc, but there is no reason @system couldn't just be
21 another virtual.
22
23 You could also have convenience virtuals for things like the C
24 toolchain and so on. This will both support alternate implementations
25 and avoid having to have laundry lists of deps in every ebuild.
26
27 A simple way to transition would be to create a system virtual and add
28 it to all ebuilds, but ask that this be removed in future updates in
29 favor of more specific dependencies. Over time then the tree would
30 move to specified true deps. Catalyst could still use a virtual as a
31 target for bootstrapping stages.
32
33 Another tool that would be useful is what some other distros do - use
34 mount namespaces/etc to allow build systems to only see parts of the
35 filesystem (down to the file level) that are specified in
36 dependencies. This would basically eliminate unspecified or automagic
37 dependencies, since anything not specified basically doesn't exist at
38 build time. If you didn't want to use mount namespaces then our
39 sandbox already allows limiting read access to only specified files -
40 we just configure it to allow read-only to everything for every
41 package.
42
43 --
44 Rich

Replies

Subject Author
Re: [gentoo-dev] Declare the type of source Gerion Entrup <gerion.entrup@×××××.de>