From e0813a6d6f7627cbe1ebb15c239d5495e27c5fcd Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 14 Feb 2023 23:15:51 +0100 Subject: [PATCH 01/10] Bump version to 39 for rawhide --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index f0c6372..0646c48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ -FROM registry.fedoraproject.org/fedora:38 +FROM registry.fedoraproject.org/fedora:39 -ENV NAME=fedora-toolbox VERSION=38 +ENV NAME=fedora-toolbox VERSION=39 LABEL com.github.containers.toolbox="true" \ com.redhat.component="$NAME" \ name="$NAME" \ From 77bb135f27016cc370effb13271666415435f16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Ravier?= Date: Thu, 16 Feb 2023 17:35:15 +0100 Subject: [PATCH 02/10] Use ARG instead of ENV to avoid leaking variables We only need those temporary variables for the container build and for the LABELS. We do not want to set those specific environment variables for the container environment itself. Using ARG instead of ENV lets us do that. See: https://github.com/containers/toolbox/issues/188 See: https://github.com/containers/docs/pull/15 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0646c48..c598741 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM registry.fedoraproject.org/fedora:39 -ENV NAME=fedora-toolbox VERSION=39 +ARG NAME=fedora-toolbox VERSION=39 LABEL com.github.containers.toolbox="true" \ com.redhat.component="$NAME" \ name="$NAME" \ From dfa4cee9046b6f6f08a56f81d097b9ca1a066833 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 1 Mar 2023 12:42:54 +0100 Subject: [PATCH 03/10] Attempt to fix the use of ARG ... because the image failed to build with: Error in plugin orchestrate_build: {"x86_64": {"docker_api": "ARG requires exactly one argument"}, "aarch64": {"docker_api": "Dockerfile parse error line 4: ARG requires exactly one argument"}}. Fallout from 77bb135f27016cc370effb13271666415435f16a --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c598741..b4d45b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM registry.fedoraproject.org/fedora:39 -ARG NAME=fedora-toolbox VERSION=39 +ARG NAME=fedora-toolbox +ARG VERSION=39 LABEL com.github.containers.toolbox="true" \ com.redhat.component="$NAME" \ name="$NAME" \ From 3c5e37aee9257ddde05bf483922c95ac9afdfd5f Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 9 Oct 2023 15:32:05 +0200 Subject: [PATCH 04/10] Reorder alphabetically Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [1], as part of the ToolbxReleaseBlocker Change [2] for Fedora 39. Hence this is only for the sake of completeness. Fallout from a6eb5426080ecbd528e49eb52dbf77d160de37ae [1] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/pull/1384 --- extra-packages | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra-packages b/extra-packages index f6cf387..a85268f 100644 --- a/extra-packages +++ b/extra-packages @@ -13,7 +13,6 @@ gvfs-client hostname iproute iputils -whois keyutils krb5-libs less @@ -42,6 +41,7 @@ vte-profile vulkan-loader wget which +whois words xorg-x11-xauth xz From 00dfa04654591f26e3d48f857eec48ed35ec9bfb Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 9 Oct 2023 15:27:01 +0200 Subject: [PATCH 05/10] Ensure that the manuals from extra-packages are available Until now, only the packages that are present in the fedora base image, and had their documentation stripped out, were being tested for the availability of documentation. There were no tests for the extra packages that get added to the base image to form the fedora-toolbox image. The util-linux and xz packages were picked as examples for these new tests. The xz package is a particularly good example because it has translations for its manuals. It can help test that the fedora-toolbox image is localized just like Fedora Silverblue and Workstation. Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [1], as part of the ToolbxReleaseBlocker Change [2] for Fedora 39. Hence this is only for the sake of completeness. [1] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/pull/1384 --- ensure-files | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ensure-files b/ensure-files index 9693d36..851baaa 100644 --- a/ensure-files +++ b/ensure-files @@ -13,5 +13,13 @@ /usr/share/man/ja/man8/rpm.8* /usr/share/man/man8/rpm.8* +/usr/share/man/man1/cal.1.* +/usr/share/man/man1/getopt.1* +/usr/share/man/man1/hexdump.1* + /usr/share/man/man1/kill.1* /usr/share/man/man8/mount.8* + +/usr/share/man/fr/man1/xz.1* +/usr/share/man/ko/man1/xz.1* +/usr/share/man/man1/xz.1* From 396de4320908225e8664b36576e8f475e61cd27d Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 20 Oct 2023 12:08:59 +0200 Subject: [PATCH 06/10] Add psmisc It's currently being pulled in as a dependency of iproute. However, since it's explicitly mentioned in the list of default packages on Fedora Silverblue and Workstation [1], it should be mentioned here too. The psmisc package marks the translations for its manuals with %lang(). Therefore, it's a very good example for testing that the fedora-toolbox image is localized just like Fedora Silverblue and Workstation. This is unlike the xz package, whose translations for manuals were added to the tests recently [2]. The xz package doesn't mark its translated manuals with %lang() [3], which means that they are going to get installed regardless of whether RPM has been configured to not install localization files or not. eg., through the %_install_langs macro. So, they aren't a good candidate for the tests until this is fixed. Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [4], as part of the ToolbxReleaseBlocker Change [5] for Fedora 39. Hence this is only for the sake of completeness. [1] fedora-comps commit e4ed54dfcc497fd0 https://pagure.io/fedora-comps/c/e4ed54dfcc497fd0 https://pagure.io/fedora-comps/pull-request/379 [2] Toolbx commit 20188a097a1a7a16 https://github.com/containers/toolbox/commit/20188a097a1a7a16 https://github.com/containers/toolbox/pull/1384 [3] https://src.fedoraproject.org/rpms/xz/pull-request/10 [4] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [5] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/pull/1390 --- ensure-files | 4 ++++ extra-packages | 1 + 2 files changed, 5 insertions(+) diff --git a/ensure-files b/ensure-files index 851baaa..1450f58 100644 --- a/ensure-files +++ b/ensure-files @@ -9,6 +9,10 @@ /usr/share/man/man1/gpg2.1* /usr/share/man/man7/gnupg2.7* +/usr/share/man/fr/man1/pstree.1* +/usr/share/man/ko/man1/pstree.1* +/usr/share/man/man1/pstree.1* + /usr/share/man/fr/man8/rpm.8* /usr/share/man/ja/man8/rpm.8* /usr/share/man/man8/rpm.8* diff --git a/extra-packages b/extra-packages index a85268f..f07bf58 100644 --- a/extra-packages +++ b/extra-packages @@ -28,6 +28,7 @@ openssh-clients passwd pigz procps-ng +psmisc rsync shadow-utils sudo From 04b26152ae1ab3eaaef6db085b4de220bac83afe Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 27 Oct 2023 20:13:27 +0200 Subject: [PATCH 07/10] Update the tests The translations for the RPM manuals were removed upstream during the RPM 4.19 development cycle [1]. So, replace them with rpm2cpio(8), which is another popular command shipped by the rpm package. Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [2], as part of the ToolbxReleaseBlocker Change [3] for Fedora 39. [1] RPM commit 4df74a9644b18136 https://github.com/rpm-software-management/rpm/commit/4df74a9644b18136 https://github.com/rpm-software-management/rpm/pull/2245 [2] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [3] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/pull/1391 --- ensure-files | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ensure-files b/ensure-files index 1450f58..f5266f5 100644 --- a/ensure-files +++ b/ensure-files @@ -13,9 +13,8 @@ /usr/share/man/ko/man1/pstree.1* /usr/share/man/man1/pstree.1* -/usr/share/man/fr/man8/rpm.8* -/usr/share/man/ja/man8/rpm.8* /usr/share/man/man8/rpm.8* +/usr/share/man/man8/rpm2cpio.8* /usr/share/man/man1/cal.1.* /usr/share/man/man1/getopt.1* From 5ff7fd359738f4b163adbbb3afb2825dad222cce Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 27 Oct 2023 20:24:24 +0200 Subject: [PATCH 08/10] Ensure that the useradd(8), etc. manuals are available The shadow-utils package has always been part of the fedora base image. It's explicitly listed in extra-packages as a safeguard against losing useradd(8) and usermod(8) by mistake because they are needed by the entry point of a Toolbx container [1]. Hence, the need to restore the shadow-utils documentation that was stripped out in the base image. Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [2], as part of the ToolbxReleaseBlocker Change [3] for Fedora 39. Hence this is only for the sake of completeness. [1] Toolbx commit c6772f0f112e8004 https://github.com/containers/toolbox/commit/c6772f0f112e8004 [2] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [3] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/pull/1394 --- ensure-files | 4 ++++ missing-docs | 1 + 2 files changed, 5 insertions(+) diff --git a/ensure-files b/ensure-files index f5266f5..69457a5 100644 --- a/ensure-files +++ b/ensure-files @@ -16,6 +16,10 @@ /usr/share/man/man8/rpm.8* /usr/share/man/man8/rpm2cpio.8* +/usr/share/man/fr/man8/useradd.8* +/usr/share/man/ja/man8/useradd.8* +/usr/share/man/man8/useradd.8* + /usr/share/man/man1/cal.1.* /usr/share/man/man1/getopt.1* /usr/share/man/man1/hexdump.1* diff --git a/missing-docs b/missing-docs index b06fdc3..887d9ba 100644 --- a/missing-docs +++ b/missing-docs @@ -14,6 +14,7 @@ pam python3 rpm sed +shadow-utils sudo systemd tar From 6c46178bbba38bec985bca4d45664a8b469052bb Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 1 Nov 2023 15:23:43 +0100 Subject: [PATCH 09/10] Ensure that documentation and translations are present This should finally ensure that the fedora-toolbox image doesn't have any package that had its content, such as documentation or translations, stripped out by the fedora base image. Until now, missing-docs had a hand-maintained list of packages that had their content stripped out by the fedora base image. These packages are reinstalled when building the fedora-toolbox image to restore the lost content. Unfortunately, this list was incomplete because it was only updated when someone noticed that something is missing. Now, the list is generated with: $ rpm --all --query --state --queryformat "PACKAGE: %{NAME}\n" ... to ensure that it's always complete. The existing built-in test to ensure that the desired files are actually present in the final image was extended to cover some of those that were absent. A new built-in test, based on the above rpm(1) command, was added as a fallback to ensure that the final image doesn't have any package with missing content. As suggested by Brian Campbell. Note that the fedora-toolbox OCI image for Fedora 39 onwards is no longer built using OpenShift Build Service from the Dockerfile here. It's now being built using Image Factory from fedora-kickstarts and pungi-fedora [1], as part of the ToolbxReleaseBlocker Change [2] for Fedora 39. Hence this is only for the sake of completeness. [1] https://pagure.io/fedora-kickstarts/ https://pagure.io/pungi-fedora/ [2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker https://github.com/containers/toolbox/issues/603 --- Dockerfile | 10 ++++++++ ensure-files | 13 ++++++++++ missing-docs | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) diff --git a/Dockerfile b/Dockerfile index b4d45b3..771edc2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,4 +41,14 @@ RUN ret_val=0; \ fi RUN rm /ensure-files +RUN broken_packages="$(rpm --all --query --state --queryformat "PACKAGE: %{NAME}\n" \ + | sed --quiet --regexp-extended '/PACKAGE: /{s/PACKAGE: // ; h ; b }; /^not installed/ { g; p }' \ + | uniq \ + | sort)"; \ + if [ "$broken_packages" != "" ]; then \ + echo "Packages with missing files:" >&2; \ + echo "$broken_packages" >&2; \ + false; \ + fi + RUN dnf clean all diff --git a/ensure-files b/ensure-files index 69457a5..1e39f69 100644 --- a/ensure-files +++ b/ensure-files @@ -6,13 +6,26 @@ /usr/share/man/man1/cp.1* /usr/share/man/man1/ls.1* +/usr/share/man/man8/dnf.8* +/usr/share/man/man5/dnf.conf.5* + +/usr/share/locale/de/LC_MESSAGES/elfutils.mo +/usr/share/locale/ja/LC_MESSAGES/elfutils.mo + /usr/share/man/man1/gpg2.1* /usr/share/man/man7/gnupg2.7* +/usr/share/info/nettle.info* + +/usr/share/locale/fr/LC_MESSAGES/popt.mo +/usr/share/locale/ja/LC_MESSAGES/popt.mo + /usr/share/man/fr/man1/pstree.1* /usr/share/man/ko/man1/pstree.1* /usr/share/man/man1/pstree.1* +/usr/share/info/history.info* + /usr/share/man/man8/rpm.8* /usr/share/man/man8/rpm2cpio.8* diff --git a/missing-docs b/missing-docs index 887d9ba..98f1395 100644 --- a/missing-docs +++ b/missing-docs @@ -1,21 +1,90 @@ acl +alternatives +audit-libs +authselect +authselect-libs bash +ca-certificates coreutils-common +cracklib +crypto-policies curl +cyrus-sasl-lib +dnf +dnf-data +elfutils-libelf +expat +file-libs +filesystem findutils gawk +glib2 +gmp gnupg2 +gnutls grep gzip +ima-evm-utils +keyutils-libs +krb5-libs +libarchive +libassuan +libblkid libcap +libcap-ng +libcomps +libdb +libdnf +libeconf +libevent +libffi +libgcrypt +libgomp +libgpg-error +libidn2 +libksba +libmodulemd +libpwquality +librepo +libsemanage +libsigsegv +libsolv +libssh +libtasn1 +libtirpc +libunistring +libverto +libxcrypt +libxml2 +libyaml +lz4-libs +mpfr +ncurses-base +nettle +openldap openssl p11-kit pam +pcre2-syntax +popt python3 +python3-libs +python3-rpm +readline rpm +rpm-sequoia sed +setup shadow-utils +sqlite-libs sudo systemd +systemd-libs tar +tpm2-tss +tzdata util-linux-core +vim-minimal +yum +zchunk-libs +zlib From 8930a119688067cc6037334817456acfae7651ca Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 8 Dec 2023 00:13:24 +0100 Subject: [PATCH 10/10] Retire --- Dockerfile | 54 ------------------------------ README.md | 44 ------------------------ dead.container | 9 +++++ ensure-files | 45 ------------------------- extra-packages | 49 --------------------------- missing-docs | 90 -------------------------------------------------- 6 files changed, 9 insertions(+), 282 deletions(-) delete mode 100644 Dockerfile delete mode 100644 README.md create mode 100644 dead.container delete mode 100644 ensure-files delete mode 100644 extra-packages delete mode 100644 missing-docs diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 771edc2..0000000 --- a/Dockerfile +++ /dev/null @@ -1,54 +0,0 @@ -FROM registry.fedoraproject.org/fedora:39 - -ARG NAME=fedora-toolbox -ARG VERSION=39 -LABEL com.github.containers.toolbox="true" \ - com.redhat.component="$NAME" \ - name="$NAME" \ - version="$VERSION" \ - usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Fedora toolbox containers" \ - maintainer="Debarshi Ray " - -COPY README.md / - -RUN rm /etc/rpm/macros.image-language-conf -RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf - -RUN dnf -y upgrade -RUN dnf -y swap coreutils-single coreutils-full -RUN dnf -y swap glibc-minimal-langpack glibc-all-langpacks - -COPY missing-docs / -RUN dnf -y reinstall $(/dev/null; then \ - echo "$file: No such file or directory" >&2; \ - ret_val=1; \ - break; \ - fi; \ - done &2; \ - echo "$broken_packages" >&2; \ - false; \ - fi - -RUN dnf clean all diff --git a/README.md b/README.md deleted file mode 100644 index 6f9943b..0000000 --- a/README.md +++ /dev/null @@ -1,44 +0,0 @@ -[Toolbox](https://containertoolbx.org/) is a tool for Linux, which allows the -use of interactive command line environments for development and -troubleshooting the host operating system, without having to install software -on the host. It is built on top of [Podman](https://podman.io/) and other -standard container technologies from [OCI](https://opencontainers.org/). - -Toolbox environments have seamless access to the user's home directory, -the Wayland and X11 sockets, networking (including Avahi), removable devices -(like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the -udev database, etc.. - -This is particularly useful on -[OSTree](https://ostree.readthedocs.io/en/latest/) based operating systems like -[Fedora CoreOS](https://coreos.fedoraproject.org/) and -[Silverblue](https://silverblue.fedoraproject.org/). The intention of these -systems is to discourage installation of software on the host, and instead -install software as (or in) containers — they mostly don't even have package -managers like DNF or YUM. This makes it difficult to set up a development -environment or troubleshoot the operating system in the usual way. - -Toolbox solves this problem by providing a fully mutable container within -which one can install their favourite development and troubleshooting tools, -editors and SDKs. For example, it's possible to do `yum install ansible` -without affecting the base operating system. - -However, this tool doesn't *require* using an OSTree based system. It works -equally well on Fedora Workstation and Server, and that's a useful way to -incrementally adopt containerization. - -The toolbox environment is based on an [OCI](https://www.opencontainers.org/) -image. On Fedora this is the `fedora-toolbox` image. This image is used to -create a toolbox container that offers the interactive command line -environment. - -Note that Toolbox makes no promise about security beyond what's already -available in the usual command line environment on the host that everybody is -familiar with. - - -## Installation & Use - -See our guides on -[installing & getting started](https://containertoolbx.org/install/) with -Toolbox and [Linux distro support](https://containertoolbx.org/distros/). diff --git a/dead.container b/dead.container new file mode 100644 index 0000000..ac43a2a --- /dev/null +++ b/dead.container @@ -0,0 +1,9 @@ +The fedora-toolbox OCI image for Fedora 39 onwards is no longer built using +OpenShift Build Service from the Dockerfile here. It's now being built using +Image Factory from fedora-kickstarts and pungi-fedora [1], as part of the +ToolbxReleaseBlocker Change [2] for Fedora 39. + +[1] https://pagure.io/fedora-kickstarts/ + https://pagure.io/pungi-fedora/ + +[2] https://fedoraproject.org/wiki/Changes/ToolbxReleaseBlocker diff --git a/ensure-files b/ensure-files deleted file mode 100644 index 1e39f69..0000000 --- a/ensure-files +++ /dev/null @@ -1,45 +0,0 @@ -/usr/share/man/man1/bash.1* -/usr/share/man/man1/cd.1* -/usr/share/man/man1/export.1* - -/usr/share/man/man1/cat.1* -/usr/share/man/man1/cp.1* -/usr/share/man/man1/ls.1* - -/usr/share/man/man8/dnf.8* -/usr/share/man/man5/dnf.conf.5* - -/usr/share/locale/de/LC_MESSAGES/elfutils.mo -/usr/share/locale/ja/LC_MESSAGES/elfutils.mo - -/usr/share/man/man1/gpg2.1* -/usr/share/man/man7/gnupg2.7* - -/usr/share/info/nettle.info* - -/usr/share/locale/fr/LC_MESSAGES/popt.mo -/usr/share/locale/ja/LC_MESSAGES/popt.mo - -/usr/share/man/fr/man1/pstree.1* -/usr/share/man/ko/man1/pstree.1* -/usr/share/man/man1/pstree.1* - -/usr/share/info/history.info* - -/usr/share/man/man8/rpm.8* -/usr/share/man/man8/rpm2cpio.8* - -/usr/share/man/fr/man8/useradd.8* -/usr/share/man/ja/man8/useradd.8* -/usr/share/man/man8/useradd.8* - -/usr/share/man/man1/cal.1.* -/usr/share/man/man1/getopt.1* -/usr/share/man/man1/hexdump.1* - -/usr/share/man/man1/kill.1* -/usr/share/man/man8/mount.8* - -/usr/share/man/fr/man1/xz.1* -/usr/share/man/ko/man1/xz.1* -/usr/share/man/man1/xz.1* diff --git a/extra-packages b/extra-packages deleted file mode 100644 index f07bf58..0000000 --- a/extra-packages +++ /dev/null @@ -1,49 +0,0 @@ -bash-completion -bc -bzip2 -diffutils -dnf-plugins-core -findutils -flatpak-spawn -fpaste -git -gnupg2 -gnupg2-smime -gvfs-client -hostname -iproute -iputils -keyutils -krb5-libs -less -lsof -man-db -man-pages -mesa-dri-drivers -mesa-vulkan-drivers -mtr -nano-default-editor -nss-mdns -openssh-clients -passwd -pigz -procps-ng -psmisc -rsync -shadow-utils -sudo -tcpdump -time -traceroute -tree -unzip -util-linux -vte-profile -vulkan-loader -wget -which -whois -words -xorg-x11-xauth -xz -zip diff --git a/missing-docs b/missing-docs deleted file mode 100644 index 98f1395..0000000 --- a/missing-docs +++ /dev/null @@ -1,90 +0,0 @@ -acl -alternatives -audit-libs -authselect -authselect-libs -bash -ca-certificates -coreutils-common -cracklib -crypto-policies -curl -cyrus-sasl-lib -dnf -dnf-data -elfutils-libelf -expat -file-libs -filesystem -findutils -gawk -glib2 -gmp -gnupg2 -gnutls -grep -gzip -ima-evm-utils -keyutils-libs -krb5-libs -libarchive -libassuan -libblkid -libcap -libcap-ng -libcomps -libdb -libdnf -libeconf -libevent -libffi -libgcrypt -libgomp -libgpg-error -libidn2 -libksba -libmodulemd -libpwquality -librepo -libsemanage -libsigsegv -libsolv -libssh -libtasn1 -libtirpc -libunistring -libverto -libxcrypt -libxml2 -libyaml -lz4-libs -mpfr -ncurses-base -nettle -openldap -openssl -p11-kit -pam -pcre2-syntax -popt -python3 -python3-libs -python3-rpm -readline -rpm -rpm-sequoia -sed -setup -shadow-utils -sqlite-libs -sudo -systemd -systemd-libs -tar -tpm2-tss -tzdata -util-linux-core -vim-minimal -yum -zchunk-libs -zlib