On Thu, Apr 17, 2025 at 01:38:18PM -0700, Josh Triplett wrote: > Simon Josefsson wrote: > > Debian trixie images ship with 'mawk' pre-installed right now. While > > I'm not convinced the removal game is necessarily a good one, I can > > see that it does have some advantages. Is it possible to drop 'mawk' > > from the set of default tools in trixie? If not, what are the > > blockers? What is the method to find out what the blockers are? > > I would *love* to see the Essential set reduced. But I think this is > combining a couple of steps, and we'd do better to separate those steps. > > One is "should we make dependencies on awk explicit, rather than having > them be implicit and undocumented because awk is Essential". > The other is "should we reduce dependencies on awk". > > The latter may or may not happen in any individual case, but I think the > former would have a lot of value independently.
The former without the latter is just a lot of wasted work without any benefits. > And with the former > done, we'd have the opportunity to *consider* the latter on a > case-by-case basis, with rationales like "if packages A and B didn't use > awk, then we'd simplify bootstrapping", or "if packages B and C didn't > use awk, it'd be possible for XYZ useful class of minimal > systems/containers/VMs to not need it installed". >... How do you ensure there are no missing dependencies throughout the archive when this is a situation that cannot happen in practice? In practice you can do the former only if you have tooling that provides the latter, contrary to your claim that the former would help with the latter. > In general, I think this is roughly the right approach for any proposed > work on the Essential set, with the first step being to declare > dependencies explicitly. It's just a waste of time, especially if the end goal is not defined from the start. If someone wants to remove awk from the essential set, then replacing the far larger sed would also be desirable. Larry Wall delayed the initial release of Perl until the a2p and s2p converters for converting from AWK and sed to Perl were completed. Instead of just annotating dependencies, usage of AWK and sed in the relevant package set could immediately be replaced with usage of the essential Perl. Unless someone wants to get rid of Perl in the essential set, which is 10 times the size of AWK and sed combined. The sane starting point would be discussing which tools should be part of the (transitive) essential set. Otherwise you might end up with one group of people converting from AWK to Perl, while another group of people converts from Perl to AWK. > - Josh Triplett cu Adrian BTW: Replacing mawk with original-awk in installs might be a low-hanging fruit to save 100kB in forky, having original-awk as only AWK variant installed is already a supported configuration.