On Sun, Apr 20, 2025 at 04:46:52PM -0500, G. Branden Robinson wrote:
> At 2025-04-20T23:22:04+0500, Andrey Rakhmatullin wrote:
> > On Sun, Apr 20, 2025 at 06:25:53PM +0100, Josh Triplett wrote:
> > > What I'm suggesting here is that if every individual package that
> > > needs awk has a Depends on it (via a package that allows switching
> > > implementations), rather than relying on Essential, then it becomes
> > > possible to make incremental progress, and that incremental progress
> > > benefits people who are willing to carefully remove some of what
> > > Debian normally always has installed packages.
> > 
> > Should we start declaring deps on all essential packages explicitly?
> 
> I think that's a good idea.  "Explicit is better than implicit," as the
> Zen of Python puts it.[1]
> 
> Factual statements about one's run-time dependencies should be as
> decoupled from the details of the set of "Essential" packages as
> possible.  One reason is that the identities of the people making these
> decisions are disjoint.  Often a package maintainer lacks this power;
> except for dependencies they introduce through operation of their
> maintainer scripts (or Debian add-ons), such run-time dependencies are
> beyond their control.
>...

While this might sound good in theory, in practice it would be horrible.

As an example, libc6 has a preinst script that calls dpkg, sed, 
grep and rm.

Making these dependencies explicit would be something like
  Pre-Depends: sh, dpkg, sed, grep, coreutils

I would expect that such Pre-Depends cycles between essential packages 
and libc6 will result in broken systems during upgrades.


And then there's the normal time-waste like "the package ships
a bash-completion file that uses awk, grep, sed and sort - that's
dependencies on four essential packages".


> Regards,
> Branden
>...

cu
Adrian

Reply via email to