• Bug#1005193: libc6: please split away gconv files

    From Marco d'Itri@21:1/5 to Faidon Liambotis on Wed Feb 26 16:50:02 2025
    XPost: linux.debian.bugs.dist

    On Feb 26, Faidon Liambotis <paravoid@debian.org> wrote:

    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.
    Agreed, Adam and Faidon are clearly right.
    This is "just" 8 MB of disk space, but this kind of savings is still
    very important for containers.

    --
    ciao,
    Marco

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQnKUXNg20437dCfobLPsM64d7XgQUCZ782owAKCRDLPsM64d7X gYOwAQDqpbzHxpitqBVf7/9shVNI2zdudep4SlG6br+vv6ij7QD/dmH/ybdCUnZ3 w7XWHVIWF5GCOf6UllbZDXNPFVMVXgo=
    =RIdR
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Aurelien Jarno@21:1/5 to Faidon Liambotis on Thu Feb 27 00:00:01 2025
    XPost: linux.debian.bugs.dist

    Hi,

    On 2025-02-26 10:12, Faidon Liambotis wrote:
    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?

    Thanks for the pointer, that make things easier.

    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.

    That looks almost impossible for trixie, the freeze is in 2 weeks, and
    it has to go through NEW...

    Regards
    Aurelien

    --
    Aurelien Jarno GPG: 4096R/1DDD8C9B aurelien@aurel32.net http://aurel32.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)