Re: Explicitly depending on Essential packages (was: Dropping awk?)
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 to: