Bug 2054790 - locale: de-duplicate LC_CTYPE files in glibc-langpack-* by symlinking identical copies to C.utf8 variant
Summary: locale: de-duplicate LC_CTYPE files in glibc-langpack-* by symlinking identic...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: glibc
Version: 8.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Arjun Shankar
QA Contact: Martin Coufal
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-02-15 17:28 UTC by Arjun Shankar
Modified: 2023-07-18 14:30 UTC (History)
9 users (show)

Fixed In Version: glibc-2.28-191.el8
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 2056991 (view as bug list)
Environment:
Last Closed: 2022-11-08 10:43:11 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-112382 0 None None None 2022-02-15 17:38:59 UTC
Red Hat Product Errata RHBA-2022:7684 0 None None None 2022-11-08 10:43:27 UTC

Description Arjun Shankar 2022-02-15 17:28:21 UTC
This bug was initially created as a copy of Bug #2054789

LC_CTYPE for almost half the locales is identical to the one for C.utf8.  When building the glibc RPM, we hardlink identical files to save space, but when they get split across separate glibc-langpack-* RPMs, the content is duplicated and installed in duplicate for each langpack installed.

Fix this so that we generate symbolic links instead that get installed as-is by RPM.

This is a packaging change that has already been done in Fedora Rawhide.

Relevant commit:

commit a0bdca4f3f0b5d8fa83b94baa29aee593a6185d7
Author: Arjun Shankar <arjun>
Date:   Tue Feb 15 00:40:57 2022 +0100

    locale: symlink identical langpack LC_CTYPEs to the C.utf8 version
    
    Almost half the LC_CTYPE files in langpacks are identical to the C.utf8
    variant which is installed by default.  This commit converts these to
    symbolic links instead, saving ~350K of installed size per langpack.
    
    Reviewed-by: Florian Weimer <fweimer>


Additional nice-to-have commit:

commit cf979ff812591e7190025c9454ab73a9c31baa5b
Author: Arjun Shankar <arjun>
Date:   Thu Feb 10 12:00:48 2022 +0100

    locale: make install-locale-files instead of install-locales
    
    glibc-fedora-localedef.patch was altering the install-locales target so
    that it does not generate a locale-archive.
    
    This commit drops the patch and uses the install-locale-files target
    instead of install-locales.  install-locale-files does not generate
    locale-archive, and does not group identical locale files via hardlinks.
    
    hardlink is also passed a -c flag so that it actually compares file
    contents and hardlinks identical ones.

Comment 10 errata-xmlrpc 2022-11-08 10:43:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (glibc bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:7684


Note You need to log in before you can comment on or make changes to this bug.