Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: Sam James <sam@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4)
Date: Wed, 07 Apr 2021 11:06:27
Message-Id: ueefm73rv@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH v2 3/3] gnuconfig.eclass: use BDEPEND, BROOT where available (drop support for EAPI <4) by Sam James
1 >>>>> On Tue, 06 Apr 2021, Sam James wrote:
2
3 > 1) @system varies between profiles anyway which makes it hard to fully
4 > rely on;
5
6 That's exactly the reason why you _don't_* add GNU grep as a dependency,
7 because e.g. on Prefix grep may be provided by another package.
8
9 grep is a POSIX tool and a bootstrap package, so we can be certain that
10 will be available everywhere. (And the single grep instance in the
11 eclass doesn't use any GNUisms.)
12
13 > 2) As a few of us have discussed in #gentoo-portage in the past,
14 > continuing this trend of not explicitly stating dependencies makes
15 > parallelism in Portage difficult. You can try this with
16 > —implicit-system-deps=n, but we really need to be stating what we use
17 > explicitly.
18
19 This would mean that we'd end up with lots of system dependencies in
20 every ebuild. The current policy is in place for good reasons.
21
22 You may have a point for adding library dependencies explicitly, but
23 certainly not for common build tools (aka bootstrap packages). They will
24 be available from the very beginning of the bootstrap process.
25
26 > The benefit is enhanced parallelism and the downside is being
27 > _slightly_ more verbose in some ebuilds;
28
29 s/slightly/much/;s/some/all/
30
31 We'd end up having a significant subset of profiles/base/packages in
32 _every_ ebuild. Or even worse, a bunch of any-of-many dependencies or
33 virtuals, in order to account for different systems. Personally, I
34 wouldn't be willing to maintain such dependencies for my ebuilds.
35
36 More importantly, if you want such a policy change, then you should
37 discuss it first and have it approved. Until then, the current policy
38 [1] applies.
39
40 > 3) Implicit dependencies make it hard for us to ever actually swap
41 > implementations;
42
43 > 4) This helps when creating minimal systems without Portage in it.
44
45 [1] https://devmanual.gentoo.org/general-concepts/dependencies/index.html#implicit-system-dependency

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies