From e0813a6d6f7627cbe1ebb15c239d5495e27c5fcd Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 14 Feb 2023 23:15:51 +0100 Subject: [PATCH 01/25] 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/25] 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/25] 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 4245e2cfc7b12d5978e3a7c29eed72818718d6fd 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 04/25] 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 f0c6372..0803771 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM registry.fedoraproject.org/fedora:38 -ENV NAME=fedora-toolbox VERSION=38 +ARG NAME=fedora-toolbox VERSION=38 LABEL com.github.containers.toolbox="true" \ com.redhat.component="$NAME" \ name="$NAME" \ From 97dbcea49143f9d35a83a6085e2e7dccfb5f3b27 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 1 Mar 2023 12:42:54 +0100 Subject: [PATCH 05/25] 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 4245e2cfc7b12d5978e3a7c29eed72818718d6fd --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0803771..f99e2dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,7 @@ FROM registry.fedoraproject.org/fedora:38 -ARG NAME=fedora-toolbox VERSION=38 +ARG NAME=fedora-toolbox +ARG VERSION=38 LABEL com.github.containers.toolbox="true" \ com.redhat.component="$NAME" \ name="$NAME" \ From 583f94d9ceaaaccf21d544e17fa5061f4f1cf6e8 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 9 Oct 2023 15:32:05 +0200 Subject: [PATCH 06/25] Reorder alphabetically Fallout from a6eb5426080ecbd528e49eb52dbf77d160de37ae 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 12fb9147861e8bca6744d562eeb3a99d878c58fb Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 9 Oct 2023 15:27:01 +0200 Subject: [PATCH 07/25] 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. 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 3c5e37aee9257ddde05bf483922c95ac9afdfd5f Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 9 Oct 2023 15:32:05 +0200 Subject: [PATCH 08/25] 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 09/25] 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 10/25] 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 ef464757848b48cd5d0d941758a785ac45b95a9a Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 20 Oct 2023 12:08:59 +0200 Subject: [PATCH 11/25] 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. No need to issue a build just for this. [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 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 12/25] 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 13/25] 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 5797ed67a345e71fb6f03f6ad8862366e3ed67d2 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 27 Oct 2023 20:24:24 +0200 Subject: [PATCH 14/25] 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. [1] Toolbx commit c6772f0f112e8004 https://github.com/containers/toolbox/commit/c6772f0f112e8004 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 1450f58..411f436 100644 --- a/ensure-files +++ b/ensure-files @@ -17,6 +17,10 @@ /usr/share/man/ja/man8/rpm.8* /usr/share/man/man8/rpm.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 2e826371c66697c35256a4b79076ad3c1b4c0876 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 1 Nov 2023 15:23:43 +0100 Subject: [PATCH 15/25] 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. https://github.com/containers/toolbox/issues/603 --- Dockerfile | 10 ++++++++ ensure-files | 13 ++++++++++ missing-docs | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+) diff --git a/Dockerfile b/Dockerfile index f99e2dc..51b2bc5 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 411f436..f1bdcf6 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/fr/man8/rpm.8* /usr/share/man/ja/man8/rpm.8* /usr/share/man/man8/rpm.8* diff --git a/missing-docs b/missing-docs index 887d9ba..e1c7763 100644 --- a/missing-docs +++ b/missing-docs @@ -1,21 +1,91 @@ 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 +gpgme grep gzip +ima-evm-utils +keyutils-libs +krb5-libs +libarchive +libassuan +libblkid libcap +libcap-ng +libdb +libdnf +libeconf +libevent +libffi +libgcrypt +libgomp +libgpg-error +libidn2 +libksba +libmodulemd +libpwquality +librepo +libsemanage +libsigsegv +libsolv +libssh +libtasn1 +libtirpc +libunistring +libunistring1.0 +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 6c46178bbba38bec985bca4d45664a8b469052bb Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 1 Nov 2023 15:23:43 +0100 Subject: [PATCH 16/25] 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 17/25] 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 From bd32a3502ab89db9fcefdb9e212b73d4058e9ef7 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 1 Feb 2024 19:20:59 +0100 Subject: [PATCH 18/25] Unbreak OSTree URL No need to issue a build just for this. https://github.com/containers/toolbox/issues/1417 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f9943b..a66952b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ the Wayland and X11 sockets, networking (including Avahi), removable devices udev database, etc.. This is particularly useful on -[OSTree](https://ostree.readthedocs.io/en/latest/) based operating systems like +[OSTree](https://ostreedev.github.io/ostree/) 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 From b915fe59914bcd2e434a0280f77ca84b7d34de39 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 1 Feb 2024 19:22:10 +0100 Subject: [PATCH 19/25] Add cracklib-dicts Currently, the libpwquality package mentions cracklib-dicts as a weak dependency [1,2]. However, the libpwquality package is part of the fedora base image, which doesn't include weak dependencies [3], and that leads to cracklib-dicts going missing. The absence of the cracklib-dicts package causes various operations that go through libpwquality (eg., pwmake(1)) to fail [1], and sometimes in confusing ways [4]. [1] Fedora libpwquality commit f84a5e3ba6c166e5 https://src.fedoraproject.org/rpms/libpwquality/c/f84a5e3ba6c166e5 https://bugzilla.redhat.com/show_bug.cgi?id=2158891 [2] Fedora libpwquality commit 303154338d6d3650 https://src.fedoraproject.org/rpms/libpwquality/c/303154338d6d3650 https://bugzilla.redhat.com/show_bug.cgi?id=2006063 [3] fedora-kickstarts commit 1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/c/1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/pull-request/551 https://pagure.io/releng/issue/8530 [4] https://github.com/libpwquality/libpwquality/pull/85 https://github.com/containers/toolbox/issues/1351 --- ensure-files | 3 +++ extra-packages | 1 + 2 files changed, 4 insertions(+) diff --git a/ensure-files b/ensure-files index f1bdcf6..968d657 100644 --- a/ensure-files +++ b/ensure-files @@ -6,6 +6,9 @@ /usr/share/man/man1/cp.1* /usr/share/man/man1/ls.1* +/usr/share/cracklib/cracklib-small.pwd* +/usr/share/cracklib/pw_dict.pwd* + /usr/share/man/man8/dnf.8* /usr/share/man/man5/dnf.conf.5* diff --git a/extra-packages b/extra-packages index f07bf58..88d57a6 100644 --- a/extra-packages +++ b/extra-packages @@ -1,6 +1,7 @@ bash-completion bc bzip2 +cracklib-dicts diffutils dnf-plugins-core findutils From c36ca58a44f947077b7c62e17d7b4fe4cd1b5797 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 1 Feb 2024 20:02:49 +0100 Subject: [PATCH 20/25] Update missing-docs Otherwise the image fails to build with: $ podman build images/fedora/f38 ... Packages with missing files: libcomps ... https://github.com/containers/toolbox/issues/1351 --- missing-docs | 1 + 1 file changed, 1 insertion(+) diff --git a/missing-docs b/missing-docs index e1c7763..abb7256 100644 --- a/missing-docs +++ b/missing-docs @@ -33,6 +33,7 @@ libassuan libblkid libcap libcap-ng +libcomps libdb libdnf libeconf From 9f1a9c5971b2b589b1472c997d8369444c6607d2 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Feb 2024 02:25:27 +0100 Subject: [PATCH 21/25] Drop one "o" and rename the project as "Toolbx" This is meant to make the project more searchable on the Internet. More and more people have been pointing out that "toolbox" is terribly difficult to search for, and it's impossible to find any decent Internet real estate by that name. Some exceptions: * The code repository is still https://github.com/containers/toolbox. It will be renamed after giving a heads-up to other contributors. * The name of the binary is still 'toolbox'. The name is embedded into existing Toolbx containers as their entry point, which is bind mounted from the host operating system when the containers are started. Trivially renaming the binary will prevent these containers from starting. * The label used to identify Toolbx containers and images is still called com.github.containers.toolbox. There are many existing Toolbx containers, and many Toolbx images beyond the control of the Toolbx project that use this label to identity themselves. Simply renaming the label will prevent these containers and images from being recognized. * The names of the built-in Toolbx images still retain the word 'toolbox'. Images under the new name need to be published on the OCI registries and the toolbox(1) binary needs to be taught to handle both old and new names, wherever necessary, for backwards compatibility. https://github.com/containers/toolbox/issues/1399 --- Dockerfile | 2 +- README.md | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 51b2bc5..234fc7c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ LABEL com.github.containers.toolbox="true" \ name="$NAME" \ version="$VERSION" \ usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Fedora toolbox containers" \ + summary="Base image for creating Fedora Toolbx containers" \ maintainer="Debarshi Ray " COPY README.md / diff --git a/README.md b/README.md index a66952b..feb1d78 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ -[Toolbox](https://containertoolbx.org/) is a tool for Linux, which allows the +[Toolbx](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, +Toolbx 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.. @@ -18,7 +18,7 @@ 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 +Toolbx 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. @@ -27,12 +27,12 @@ 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/) +The Toolbx 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 +create a Toolbx container that offers the interactive command line environment. -Note that Toolbox makes no promise about security beyond what's already +Note that Toolbx makes no promise about security beyond what's already available in the usual command line environment on the host that everybody is familiar with. @@ -41,4 +41,4 @@ familiar with. See our guides on [installing & getting started](https://containertoolbx.org/install/) with -Toolbox and [Linux distro support](https://containertoolbx.org/distros/). +Toolbx and [Linux distro support](https://containertoolbx.org/distros/). From d7fcb30a3d9e58f51f0f7673086a2c073bc32d5e Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Feb 2024 02:30:37 +0100 Subject: [PATCH 22/25] Add translations for gawk Currently, the gawk package mentions gawk-all-langpacks, which contains the translations, as a weak dependency [1]. However, the gawk package is part of the fedora base image, which doesn't include weak dependencies [2], and that leads to gawk-all-langpacks going missing. [1] Fedora gawk commit ef1d4dbefb5ccbe6 https://src.fedoraproject.org/rpms/gawk/c/ef1d4dbefb5ccbe6 [2] fedora-kickstarts commit 1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/c/1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/pull-request/551 https://pagure.io/releng/issue/8530 https://github.com/containers/toolbox/pull/1456 --- ensure-files | 3 +++ extra-packages | 1 + 2 files changed, 4 insertions(+) diff --git a/ensure-files b/ensure-files index 968d657..b62de92 100644 --- a/ensure-files +++ b/ensure-files @@ -15,6 +15,9 @@ /usr/share/locale/de/LC_MESSAGES/elfutils.mo /usr/share/locale/ja/LC_MESSAGES/elfutils.mo +/usr/share/locale/fr/LC_MESSAGES/gawk.mo +/usr/share/locale/ko/LC_MESSAGES/gawk.mo + /usr/share/man/man1/gpg2.1* /usr/share/man/man7/gnupg2.7* diff --git a/extra-packages b/extra-packages index 88d57a6..e272e22 100644 --- a/extra-packages +++ b/extra-packages @@ -7,6 +7,7 @@ dnf-plugins-core findutils flatpak-spawn fpaste +gawk-all-langpacks git gnupg2 gnupg2-smime From 209968478ff645fb0ecbf40ab4bee13ee694cb97 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Feb 2024 02:44:30 +0100 Subject: [PATCH 23/25] Tweak the 'summary' label The concept of a 'base' image for creating Toolbx containers hasn't existed since Toolbx 0.0.10, when the Buildah dependency and the user-specific customized image were dropped [1]. That was a long time ago. Toolbx containers created before that were never supported by the Go implementation [2]. Therefore, it's time to update the terminology. [1] Toolbx commit 8b84b5e4604921fa https://github.com/containers/toolbox/commit/8b84b5e4604921fa https://github.com/containers/toolbox/pull/160 [2] Toolbx commit 238f2451e7d7d54a https://github.com/containers/toolbox/commit/238f2451e7d7d54a https://github.com/containers/toolbox/pull/318 https://github.com/containers/toolbox/pull/1456 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 234fc7c..bb9c1dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ LABEL com.github.containers.toolbox="true" \ name="$NAME" \ version="$VERSION" \ usage="This image is meant to be used with the toolbox command" \ - summary="Base image for creating Fedora Toolbx containers" \ + summary="Image for creating Fedora Toolbx containers" \ maintainer="Debarshi Ray " COPY README.md / From 0b4920fbbd34f0ba901168d94b9ac48ae44f301f Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Feb 2024 02:46:58 +0100 Subject: [PATCH 24/25] Tweak the 'usage' label https://github.com/containers/toolbox/pull/1456 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index bb9c1dc..c860a7d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ 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" \ + usage="This image is meant to be used with the toolbox(1) command" \ summary="Image for creating Fedora Toolbx containers" \ maintainer="Debarshi Ray " From e30b5ff22cd567894b409308d0ec3e345d11b860 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Feb 2024 02:48:32 +0100 Subject: [PATCH 25/25] Add all the iconv converter modules for glibc Currently, the glibc package mentions glibc-gconv-extra, which contains the iconv converter modules that are not commonly used, as a weak dependency [1]. However, the glibc package is part of the fedora base image, which doesn't include weak dependencies [2], and that leads to glibc-gconv-extra going missing. [1] Fedora glibc commit 51ca5d3334c3cd35 https://src.fedoraproject.org/rpms/glibc/c/51ca5d3334c3cd35 https://src.fedoraproject.org/rpms/glibc/pull-request/36 https://bugzilla.redhat.com/show_bug.cgi?id=1812191 [2] fedora-kickstarts commit 1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/c/1c39c0adb0d44866 https://pagure.io/fedora-kickstarts/pull-request/551 https://pagure.io/releng/issue/8530 https://github.com/containers/toolbox/pull/1456 --- extra-packages | 1 + 1 file changed, 1 insertion(+) diff --git a/extra-packages b/extra-packages index e272e22..488124f 100644 --- a/extra-packages +++ b/extra-packages @@ -9,6 +9,7 @@ flatpak-spawn fpaste gawk-all-langpacks git +glibc-gconv-extra gnupg2 gnupg2-smime gvfs-client