| Age | Commit message (Collapse) | Author |
|
See https://src.fedoraproject.org/rpms/mesa/c/f747343d109d2b691d3abcf4649cd10ad42d6578?branch=rawhide .
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
|
The discussion
in https://discussion.fedoraproject.org/t/f44-change-proposal-containerimageslabels-selfcontained/179010
and opinions in https://pagure.io/fesco/issue/3543
suggested making a clear cut and removing the legacy labels as well.
Reference: https://fedoraproject.org/wiki/Changes/ContainerImagesLabels
|
|
Match the org.opencontainers.image.* labels to the
https://specs.opencontainers.org/image-spec/annotations/.
Reference: https://fedoraproject.org/wiki/Changes/ContainerImagesLabels
Fixes https://pagure.io/fedora-kiwi-descriptions/issue/250.
|
|
Since`rootfiles` now uses systemd-tmpfiles to install dotfiles under
root folder instead of copying.
|
|
Fixes https://github.com/fedora-cloud/docker-brew-fedora/issues/119
Signed-off-by: Clement Verna <cverna@tutatnota.com>
|
|
This will be used by toolbox(1) to ensure that the certificates from
certificate authorities (or CAs) that are available inside a Toolbx
container are kept synchronized with the host operating system [1]. Any
program that uses PKCS #11 to access CA certificates should see the same
ones both inside the container and on the host.
This is the same approach taken by Flatpak [2].
[1] https://github.com/containers/toolbox/issues/626
[2] Flatpak commit 66b2ff40f7caf3a7
https://github.com/flatpak/flatpak/commit/66b2ff40f7caf3a7
https://github.com/flatpak/flatpak/pull/1757
https://github.com/p11-glue/p11-kit/issues/68
https://pagure.io/fedora-kiwi-descriptions/pull-request/189
|
|
The p11-kit RPM is neither explicitly mentioned in the list of default
RPMs on Fedora Silverblue and Workstation [1], nor was it explicitly
installed by the Container/Dockerfile equivalent of the fedora-toolbox
OCI images [2].
The Container/Dockerfile listed p11-kit as one of the RPMs that had to
be reinstalled, because it was inherited from the fedora base image, and
had its documentation and translations stripped out. The reinstallation
would be skipped if for some reason it was no longer part of the fedora
base image.
This was misinterpreted when creating the Kickstart equivalent of the
fedora-toolbox OCI images [3] and that's how it ended up in the KIWI
description.
In reality, p11-kit gets pulled in as a dependency of ca-certificates,
gnutls, etc. and that's sufficient.
Fallout from d27e4c3f6c3e13bcefe9d1d904386794140d8a91
[1] https://pagure.io/fedora-comps/
[2] https://src.fedoraproject.org/container/fedora-toolbox
[3] fedora-kickstarts commit 48e2c3b5598de32f
https://pagure.io/fedora-kickstarts/c/48e2c3b5598de32f
https://pagure.io/fedora-kickstarts/pull-request/964
https://pagure.io/releng/issue/11399
https://pagure.io/fedora-kiwi-descriptions/pull-request/189
|
|
Fixes https://pagure.io/fedora-kiwi-descriptions/issue/169,
https://bugzilla.redhat.com/show_bug.cgi?id=2355948.
|
|
It can be useful to have access to `setfiles` inside a `toolbx`
container. Especially when using them as bootstrap roots to setup
other trees.
Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
|
|
If $PATH is not set, we get the default from crun [1]:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
This is not useful, because in the image, /bin, /sbin, /usr/sbin are all
symlinks. /usr/local/sbin does not exist.
When /usr/sbin is a symlink to /usr/bin, and we use have a $PATH with
/usr/sbin before /usr/bin, various tools will discover /usr/sbin/foo when
looking for 'foo' [2], which is confusing and ugly.
[1] https://github.com/containers/crun/blob/a980c89665bb488ff206e47e9083f75b48528714/src/libcrun/container.c#L183
[2] https://src.fedoraproject.org/rpms/setup/pull-request/18#comment-253719
Co-authored-by: Simon de Vlieger <cmdr@supakeen.com>
|
|
Most of the changes are self-explanatory and just follow what's
already happening for existing architectures.
Two things are worth pointing out:
* we need to use shim-unsigned instead of shim-signed because
riscv64 is not fully integrated into Fedora yet and so we
can't do Secure Boot signing for the time being;
* we use ext4 as bootfilesystem since in most cases the
underlying firmware is going to be U-Boot, which needs to be
able to load the board's DTB from /boot and doesn't support
XFS.
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
|
|
This avoids a dependency on the full systemd package for non-init
containers.
|
|
This is similar to "ubi-init" on UBI/RHEL side.
Fixes BZ 2278884.
|
|
[root@ba1ab1388008 /]# dnf5 install dnf5-plugins --setopt=install_weak_deps=False
...
Total size of inbound packages is 2 MiB. Need to download 2 MiB.
After this operation 13 MiB will be used (install 13 MiB, remove 0 B).
...
Fixes: https://pagure.io/releng/issue/12105
Fixes: https://pagure.io/releng/issue/12106
|
|
dnf5 (in obsoleting-dnf mode) provides /usr/bin/yum and obsoletes
yum, so we should drop the 'dnf-yum' entries (which installed
yum). dnf5 also appears to provide and obsolete microdnf, so we
should replace microdnf with dnf5 in the minimal image, I guess.
dnf5-plugins seems the logical replacement for dnf-plugins-core
(which is not removed yet, but is specific to dnf4).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
|
This variable was dropped when switching to kiwi.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2278652
Signed-off-by: Clement Verna <cverna@tutanota.com>
|
|
The F39 minimal and generic container both had util-linux-core in
them. If this wasn't an intentional change, let's add it back.
Also note that util-linux wasn't actually removed in the change linked
in https://bugzilla.redhat.com/show_bug.cgi?id=1951111#c1
|
|
The dracut package contains tools to create bootable initramfses for the
Linux kernel. Historically, neither the Container/Dockerfile nor the
Kickstart equivalents of the fedora-toolbox OCI images contained dracut.
The KIWI description of the image was including dracut because it's
listed as a Requires(pre) of the grub2-tools package [1].
Unless someone comes forward and says that they are using Toolbx to hack
on the boot stack, it's better to retain the status quo for the sake of
a smaller image.
Since an RPM's %pre scriptlet is run before a package is installed [2],
it should be safe to remove dracut after the grub2-tools package has
been installed.
[1] https://src.fedoraproject.org/rpms/grub2
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/
https://pagure.io/fedora-kiwi-descriptions/pull-request/40
|
|
They are currently being pulled in as dependencies of dracut and
grub2-tools respectively. However, since they are explicitly mentioned
in the list of default RPMs on Fedora Silverblue and Workstation [1],
they should be mentioned here too, especially since packages like dracut
and grub2-tools are related to booting the host operating system and
might not be useful in a container.
[1] https://pagure.io/fedora-comps/
https://pagure.io/fedora-kiwi-descriptions/pull-request/40
|
|
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
|
|
passwd was retired, it's function was replaced by shadow-utils,
which is already included
see https://fedoraproject.org/wiki/Changes/LibuserDeprecation
|
|
Gary Buhrmaster noticed gzip was missing from the Fedora 40 container.
An extremely quick and gross diff produced by doing:
podman run -it --rm --entrypoint /usr/bin/rpm fedora:39 -qa \
| sort | uniq | awk '{ split($0,a,"-[0-9]"); print a[1] }' > f39.txt
shows the following for Fedora Minimal 39 -> 40:
-abattis-cantarell-vf-fonts
+audit-libs
-default-fonts-core-sans
-fonts-filesystem
-google-noto-fonts-common
-google-noto-sans-mono-vf-fonts
-google-noto-sans-vf-fonts
-google-noto-serif-vf-fonts
-gpg-pubkey
+gpg-pubkey-a15b79cc
+json-c
-langpacks-core-en
-langpacks-en
-langpacks-fonts-en
+libcap-ng
+libeconf
-libsigsegv
+libtool-ltdl
+pam-libs
-systemd-libs
-util-linux-core
-zlib
+zlib-ng-compat
For Fedora 39 -> 40:
-authselect
-authselect-libs
-cracklib
-gpg-pubkey
+gpg-pubkey-a15b79cc
-gzip
-libdb
-libpwquality
-libsigsegv
+libtool-ltdl
-pam
-sudo
-systemd-libs
-util-linux-core
-zlib
+zlib-ng-compat
This adds gzip and sudo back to the non-minimal container, as well as
bzip2, xz, and zstd to round out the set of [de]compression tools.
|
|
On ppc64le, power-utils is pulled in by being default in Core group.
This in turn pulls in power-utils-core, which pulls in systemd-udev.
When kiwi goes to remove kbd-misc on ppc64le only, it fails because
systemd-udev is a protected package. On other arches since it's not
installed, it works.
So, we are going to just drop this for now and revisit solutions after
Beta is out the door.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
|
|
These were accidentally omitted when they were ported over.
|
|
VA-API does not exist in s390x, so we need this filtered out for
that architecture.
|
|
Fedora Silverblue and Workstation [1], and so the Container/Dockerfile
and Kickstart [2] equivalents of the fedora-toolbox OCI images, contain
vim-minimal by default, not vim-enhanced. This is because the default
editor is GNU nano, not Vim [3].
[1] https://pagure.io/fedora-comps/
[2] fedora-kickstarts commit d6aac886a01ae625
https://pagure.io/fedora-kickstarts/c/d6aac886a01ae625
https://pagure.io/fedora-kickstarts/pull-request/1003
[3] https://fedoraproject.org/wiki/Changes/UseNanoByDefault
https://pagure.io/fedora-kiwi-descriptions/pull-request/24
|
|
The same change was made to the Kickstart equivalent of the
fedora-toolbox:41 OCI image recently [1].
This is meant to distinguish OCI containers and images that are designed
specifically for Toolbx from others. Toolbx containers are long-lasting
pet containers for interactive command line use, which makes them
substantially different from short-lived containers running services.
Therefore, it can be useful to be able to identify Toolbx containers and
images when generating statistics about Fedora usage.
[1] fedora-kickstarts commit 0d99c64eb2721c5b
https://pagure.io/fedora-kickstarts/c/0d99c64eb2721c5b
https://pagure.io/fedora-kickstarts/pull-request/1015
https://pagure.io/Fedora-Council/tickets/issue/449
|
|
The zstd RPM is neither part of the default Fedora Silverblue
and Workstation installation [1], nor the Container/Dockerfile and
Kickstart equivalents of the fedora-toolbox images [2,3]. Therefore,
there's no need to need to include it in the KIWI description.
Fallout from d27e4c3f6c3e13bcefe9d1d904386794140d8a91
[1] https://pagure.io/fedora-comps/
[2] https://src.fedoraproject.org/container/fedora-toolbox
https://github.com/containers/toolbox/tree/main/images/fedora
[3] https://pagure.io/fedora-kickstarts/blob/main/f/fedora-container-toolbox.ks
https://pagure.io/fedora-kiwi-descriptions/pull-request/21
|
|
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
|
|
This incorporates the labels that are expected for Fedora images.
|
|
This realigns the configuration into separate files/folders that
would be modified by specific teams (e.g. WGs and SIGs).
|