Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 107:19:00 |
Calls: | 290 |
Files: | 905 |
Messages: | 76,676 |
Given recent discussions about depends vs recommends vs suggests
inflation, I'm thinking about down-prioritizing e2fsprogs-l10n from recommends to suggests.
Thoughts, comments?
Currently e2fsprogs recommends e2fsprogs-l10n. In Debian Policy, it states:
This declares a strong, but not absolute, dependency.
The Recommends field should list packages that would be found
together with this one in all but unusual installations.
It seems to me that po translation files are borderline considering it
a "strong dependency". Is it really "the most unusual installations"?
I wouldn't think so, but I acknowledge my privilege coming from a
native English speaker.
Given recent discussions about depends vs recommends vs suggests
inflation, I'm thinking about down-prioritizing e2fsprogs-l10n from recommends to suggests.
Thoughts, comments?
There are a variety of reasons people don't want a package installed.
For packages that run a service or affects how the system behaves or
similar, it's much more debatable whether to install them by default,
even if doing so makes some functionality Just Work. But that seems like *less* of a concern for things that just take up additional space but
don't otherwise cause any issues.
The "all but unusual installations" case here is "systems that have no non-English users *and* that care deeply enough about disk usage that a
few MB here or there matters". (An example of such a use case: creating
a container image or similar, where size can directly impact start time
or download time.)
But until we have a mechanism like that, I think it makes sense to say
that "support for non-English languages" is in general a Recommends as
long as pulling it in just means taking up additional installed size on
disk.
We could also consider adding explicit documentation in Policy that
"Packages must not require the existence of any files in
/usr/share/locale/ in order to function in a C or C.UTF-8 locale.",
which would make it explicit that sysadmins can use things like dpkg exclusions to omit all of /usr/share/locale when building tiny images.
That might reduce the pressure on packagers to split out -l10n-
packages.
How about adding the translations to the main package e2fsprogs, and let the package 'localepurge' remove them? For people who care about installed size, that package helps to remove undesired translation files. (Although all translations will then be downloaded while installing e2fsprogs)
On Thu, Dec 05, 2024 at 09:28:34AM -0800, Josh Triplett wrote:
There are a variety of reasons people don't want a package installed.
For packages that run a service or affects how the system behaves or similar, it's much more debatable whether to install them by default,
even if doing so makes some functionality Just Work. But that seems like *less* of a concern for things that just take up additional space but
don't otherwise cause any issues.
Well, it seems most of the people who are complaining about the
dependency (Depends / Recommends / Suggests) inflation are primarily complaining about the disk space thatis involved. Even
co-installation of relatively small files (hundreds of kilobytes) has
been enough to cause complaints. Coming from a storage background
where 5 EiB of free space is a critical low storage condition leading
to SRE's getting paged, I'm not terribly sympathetic to that argument,
but people do seem to be very concerned about installation of dormant packages even if "all" they do is consume space.
The "all but unusual installations" case here is "systems that have no non-English users *and* that care deeply enough about disk usage that a
few MB here or there matters". (An example of such a use case: creating
a container image or similar, where size can directly impact start time
or download time.)
In the case of e2fsprogs, server and container image *really* don't
have any need of translations
But until we have a mechanism like that, I think it makes sense to say
that "support for non-English languages" is in general a Recommends as
long as pulling it in just means taking up additional installed size on disk.
We could also consider adding explicit documentation in Policy that "Packages must not require the existence of any files in
/usr/share/locale/ in order to function in a C or C.UTF-8 locale.",
which would make it explicit that sysadmins can use things like dpkg exclusions to omit all of /usr/share/locale when building tiny images.
That might reduce the pressure on packagers to split out -l10n-
packages.
I agree that we should take a more opinioned stance in Debian Policy.
On Thu, Dec 05, 2024 at 01:02:29PM -0800, Josh Triplett wrote:
https://bugs.debian.org/1089110
I've looked at this bug, but unlessed I missed something, this seems
to be "rm -rf /usr/share/locale" shouldn't cause binaries to core
dump. I'm guessing this is the reason for the "beware of the leopard"
vibe in the documentation of localepurge package? I didn't realize
binaries would be so ill-behaved as to crash if the locale files were missing. Sigh...
Perhaps we should have a separate debian policy proposal which
explicitly makes a requirement that the locale files should be
separated for anything installed by default by debootstrap, and what
the dependency priority of the *-l10n package should be?
We could also consider adding explicit documentation in Policy that
"Packages must not require the existence of any files in
/usr/share/locale/ in order to function in a C or C.UTF-8 locale.",
which would make it explicit that sysadmins can use things like dpkg exclusions to omit all of /usr/share/locale when building tiny images.
That might reduce the pressure on packagers to split out -l10n-
packages.
Personally, I am quite sympathetic to the argument about wasting disk
space, and I care about the size of the base system myself. But I think
the primary affordance we make for such use cases is for core system
packages to have separate -l10n packages *at all* (whereas many packages
just ship localization directly in the main package).
I agree that we should take a more opinioned stance in Debian Policy.
https://bugs.debian.org/1089110
On Thu, Dec 05, 2024 at 01:02:29PM -0800, Josh Triplett wrote:
In the future, if users can easily filter out locale data, we could
decide that that's the easier path to support such users, and that fewer package maintainers need to maintain separate -l10n packages.
The future is 14 years old. https://raphaelhertzog.com/2010/11/15/save-disk-space-by-excluding-useless-files-with-dpkg/
In the future, if users can easily filter out locale data, we could
decide that that's the easier path to support such users, and that fewer package maintainers need to maintain separate -l10n packages.
On Thu, Dec 05, 2024 at 01:02:29PM -0800, Josh Triplett wrote:
In the future, if users can easily filter out locale data, we could
decide that that's the easier path to support such users, and that fewer
package maintainers need to maintain separate -l10n packages.
The future is 14 years old. https://raphaelhertzog.com/2010/11/15/save-disk-space-by-excluding-useless-files-with-dpkg/
Given recent discussions about depends vs recommends vs suggests
inflation, I'm thinking about down-prioritizing e2fsprogs-l10n from recommends to suggests.
Well, it seems most of the people who are complaining about the
dependency (Depends / Recommends / Suggests) inflation are primarily complaining about the disk space thatis involved.
Localization is not only about disk space, but also manuals, spell
checking, input method tools, fonts etc. being scattered all over the
system.
It does not make sense that everyone has to select his spell checker
language from 50+ options he does not speak.
Particularly annoying is that Thai terminal (xiterm+thai), which is preinstalled in Debian desktop and appears in launchers such as Gnome
Shell when searching for terminals.
Though I do also think we have a hole in our dependency system here.
if I set my system up to be in entish, I don't want to chase translation files all over the package system. It should somehow just happen.
This is just me writing something in a email hoping that someone else
picks it up (this time)
Package: foo
Recommends: foo-LANG <condition: LANG>
And then somehow tell apt how to expand LANG for all relevant languages.
"Josh" == Josh Triplett <josh@joshtriplett.org> writes:
In the case of e2fsprogs, server and container image *really* don't
have any need of translations --- and in fact, from my perspective,
it's often actively harmful, when users send me e2fsck logs in
Vietnamese and I have to try to figure out was going on.
I no longer buy the argument for conserving space when a typical NixOS installation takes 100GB and people are happy with it. As long as we
provide the mechanisms to trim installations, those who need to conserve space should be doing the work of opting out.