1
1
mirror of https://pagure.io/fedora-kickstarts.git synced 2024-11-14 21:03:08 +00:00
Commit Graph

13 Commits

Author SHA1 Message Date
Debarshi Ray
f2c6224ade container-toolbox: Install all languages (part 2)
This is a continuation from commit 9456429624, 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/1004
2023-10-25 20:19:51 +02:00
Debarshi Ray
9456429624 container-toolbox: Install all languages
The Container/Dockerfile equivalent of the fedora-toolbox OCI images
installed all languages by removing %_install_langs (set to en_US by the
fedora base image) from /etc/rpm/macros.image-language-conf [1].  The
Kickstart does the same in the %pre section.

Therefore, it's self-contradictory to have '%packages --inst-langs=en'.

The fedora-toolbox OCI image is meant for interactive command line
environments, not for deploying server applications.  Therefore, they
need a fully featured CLI user experience at par with what's offered on
Fedora Silverblue and Workstation.  Among the Kickstart files defined
here, other than fedora-container-toolbox.ks, only these ones don't
install all languages:
  * fedora-cloud-base.ks
  * fedora-container-base-minimal.ks
  * fedora-container-base.ks
  * fedora-container-common.ks
  * fedora-eln-container-base.ks
  * fedora-server-vm-full.ks

All the other Kickstarts, and definitely those for Fedora Workstation,
install all languages.

[1] https://src.fedoraproject.org/container/fedora-toolbox
    https://github.com/containers/toolbox/tree/main/images/fedora

https://bugzilla.redhat.com/show_bug.cgi?id=2244503
https://pagure.io/fedora-kickstarts/pull-request/998
2023-10-16 19:24:43 +02:00
Debarshi Ray
b5fc5fd17d container-toolbox: Include weak dependencies
The Container/Dockerfile equivalent of the fedora-toolbox OCI images
didn't exclude weak dependencies [1] so the Kickstart shouldn't either.

The fedora-toolbox OCI image is meant for interactive command line
environments, not for deploying server applications.  Therefore, they
need a fully featured CLI user experience at par with what's offered on
Fedora Silverblue and Workstation.  Among the Kickstart files defined
here, other than fedora-container-toolbox.ks, only these ones exclude
weak dependencies:
  * fedora-container-base-minimal.ks
  * fedora-container-base.ks
  * fedora-container-common.ks
  * fedora-eln-container-base.ks
  * fedora-modular-disk-minimal.ks

None of the other Kickstarts, and definitely not those for Fedora
Workstation, exclude weak dependencies.

[1] https://src.fedoraproject.org/container/fedora-toolbox
    https://github.com/containers/toolbox/tree/main/images/fedora

https://bugzilla.redhat.com/show_bug.cgi?id=2244503
https://pagure.io/fedora-kickstarts/pull-request/996
2023-10-16 19:20:49 +02:00
Debarshi Ray
bbd9f3c0e8 container-toolbox: Fix typo between %pre and %post
The snippet to fix the /run/lock breakage and the lines following it
were copied from the first %post section in fedora-container-base.ks.
However, the %end marker to terminate the previous %pre section, and the
starting %post marker went missing in fedora-container-toolbox.ks

https://bugzilla.redhat.com/show_bug.cgi?id=2244503
https://pagure.io/fedora-kickstarts/pull-request/994
2023-10-16 19:19:08 +02:00
Evan Goode
f7bf98d3af Revert replacing DNF with DNF5
The switch to DNF 5 has been postponed, likely to Fedora 41. See
https://pagure.io/fesco/issue/3039.

This reverts the following commits:
41a8487712
d84d3e61e0
b24aea7e68
02439d3a30
2023-08-07 17:32:41 +00:00
Tomas Hrcka
f716f34b6d container toolbox more comments
Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2023-07-12 14:51:12 +02:00
Tomas Hrcka
b41eb6bd15 container toolbox - make additional packages alphabetically ordered
- disable manpage checks

Signed-off-by: Tomas Hrcka <thrcka@redhat.com>
2023-07-12 12:00:53 +02:00
Samyak Jain
8eda3b701e Remove --excludedocs from toolbox, need of man pages
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
2023-07-11 13:04:10 +05:30
Kevin Fenzi
d3c38de593 toolbox: remove dnf swaps, add glibc-langpacks-all to be included.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-30 11:19:07 -07:00
Evan Goode
b24aea7e68 Replace dnf-utils, dnf-plugins-core with dnf5-plugins 2023-06-29 18:32:51 +00:00
Evan Goode
d84d3e61e0 Replace dnf with dnf5 2023-06-29 18:32:51 +00:00
Kevin Fenzi
e095131572 toolbox: drop standard and core from toolbox
standard pulls in sssd
core pulls in sssd-common
both of those pull in sssd-client, which is excluded in container-common
(to minimize size/deps).

If we need these, we can look at another solution.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-28 13:11:39 -07:00
Samyak Jain
48e2c3b559 init: kickstart for fedora-container-toolbox
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
2023-06-21 12:16:19 +05:30