Andrey Rakhmatullin wrote: > Should we start declaring deps on all essential packages explicitly?
I personally think that would be a good idea, though I'm not currently trying to make the case for that across the board here. Right now, I'm trying to make the case that that's a good first step for any packages people might want to work on making optional. I doubt that anyone is likely to make coreutils non-essential anytime soon (though the ability to replace it with smaller alternatives would be nice), but on the other hand, tools like perl-base, awk, and sed would be a lot more feasible, as well as some higher-level things like ncurses-bin and ncurses-base (not typically needed for systems that don't support logins). >From what I've seen, there are two arguments for Essential: 1) Shrinking the Packages file. This is something that good compression handles quite well, and it's not obvious that it provides much of a win. And if we *really* care about shrinking the Packages file, there's a lot of low-hanging fruit there: MD5sum, tags (https://lists.debian.org/debian-devel/2023/11/msg00226.html), and several others. Eliminating MD5sum alone would save more than 1MB of *compressed* size from the currently ~8MB Packages.xz. And the names of common packages are *much* more compressible than MD5sums. :) 2) Maintenance: missing dependencies are hard to track and test. But these days, we have much more automatic testing infrastructure, much more install/upgrade/removal testing infrastructure, and many other things. And note, in particular, that there's nothing stopping us from adding some of these packages to *Build-Essential* at the same time we dropped them from Essential, for convenience.