>>>>> On Tue, 06 Apr 2021, Sam James wrote:

> 1) @system varies between profiles anyway which makes it hard to fully
> rely on;

That's exactly the reason why you _don't_* add GNU grep as a dependency,
because e.g. on Prefix grep may be provided by another package.

grep is a POSIX tool and a bootstrap package, so we can be certain that
will be available everywhere. (And the single grep instance in the
eclass doesn't use any GNUisms.)

> 2) As a few of us have discussed in #gentoo-portage in the past,
> continuing this trend of not explicitly stating dependencies makes
> parallelism in Portage difficult. You can try this with
> —implicit-system-deps=n, but we really need to be stating what we use
> explicitly.

This would mean that we'd end up with lots of system dependencies in
every ebuild. The current policy is in place for good reasons.

You may have a point for adding library dependencies explicitly, but
certainly not for common build tools (aka bootstrap packages). They will
be available from the very beginning of the bootstrap process.

> The benefit is enhanced parallelism and the downside is being
> _slightly_ more verbose in some ebuilds;

s/slightly/much/;s/some/all/

We'd end up having a significant subset of profiles/base/packages in
_every_ ebuild. Or even worse, a bunch of any-of-many dependencies or
virtuals, in order to account for different systems. Personally, I
wouldn't be willing to maintain such dependencies for my ebuilds.

More importantly, if you want such a policy change, then you should
discuss it first and have it approved. Until then, the current policy
[1] applies.

> 3) Implicit dependencies make it hard for us to ever actually swap
> implementations;

> 4) This helps when creating minimal systems without Portage in it.

[1] 
https://devmanual.gentoo.org/general-concepts/dependencies/index.html#implicit-system-dependency

Attachment: signature.asc
Description: PGP signature

Reply via email to