Commit Graph

14 Commits

Author SHA1 Message Date
Debarshi Ray 30f76d387d container-toolbox: Install all languages (part 2)
This is a continuation from commit 69555b7b91, 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
2023-10-25 18:25:45 +02:00
Debarshi Ray 69555b7b91 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/997
2023-10-16 19:14:17 +02:00
Debarshi Ray 49306cb6ea 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.

As a concrete example, the default-editor meta RPM relies on Recommends
for its functionality [2].

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

[2] fedora nano commit e53ee57baa33a1d8
    https://src.fedoraproject.org/rpms/nano/c/e53ee57baa33a1d8
    https://src.fedoraproject.org/rpms/nano/pull-request/7
    https://bugzilla.redhat.com/show_bug.cgi?id=1955884

https://pagure.io/fedora-kickstarts/pull-request/995
2023-10-16 06:39:34 +00:00
Debarshi Ray f10385252a 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://pagure.io/fedora-kickstarts/pull-request/993
2023-10-06 02:59:50 +02:00
Debarshi Ray 0087ea3b3f container-toolbox: Use default-editor, not nano-default-editor
In Fedora 33, nano-default-editor was introduced to make GNU nano the
default editor [1].  After a year, it was found out that it breaks
upgrades across Fedora releases if the user had chosen some other editor
as the default [2].

The difference doesn't matter here because the fedora-toolbox OCI image
is being created from scratch without involving any upgrades.  However,
since fedora-comps was switched to default-editor [3], it's better to
do the same and stay consistent.  If nothing else, it won't make the
reader stop and ponder if there's any real reason that it was done
differently for the fedora-toolbox image.

[1] fedora nano commit cf1ce689f154d0a1
    https://src.fedoraproject.org/rpms/nano/c/cf1ce689f154d0a1
    https://src.fedoraproject.org/rpms/nano/pull-request/1
    https://fedoraproject.org/wiki/Changes/UseNanoByDefault

[2] fedora nano commit e53ee57baa33a1d8
    https://src.fedoraproject.org/rpms/nano/c/e53ee57baa33a1d8
    https://src.fedoraproject.org/rpms/nano/pull-request/7
    https://bugzilla.redhat.com/show_bug.cgi?id=1955884

[3] fedora-comps commit 3496ed634cf452da
    https://pagure.io/fedora-comps/c/3496ed634cf452da
    https://pagure.io/fedora-comps/pull-request/663
    https://bugzilla.redhat.com/show_bug.cgi?id=1955884

https://pagure.io/fedora-kickstarts/pull-request/992
2023-10-06 01:03:57 +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