base-images/tests/Containerfile.test-sysusers
Dusty Mabe f7e7f0101f
tests: don't use rawhide image for yum repos
The repo locations moved in F45+ [1] and so now when
testing F44 in CI we end up with a failure like:

```
[2/3] STEP 2/2: RUN --mount=type=bind,from=repos,src=/,dst=/repos,rw <<EORUN (echo -e '--install\nltrace' > args.txt...)
rpm-ostree version: 2026.2
error: Installing packages: No enabled repositories
error: Executing compose install: ExitStatus(unix_wait_status(256))
Error executing command: Command '['rpm-ostree', 'compose', 'rootfs', '--source-root-rw=/repos', '/tmp/tmpmnq4sg6s.json', '/target-rootfs']' returned non-zero exit status 1.
subprocess exited with status 1
```

Let's drop using the rawhide image just for `repos` and use the
repos baked into the image we built instead (which should match
the target Fedora version we're testing).

[1] https://fedoraproject.org/wiki/Changes/RelocateRpmRepoConfigsToUsr
2026-08-25 12:21:34 -04:00

38 lines
939 B
Text

# This test case exercises --sysusers.
# This is intentionally a locally built image
FROM localhost/fedora-bootc as builder
RUN <<EORUN
mkdir -p overlay/usr/lib/sysusers.d
cat > overlay/usr/lib/sysusers.d/00-chrony.conf <<EOF
g chrony 888
u chrony 888:888 - - -
EOF
/usr/libexec/bootc-base-imagectl build-rootfs --manifest=standard/manifest /target-rootfs --sysusers --add-dir overlay
EORUN
# This pulls in the rootfs generated in the previous step
FROM scratch
COPY --from=builder /target-rootfs/ /
RUN <<EORUN
set -xeuo pipefail
. /usr/lib/os-release
test "$ID" = fedora
# Sanity-check sysusers application
getent group chrony | grep :888:
getent passwd chrony | grep :888:888:
# Verify nobody is the modern default
getent passwd nobody | grep :65534:65534:
# Cleanup and lint
rm -rf /var/log /var/cache/* /var/lib/dnf
bootc container lint
EORUN
LABEL containers.bootc 1
ENV container=oci
STOPSIGNAL SIGRTMIN+3
CMD ["/sbin/init"]