On Sun, Apr 20, 2025 at 06:58:36PM -0500, G. Branden Robinson wrote:
> Hi Adrian,

Hi Branden,

> At 2025-04-21T01:34:56+0300, Adrian Bunk wrote:
>...
> My impression from watching countless upgrades over the years is that,
> when any Essential package is available for upgrade, upgrades performed
> by apt launch a full, discrete run of dpkg for each.[3]  So the only way
> any such cycles could exist is if the Pre-Depends were versioned and the
> versionings themselves produced the cycle, in which case there likely
> _really is_ a breakage problem: one package or the other needs to delay
> its aggressive employment of a newly available feature.

awk is a virtual essential package, it is theoretically possible 
that dependency resolution during an upgrade deinstalls the previously
installed awk implementation and installs a different one instead.

> > 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".
> 
> Hmm.  In my opinion bash-completion scripts should produce
> "Recommends"-strength dependencies at most; not everybody's going to be
> using bash as their interactive shell, and completion matters only for
> interactive shells.

You want to invent a huge amount of error-prone manual work for 
contributors that also adds completely new problems like this?

You want all contributors to know that rm and sort are in coreutils, but 
grep and sed have own packages, and then add dependencies based on that?

A program using system() needs /bin/sh, which implies it would need a 
dependency on an essential (virtual?) shell package.

The amount of dependencies in the archive is already a resource issue 
for dependency resolution.

All this is just an incredibly stupid idea.

The essential set exists so that users and developers always have all 
the basic tools of a Linux system available.

Debian is a binary distribution with nearly 40k source packages,
and there are use cases where the only sane answer is to use a
different distribution.

If anyone whould actually care about the size of awk on small images, 
the 8 year old #861343 would be a low-hanging fruit to get a third of
that removed in small images without requiring any archive-wide changes.

> That said, I haven't looked but would not be surprised if
> bash-completion scripts make extremely aggressive assumptions about
> what's available on the system.  That is, they seldom if ever look
> before the leap, and happily assume the presence of plenty of things
> that _aren't_ in Essential, or even "Priority: required" packages.
> 
> But that's just a hunch.  I could be wrong.

Missing dependencies (which are rare) are reported fast by users since 
they break the bash completion.

> Regards,
> Branden
>...

cu
Adrian

Reply via email to