Commit graph

13 commits

Author SHA1 Message Date
Jonathan Lebon
c03ad7ef75
tests: add test for --sysusers
Exercise the `--sysusers` path added in
https://gitlab.com/fedora/bootc/base-images/-/merge_requests/242.
2025-07-21 11:26:14 -04:00
Timothée Ravier
af23daadf1 tests: Remove whitespace at EOL 2025-06-26 13:44:06 +02:00
Colin Walters
58570a1e60 Move python3-libdnf5 to fedora only
ref https://gitlab.com/redhat/centos-stream/containers/bootc/-/merge_requests/558#note_2492110138

Signed-off-by: Colin Walters <walters@verbum.org>
2025-06-17 12:52:34 -04:00
Jonathan Lebon
64f4963fc3
bootc-base-imagectl: support extending package list
The current custom base image flow of rebuilding a "built-in" image with
custom repos and then adding your own content separate is reasonable,
but it would be nice if one could augment the list of packages to
install in that initial build rather than as a separate transaction.

Then, you don't have to cleanup after dnf and `/var` content, re-inject
repo definitions, and refetch repo metadata. It also allows building
container images with additional packages without `dnf` necessarily
being in the package set.

We don't want to leak rpm-ostree implementation details, nor do we want
to invent a new format. So just add support for a `--install` arg and a
generic `--args-file` to pass arguments via a file.

We then generate a new treefile on the fly to extend the `packages`
list.
2025-05-14 15:13:23 -04:00
Dusty Mabe
986b59b5c1
minimal: drop exclude on iptables-legacy; add test
In Fedora CoreOS we are still including iptables-legacy for now [1]
and since you can't really overwrite an `exclude-packages` entry it
means we can't update our git submodule.

We are working to get away from using a git submodule [2], but I'd
like to get ours updated in the mean time.

[1] https://github.com/coreos/fedora-coreos-tracker/issues/1818
[2] https://github.com/coreos/fedora-coreos-tracker/issues/1861
2025-05-06 16:52:05 -04:00
Dusty Mabe
5d628fd3f4
tests/rootfs/README: document how to run the tests
It's simple, but worth a few lines in the README.
2025-05-06 16:50:20 -04:00
Dusty Mabe
31306a297b
tests: simplify to use just the built bootc image
I'm sure there is a reason for why it is the way it is, which I will
learn about, but the way it is currently set up makes it hard to run
commands in the target system (like `rpm -q`) without doing a chroot
and doing a chroot requires some setup to happen.

I guess the nice thing about the way it is prior is we get to the look
at the filesystem untouched by the container runtime; which can
definitely be useful for tests.
2025-05-06 16:37:47 -04:00
Colin Walters
993845d2a2 Move the tss group to /etc so it can be mutated
This works around two issues:

- First, rpm switched to reading users/groups directly for
  its implementation of systemd-sysusers, which meant
  it no longer reads via nss, which breaks nss-altfiles.
  xref: https://github.com/rpm-software-management/rpm/pull/2503#issuecomment-1536435351
  and below.
- Second, even if that was fixed, `keylime` wants to add
  its user to the group, which can't be done when it's a system
  uid.

Since nothing in the OS content is owned by this group, we can
move underneath `/etc` by default.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-25 20:09:17 -04:00
Colin Walters
ccb2c22ecb imagectl: Update mode for / if needed
This works around https://github.com/coreos/rpm-ostree/pull/5322
so we can ship the fix faster.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-04 17:31:56 -05:00
Colin Walters
5d4936fd43 tests: Verify var/tmp
Somehow this went missing in a local build.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-03-03 09:21:44 -05:00
Colin Walters
e89565789c Use rpmdb-normalize, add rootfs tests
I just saw the sqlite-shm corruption in
https://gitlab.com/redhat/centos-stream/containers/bootc/-/merge_requests/437#note_2372766792
so let's just go ahead and turn on rpmdb_normalize which
also aids the reproducibility of the rpmdb.

While we're here let's also add a long overdue "unit test" for
the rootfs. This operates as a container build that mounts
the container-under-test as part of a multi-stage build.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-28 09:14:45 -05:00
Colin Walters
d5810bcd7e ci: Drop tier-x build, do build test case
As part of all of this we're de-emphasizing "tier-x" and focusing
on making it ergonomic to either build up from minimal, or down+up
from standard.

Second, also add a CI test for our derived image.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-25 08:27:20 -05:00
Colin Walters
c89b6f4298 Introduce bootc-base-imagectl
- Embed the manifests into the container image
- Add bootc-base-imagectl which is a tightly controlled frontend
  to execute on those manifests.

For now, we don't attempt to rework how we build the standard
image to actually look like `dnf install`, but we show that
it can work.

Signed-off-by: Colin Walters <walters@verbum.org>
2025-02-25 08:27:20 -05:00