Upstream ledger: contribution queue, watch list, validated-keeps (bootc, rpm-ostree, dracut-ng, systemd, containers/image, Fedora)
## Purpose
The durable upstream ledger for basef: what we carry because upstream can't
do it yet (contribution queue), what we watch for release-driven change, what
upstream has validated as permanently ours, and what each sweep retired.
Full sweep completed 2026-06-09 against every annotated operation in the
Containerfile, treefile manifests, and the carmine instance layer (37 items
examined; method: extract every deviation, then verify current upstream state
per item).
## Contribution queue (ranked by ROI)
### 1. dracut-ng: multicall-symlink install fix
systemd 259 made systemd-fstab-generator/systemd-cryptsetup multicall
binaries dispatched by symlinks; dracut's `10systemd` module installs them
via `inst_multiple -o`, which silently drops the symlinks in chroot/compose
builds (target lands, link doesn't), breaking initrd-parse-etc.service with
203/EXEC. We carry an `install_items` drop-in. No upstream issue or PR
exists; the mechanism is confirmed in current main, and an adjacent open
issue ([dracut-ng#2456](https://github.com/dracut-ng/dracut/issues/2456))
plus unresolved [Fedora field reports](https://discussion.fedoraproject.org/t/entering-dracut-after-upgrade-initrd-parse-etc-service-failed-at-step-exec-spawning-usr-lib-systemd-systemd-sysroot-fstab-check-no-such-file-or-directory/146603)
show demand. Shape: file issue + PR fixing symlink resolution in the
dracut-install path for sysroot builds. Our highest-value patch; greenfield.
### 2. rpm-ostree: rootless-compose selftest skip
`rpm-ostree compose rootfs` runs a bwrap selftest that needs CAP_NET_ADMIN;
under rootless podman it fails, forcing our `container=systemd-nspawn` env
workaround. [PR #5487](https://github.com/coreos/rpm-ostree/pull/5487)
(merged 2025-09) made only the rechunker rootless; releases through v2026.2
carry nothing for compose, and no open issue exists. Shape: file issue
referencing #5487 + a small `--no-sandbox-selftest` (or env-skip) PR.
Greenfield, small, kills the hack at the source.
### 3. bootc: revive PR #1570 (uid-drift lint)
[bootc#1562](https://github.com/bootc-dev/bootc/issues/1562) has a stale
lint PR ([#1570](https://github.com/bootc-dev/bootc/pull/1570), untouched
since 2025-09) and an explicit maintainer mentoring offer (cgwalters,
2025-08-31) sitting unanswered. Reviving a stalled PR with maintainer
support pre-offered is the cheapest credible entry into bootc. Context:
maintainer comments in [#1263](https://github.com/bootc-dev/bootc/issues/1263)
(2026-01) put the burden on image builders pinning UIDs — i.e. upstream
endorses our check-passwd approach as the intended pattern.
### 4. containers/image: push PR #625 over the line (unblocks #15)
The keyless-verify gap ([container-libs#388](https://github.com/containers/container-libs/issues/388))
has NOT moved: image v5.37-v5.40 shipped no identity-matcher changes, and
jlebon's policy-plugins.d idea remains a comment with fresh maintainer
skepticism (mtrmac, 2026-05-25). But [PR #625](https://github.com/containers/container-libs/pull/625)
(`buildSignerURI`, OID-based matching) is review-starved, not contested:
LGTM'd, awaiting mtrmac since February. Shape: supply our production GitLab
Fulcio certificate as a test fixture + nudge for review. A plain
`subjectURI` field would likely hit the same semantic objection that killed
[containers/image#2235](https://github.com/containers/image/pull/2235); the OID approach in #625 is the defensible path.
When it lands and ships, #15's re-enable runbook activates. The old
"re-check monthly" ritual in #15 is superseded by this issue's sweep cadence.
### 5. bootc: remount-fs vs composefs
Our masked systemd-remount-fs failure ("overlay: No changes allowed in
reconfigure") is verbatim [bootc#971](https://github.com/bootc-dev/bootc/issues/971)
(open, updated 2026-02). Shape: comment with the composefs repro; a
"skip/condition remount-fs when composefs" change to bootc's fixup-etc-fstab
generator is a viable mid-size PR. Mask stays until then.
### 6. Fedora: chrony StateDirectory SELinux denial reproducer
[BZ 2479883](https://bugzilla.redhat.com/show_bug.cgi?id=2479883) (NEW,
filed 2026-05-19 by a third party) confirms the chronyd setattr-on-drift
denial reproduces on F44 WITHOUT our uid-orphaning trigger. Shape: comment
our reproducer (UID change + StateDirectory chown path) to help triage.
Risk + fallback tracked in #11 (operator decision: if chrony keeps fighting
F44, drop it for systemd-timesyncd and accept losing NTS).
### 7. Trivial credits
- setroubleshoot F44 runtime breakage ("No module named six") is unreported
upstream — file the missing-Requires bugzilla. We remove the package
regardless (#16).
- [openzfs#12641](https://github.com/openzfs/zfs/issues/12641) — kmod-style
(non-DKMS) builds for immutable distros; our standing hook if we want the
source-build pattern upstreamed.
## Watch list (release-driven)
- **OpenZFS vs Fedora kernel — AT THE BOUNDARY.** F44 ships kernel 7.0.x
(7.0.11 now; our kmods build against it). OpenZFS 2.4.2's declared ceiling
is 7.0 — one Fedora minor-kernel bump to 7.1 exceeds it. Preflight will
catch the build break, but expect a window where the kernel must wait for
an OpenZFS point release. Watch openzfs releases for 7.1 support.
- **bootc base tooling direction**: bootc-native base builds
([PR #2100](https://github.com/bootc-dev/bootc/pull/2100)) closed unmerged
2026-03 — rpm-ostree compose remains the right horse;
`bootc-base-imagectl` wraps it and inherits the same manifests. Re-assess
if a bootc-native path ships.
- **restorecon root causes**: [bootc#1621](https://github.com/bootc-dev/bootc/issues/1621)
+ [#1622](https://github.com/bootc-dev/bootc/issues/1622) both open, no
fix PR; our boot-time restorecon.service stays until they close.
- **NVIDIA driver branches**: 610 is the current feature branch (May 2026);
595 maintained and rpmfusion's F44 default. Renovate handles the bump;
the expected.txt major gap is #18.
- **[fedora-coreos-tracker#1599](https://github.com/coreos/fedora-coreos-tracker/issues/1599)** (nss-altfiles switch) — would change the
passwd split assumptions; open.
## Validated as permanently ours (upstream ships the same thing)
The sweep confirmed these are not friction to fix but convergence with
upstream practice — Fedora's own base-images carry the identical content,
and since basef IS a base layer (from-scratch, not FROM fedora-bootc), we
must carry them ourselves:
- tmp.mount wants-symlink (their minimal/basic-fixes.yaml does the same)
- tmpfiles shadow files for home.conf/provision.conf (their tmpfiles.yaml
removes/edits the same rules; systemd's refusal to follow symlinks is
deliberate, a semantics PR would be rejected)
- `rm /etc/systemd/system/* && systemctl preset-all` canonicalization
(their systemd-presets.yaml, verbatim, citing [rpm-ostree#1803](https://github.com/projectatomic/rpm-ostree/issues/1803))
- the treefile quad: opt-usrlocal root, machineid-compat, rpmdb-normalize,
ignore-removed (their postprocess-conf.yaml sets all four explicitly;
none are defaults)
- check-passwd/check-groups file-type pinning (their check-passwd.yaml)
- finalize.d/01-var.sh (mirrors theirs; NOTE: rpm-ostree executes
`<manifest-dir>/finalize.d/*` automatically — the directory is the API,
no in-repo reference exists. Removal proven fatal by smoke gate I,
pipeline 2589736613.)
- bootupd configs.d timeout drop-in (extension point confirmed current)
- hostonly=no (dracut auto-detects containers for other knobs, not this)
## Resolved mysteries (no upstream gap)
- **homed preset anomaly**: presets by spec never govern alias units, and
D-Bus activation starts services regardless of enablement
([systemd#15083](https://github.com/systemd/systemd/issues/15083), closed
as use-mask). Our dbus-alias mask is the canonical mechanism, not a
workaround.
- **`empower` gid 999**: introduced by systemd v259 itself (run0 --empower,
sysusers.d/basic.conf.in) — the concrete F43→F44 trigger for the chrony
displacement. Allocation stability for image systems is an open
discussion ([LWN](https://lwn.net/Articles/1018082/)); local pinning
remains correct indefinitely.
## Retired by this sweep (delete from our tree)
- smoke.sh `bootc install --help` flag probing — `--karg` and
`--root-ssh-authorized-keys` stable since bootc v0.1.8 (2024-03);
assert a version floor instead.
- `DRACUT_NO_XATTR=1` conf.d line — upstream default since dracut 110
([PR #1987](https://github.com/dracut-ng/dracut/pull/1987)); F44 carries
newer.
Both land with the post-tag image batch (#16, #18, #19).
## Cadence
Sweep this ledger when bumping the Fedora release, and opportunistically on
bootc/rpm-ostree/dracut-ng release notes. Each sweep: re-check queue-item
states, move the landed ones to Retired, and refresh the watch list. This
issue supersedes the per-issue re-check rituals (notably #15's).
issue