On Tue, Feb 08, 2022 at 08:28:03PM +0100, Adam Borowski wrote:
> The bulk of libc6 package consists of gconv files for obsolete locales.
> This costs us 8.2MB per arch, even for minimal containers.

Indeed, gconv files are >10% of minimal containers right now:
  $ podman run -it --rm debian:unstable-slim
  root@5afbafb696c0:/# du -hs --one-file-system /
  81M   /
  root@5afbafb696c0:/# du -hs --one-file-system /usr/lib/*/gconv
  8.2M  /usr/lib/x86_64-linux-gnu/gconv

> Fedora has done so, then lowered the dependency to Recommends last year:
>   https://www.fedoraproject.org/wiki/Changes/Gconv_package_split_in_glibc
> They've decided to keep a handful of often used old locales, which is
> probably reasonable.

Specifically, this is the relevant fragment from the Fedora package with
the regexp that matches which locales to keep in the main glibc package:
  # The primary gconv converters are in the glibc package, the rest goes
  # into glibc-gconv-extra.  The Z9 and Z900 subpatterns are for
  # s390x-specific converters.  The -name clause skips over files
  # that are not loadable gconv modules.
  split_sysroot_file_list \
    %{_libdir}/gconv '-name *.so' \
    'gconv/
     (CP1252
     |ISO8859-15?
     |UNICODE
     |UTF-[0-9]+
     |ISO-8859-1_CP037_Z900
     |UTF(8|16)_UTF(16|32)_Z9
     )\.so$' \
    gconv-extra.filelist glibc.filelist

Source:
https://src.fedoraproject.org/rpms/glibc/blob/rawhide/f/glibc.spec#_1896

> Thus: could you please move the gconv files to a new package; with a
> hard dependency from libc6 for now?

Agreed! Shipping ancient DOS codepages and EBCDIC to every Debian system
in 2025 feels just wasteful to me :)

It's great that Fedora has already paved the way here and did most of
the hard work! I don't know how your appetite is in doing this for
trixie, but I'd personally love to see this happen.

Thank you so much for your work on glibc regardless!

Regards,
Faidon

Reply via email to