fedora-kiwi-descriptions/teams/cloud/container.xml

246 lines
8.7 KiB
XML
Raw Normal View History

<image>
<profiles>
<profile name="ContainerCore" description="Container core packages">
</profile>
<profile name="Container-Base-Generic-Minimal" description="Generic Minimal Base Container Image">
<requires profile="ContainerCore"/>
</profile>
<profile name="Container-Base-Generic" description="Generic Base Container Image">
<requires profile="ContainerCore"/>
</profile>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<profile name="Container-Toolbox" description="Toolbox Container Image"/>
</profiles>
<preferences profiles="Container-Base-Generic">
<type image="oci">
<containerconfig
name="fedora"
tag="rawhide"
maintainer="Fedora Project Contributors &lt;devel@lists.fedoraproject.org&gt;"
>
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Fedora Project"/>
<label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/>
<label name="org.opencontainers.image.license" value="MIT"/>
<label name="org.opencontainers.image.name" value="fedora"/>
<label name="org.opencontainers.image.version" value="rawhide"/>
<!-- Legacy attributes for backward compatibility -->
<label name="vendor" value="Fedora Project"/>
<label name="license" value="MIT"/>
<label name="name" value="fedora"/>
<label name="version" value="rawhide"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<preferences profiles="Container-Base-Generic-Minimal">
<type image="oci">
<containerconfig
name="fedora-minimal"
tag="rawhide"
maintainer="Fedora Project Contributors &lt;devel@lists.fedoraproject.org&gt;"
>
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Fedora Project"/>
<label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/>
<label name="org.opencontainers.image.license" value="MIT"/>
<label name="org.opencontainers.image.name" value="fedora-minimal"/>
<label name="org.opencontainers.image.version" value="rawhide"/>
<!-- Legacy attributes for backward compatibility -->
<label name="vendor" value="Fedora Project"/>
<label name="license" value="MIT"/>
<label name="name" value="fedora-minimal"/>
<label name="version" value="rawhide"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<preferences profiles="Container-Toolbox">
<type image="oci">
<containerconfig
name="fedora-toolbox"
tag="rawhide"
maintainer="Fedora Project Contributors &lt;devel@lists.fedoraproject.org&gt;"
>
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Fedora Project"/>
<label name="org.opencontainers.image.url" value="https://fedoraproject.org/"/>
<label name="org.opencontainers.image.license" value="MIT"/>
<label name="org.opencontainers.image.name" value="fedora-toolbox"/>
<label name="org.opencontainers.image.version" value="rawhide"/>
<label name="com.github.containers.toolbox" value="true"/>
<!-- Legacy attributes for backward compatibility -->
<label name="vendor" value="Fedora Project"/>
<label name="license" value="MIT"/>
<label name="name" value="fedora-toolbox"/>
<label name="version" value="rawhide"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>false</rpm-locale-filtering>
<rpm-excludedocs>false</rpm-excludedocs>
</preferences>
<packages type="bootstrap" profiles="ContainerCore">
<ignore name="dosfstools"/>
<ignore name="e2fsprogs"/>
<ignore name="fuse-libs"/>
<ignore name="gnupg2-smime"/>
<ignore name="libss"/> <!-- used by e2fsprogs -->
<ignore name="kernel"/>
<ignore name="*-firmware"/>
<ignore name="geolite2-city"/>
<ignore name="geolite2-country"/>
<ignore name="pinentry"/>
<ignore name="shared-mime-info"/>
<ignore name="pinentry"/>
<ignore name="trousers"/>
<ignore name="xkeyboard-config"/>
<ignore name="grubby"/>
<ignore name="langpacks-en_GB"/>
<!-- https://bugzilla.redhat.com/show_bug.cgi?id=1951111 -->
<ignore name="util-linux"/>
<ignore name="sssd-client"/>
<package name="fedora-release-container"/>
<package name="bash"/>
<package name="coreutils"/>
<package name="rpm"/>
</packages>
<packages type="bootstrap" profiles="Container-Base-Generic-Minimal">
<ignore name="glibc-langpack-en"/>
<ignore name="langpacks-en"/>
<ignore name="tzdata"/>
<package name="microdnf"/>
<package name="glibc-minimal-langpack"/>
</packages>
<packages type="bootstrap" profiles="Container-Base-Generic">
<ignore name="glibc-langpack-en"/>
<ignore name="langpacks-en"/>
<package name="bzip2"/>
<package name="gzip"/>
<package name="sudo"/>
<package name="rootfiles"/>
<package name="tar"/> <!-- https://bugzilla.redhat.com/show_bug.cgi?id=1409920 -->
<package name="vim-minimal"/>
<package name="dnf"/>
<package name="dnf-yum"/> <!-- https://pagure.io/fesco/issue/1312#comment-30991 -->
<package name="glibc-minimal-langpack"/>
<package name="tzdata"/>
<package name="xz"/>
<package name="zstd"/>
</packages>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<packages type="bootstrap" patternType="plusRecommended" profiles="Container-Toolbox">
<ignore name="dosfstools"/>
<ignore name="e2fsprogs"/>
<ignore name="*-firmware"/>
<ignore name="fuse-libs"/>
<ignore name="geolite2-city"/>
<ignore name="geolite2-country"/>
<ignore name="grubby"/>
<ignore name="kernel"/>
<ignore name="libss"/> <!-- used by e2fsprogs -->
<ignore name="pinentry"/>
<ignore name="shared-mime-info"/>
<ignore name="sssd-client"/>
<!-- This is a weak dep of systemd, we do not want this in the container;
see: https://github.com/containers/toolbox/issues/1410 -->
<ignore name="systemd-resolved"/>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<ignore name="trousers"/>
<ignore name="xkeyboard-config"/>
<package name="acl"/>
<package name="bash"/>
<package name="bash-completion"/>
<package name="bc"/>
<package name="bzip2"/>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<package name="coreutils"/>
<package name="coreutils-common"/>
<package name="cpio"/>
<package name="curl"/>
<package name="default-editor"/>
<package name="diffutils"/>
<package name="dnf"/>
<package name="dnf-yum"/> <!-- https://pagure.io/fesco/issue/1312#comment-30991 -->
<package name="dnf-plugins-core"/>
<package name="fedora-release-toolbx"/>
<package name="file"/>
<package name="findutils"/>
<package name="flatpak-spawn"/>
<package name="fpaste"/>
<package name="gawk"/>
<package name="git"/>
<package name="glibc-all-langpacks"/>
<package name="gnupg2"/>
<package name="gnupg2-smime"/>
<package name="grep"/>
<package name="gvfs-client"/>
<package name="gzip"/>
<package name="hostname"/>
<package name="iproute"/>
<package name="iputils"/>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<package name="kbd-misc"/>
<package name="keyutils"/>
<package name="krb5-libs"/>
teams/cloud/container: Add langpacks-en to Toolbx Fedora Silverblue and Workstation, and so the Kickstart equivalent of the fedora-toolbox OCI image, contain langpacks-en by default. It's absence leads to a significant difference in the list of RPMs, which is better to avoid so close to the Fedora 40 final release: -abattis-cantarell-vf-fonts-0.301-12.fc40.noarch -default-fonts-core-sans-4.0-12.fc40.noarch -fonts-filesystem-2.0.5-14.fc40.noarch -google-noto-fonts-common-20240301-3.fc41.noarch -google-noto-sans-mono-vf-fonts-20240301-3.fc41.noarch -google-noto-sans-vf-fonts-20240301-3.fc41.noarch -google-noto-serif-vf-fonts-20240301-3.fc41.noarch -hunspell-1.7.2-7.fc40.x86_64 -hunspell-en-0.20201207-9.fc40.noarch -hunspell-en-GB-0.20201207-9.fc40.noarch -hunspell-en-US-0.20201207-9.fc40.noarch -hunspell-filesystem-1.7.2-7.fc40.x86_64 -langpacks-core-en-4.0-12.fc40.noarch -langpacks-fonts-en-4.0-12.fc40.noarch -liberation-fonts-common-2.1.5-9.fc40.noarch -liberation-mono-fonts-2.1.5-9.fc40.noarch -liberation-sans-fonts-2.1.5-9.fc40.noarch -liberation-serif-fonts-2.1.5-9.fc40.noarch -sil-mingzat-fonts-1.100-5.fc40.noarch The plan is to investigate if Toolbx containers can use some of these packages from the host. However, that needs to be co-ordinated with the toolbox(1) binary, and has to be a done in a way that works across a wide variety of container and host combinations. Until then, it's safer to retain the status quo. https://pagure.io/fedora-kiwi-descriptions/pull-request/37
2024-04-02 10:43:26 +00:00
<package name="langpacks-en"/>
<package name="less"/>
<package name="libcap"/>
<package name="lsof"/>
<package name="man-db"/>
<package name="man-pages"/>
<package name="mesa-dri-drivers"/>
<package name="mesa-va-drivers" arch="aarch64,ppc64le,x86_64"/> <!-- doesn't exist in s390x -->
<package name="mesa-vulkan-drivers"/>
<package name="mtr"/>
<package name="nss-mdns"/>
<package name="openssh-clients"/>
<package name="openssl"/>
<package name="p11-kit"/>
<package name="pam"/>
<package name="pigz"/>
<package name="procps-ng"/>
<package name="psmisc"/>
<package name="python3"/>
<package name="rootfiles"/>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<package name="rpm"/>
<package name="rsync"/>
<package name="sed"/>
<package name="shadow-utils"/>
<package name="sudo"/>
<package name="tar"/> <!-- https://bugzilla.redhat.com/show_bug.cgi?id=1409920 -->
<package name="tcpdump"/>
<package name="time"/>
<package name="traceroute"/>
<package name="tree"/>
<package name="tzdata"/>
<package name="unzip"/>
<package name="util-linux"/>
<package name="util-linux-core"/>
<package name="vim-minimal"/>
<package name="vte-profile"/>
<package name="vulkan-loader"/>
<package name="wget"/>
<package name="which"/>
<package name="whois"/>
<package name="words"/>
<package name="xorg-x11-xauth"/>
<package name="xz"/>
<package name="zip"/>
</packages>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<packages type="uninstall" profiles="Container-Toolbox">
<package name="dracut"/>
teams/cloud/container: Install languages & weak dependencies for Toolbx The Container/Dockerfile and Kickstart equivalents of the fedora-toolbox OCI images installed all locale definitions, translations, and weak dependencies (barring exceptions) [1,2]. In fact, the Containerfile tried very hard to restore any content that was stripped out by the fedora base image. Hence, the KIWI descriptions should do the same. Sometimes, like in the case of the gawk and gawk-all-langpacks RPMs, skipping weak dependencies also strips out translations. The Kickstart files did this by decoupling fedora-container-common.ks from fedora-container-common.ks [3], and this is the KIWI equivalent of the same change. The separate 'packages' elements of types 'bootstrap' and 'image' [4] are no longer needed and have been fused into one. This avoids the need to specify the 'ignore' child elements separately. This change has two workarounds that deserve mention. First, enabling weak dependencies for the packages that used to come from the ContainerCore profile pulls in systemd, and config.xml specifies a keytable for all the KIWI descriptions. These two combined makes KIWI try to set the keymap/keytable using systemd-firstboot(1), and it fails the build with: [ INFO ]: Setting up keytable: [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --help] [ DEBUG ]: EXEC: [chroot /path/to/image-root systemd-firstboot --keymap=us] [ DEBUG ]: EXEC: Failed with stderr: Keymap us is not installed. , stdout: (no output on stdout) [ ERROR ]: KiwiCommandError: chroot: stderr: Keymap us is not installed. , stdout: (no output on stdout) This has been worked around by making the keymaps available during the image build through the kbd-misc RPM, which is later uninstalled. Second, KIWI isn't passing the 'ignore' child elements to DNF [5], and hence they currently have no effect. This has been worked around by uninstalling the RPMs later. Some noteworthy changes in the list of RPMs in the fedora-toolbox image after this change: ... +gawk-all-langpacks-5.3.0-3.fc40.x86_64 ... -glibc-2.39.9000-5.fc41.i686 -glibc-gconv-extra-2.39.9000-5.fc41.i686 -glibc-minimal-langpack-2.39.9000-5.fc41.x86_64 ... -libgcc-14.0.1-0.8.fc41.i686 ... +python-unversioned-command-3.12.2-2.fc41.noarch They are all in line with the latest Kickstart equivalent of the image. [1] https://src.fedoraproject.org/container/fedora-toolbox https://github.com/containers/toolbox/tree/main/images/fedora [2] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks [3] fedora-kickstarts commit 30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/c/30f76d387d9e7f5c https://pagure.io/fedora-kickstarts/pull-request/1002 [4] https://osinside.github.io/kiwi/concept_and_workflow/packages.html [5] https://github.com/OSInside/kiwi/issues/2499 https://pagure.io/fedora-kiwi-descriptions/pull-request/21
2024-03-08 16:21:42 +00:00
<package name="pinentry"/>
<package name="systemd-resolved"/>
<package name="xkeyboard-config"/>
</packages>
</image>