30f76d3 container-toolbox: Install all languages (part 2)

Authored and Committed by Debarshi Ray 7 months ago
    container-toolbox: Install all languages (part 2)
    
    This is a continuation from commit 69555b7b91a7b23d, which tried to
    ensure that all languages are present in the fedora-toolbox OCI image by
    removing --inst-langs=en from fedora-container-toolbox.ks.  Sadly, this
    wasn't enough.
    
    The image was still missing various localization bits like translations
    for programs and manuals.  All translations for all programs, such as
    LC_MESSAGES and LC_TIME, were missing, except for those coming from
    glibc-all-langpacks.  eg., see:
      $ LANG=cs_CZ.UTF-8 cp foo bar
      cp: cannot stat 'foo': Adresář nebo soubor neexistuje
    
    Only the part coming from glibc is translated.  The part coming from
    coreutils isn't.  There are lots and lots of such packages.  eg., bash,
    coreutils, dnf, grep, rpm, sed, tar, etc..
    
    Any package with translated manuals marked with %lang() in their %files
    section were missing them.  eg., man-db, passwd, psmisc, etc..
    
    Finally, even though the %pre section in fedora-container-toolbox.ks
    removes %_install_langs from /etc/rpm/macros.image-language-conf, it was
    still set to en_US in the final image.
    
    This was happening because fedora-container-toolbox.ks includes
    fedora-container-common.ks, and some unintended bits from the latter
    were leaking into the fedora-toolbox OCI image's build.
    
    The image was still being built with '%packages --inst-langs=en',
    possibly since fedora-container-common.ks has '%package --instLangs=en'.
    That option wasn't just being applied to the packages being installed by
    fedora-container-common.ks, but also to those being installed by
    fedora-container-toolbox.ks [1].
    
    Secondly, fedora-container-common.ks sets %_install_langs to en_US in
    its %post section.  This will strip out all non-English languages from
    future RPM transactions in containers created from the image.
    
    To address this, fedora-container-toolbox.ks has now been decoupled from
    fedora-container-common.ks, by copying over the relevant bits.
    
    [1] https://koji.fedoraproject.org/koji/buildinfo?buildID=2311452
        https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Toolbox/Rawhide/20231025.n.0/images/fedora-container-toolbox.ks
        https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Toolbox/Rawhide/20231025.n.0/images/koji-f40-build-108073454-base.ks
        https://kojipkgs.fedoraproject.org//packages/Fedora-Container-Toolbox/Rawhide/20231025.n.0/data/logs/image/oz-aarch64.log
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2244503
    https://pagure.io/fedora-kickstarts/pull-request/1002
    
        
file modified
+52 -2