Skip to content

lints: Don't require ostree bits on composefs-native images - #4

Closed
cgwalters-bot wants to merge 1 commit into
mainfrom
bot/lint-ostree-symlink-composefs
Closed

cgwalters-bot wants to merge 1 commit into
mainfrom
bot/lint-ostree-symlink-composefs

Conversation

@cgwalters-bot

@cgwalters-bot cgwalters-bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

bootc container lint requires an /ostree -> sysroot/ostree symlink (the
fatal baseimage-root lint) and warns unless ostree's prepare-root.conf
enables composefs (baseimage-composefs). Both are meaningless for images
that are only ever deployed with the composefs backend, and force them to
carry ostree cruft. Of the options discussed in bootc-dev#2256, detecting
/usr/lib/composefs/setup-root-conf.toml (even if empty) is the one that is
actionable now, and it mirrors how prepare-root.conf signals ostree.

So when that file exists, a missing /ostree is accepted and the
prepare-root.conf check is skipped. If /ostree is present anyway it is
still validated, and /sysroot is still required since both backends mount
the physical root there. The lint descriptions, bootc-images.md (which
called the /ostree requirement a bug) and bootc-setup-root-conf.toml(5)
now describe the file as the composefs-native marker.

Testing: extended the baseimage-root unit test to cover a composefs-native
image without /ostree, with a bogus /ostree directory, and without
/sysroot, and the baseimage-composefs test to cover a composefs-native
image whose prepare-root.conf disables composefs. On a 16-core RHEL 10
devspace, rebased on current main: cargo test -p bootc-lib (271
passed, the same count as main since existing tests were extended) and just validate passed.

CI note (2026-09-24): the test-integration (fedora-44, composefs, ext4, grub, bls, unsealed) failure is unrelated to this change: the container test install config failed with Loading configuration: No such file or directory, a race with the concurrently running printconfig --all test, which creates and deletes /run/bootc/install/10-test.toml while print-configuration scans that directory. The same leg passed on other PRs with the same base. Failed jobs will be rerun once the run completes.

bootc requires DCO: the commits have no Signed-off-by, so a maintainer must sign off before merging (e.g. git rebase --signoff <base> and force-push).

Closes: bootc-dev#2256

Generated-by: https://github.com/cgwalters/#llms


Review draft in cgwalters-forge, not upstream yet. This section is removed when the PR is opened upstream.

  • Upstream: bootc-dev/bootc, base main
  • Board item: PVTI_lAHOAQ_SPs4Bj2Gizg8P4RI

To review:

  • Approve to open it upstream, ready for review.
  • Comment /draft, then approve, to open it upstream as a draft (/ready undoes that).
  • Close to drop it.
  • Edit the title and description freely: they become the upstream PR's. Review comments are addressed with fixup commits and a reply here.

@cgwalters-bot
cgwalters-bot force-pushed the bot/lint-ostree-symlink-composefs branch from d636979 to 158812e Compare September 24, 2026 03:14
@cgwalters-bot cgwalters-bot changed the title lints: Don't require /ostree on composefs-native images lints: Don't require ostree bits on composefs-native images Sep 24, 2026
The baseimage-root lint insists on an /ostree -> sysroot/ostree
symlink, and baseimage-composefs warns unless ostree's prepare-root.conf
enables composefs. Both are meaningless for images that are only ever
deployed with the composefs backend, and just force them to carry
ostree cruft.

Use the presence of /usr/lib/composefs/setup-root-conf.toml (even if
empty) as the signal that an image is composefs-native, mirroring how
prepare-root.conf signals ostree. If /ostree is present anyway it is
still validated, and /sysroot is still required since both backends
mount the physical root there.

Closes: bootc-dev#2256
Generated-by: AI
Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters-bot
cgwalters-bot force-pushed the bot/lint-ostree-symlink-composefs branch from 158812e to e0c7aa7 Compare September 25, 2026 15:33
@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 1 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval #4 (review) of 158812eed08b. Same trees; the head is now 957336b8f8b0.

@cgwalters-bot
cgwalters-bot force-pushed the bot/lint-ostree-symlink-composefs branch from e0c7aa7 to 957336b Compare September 25, 2026 15:33
@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Opened upstream as bootc-dev#2500. Closing this review draft.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 1 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of 95920b0b2aeb. Same trees; the head is now 379ba6cfd2dc.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 5 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of 29343004eaf8. Same trees; the head is now acd98a97dcb9.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 1 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of bce37b24720c. Same trees; the head is now a165a8966da3.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 2 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of fff05e9d9b55. Same trees; the head is now 260f2dd8c9ac.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 1 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of 55cf30cfc208. Same trees; the head is now 1082e38ee1c7.

@cgwalters-bot

Copy link
Copy Markdown
Collaborator Author

Signed off 1 commit(s) with Signed-off-by: Colin Walters <walters@verbum.org> for bootc-dev/bootc's DCO check, on cgwalters's approval bootc-dev#2500 (review) of 075b2a2c6c89. Same trees; the head is now 804f7d21437e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lint: /ostree symlink required ➡️ thinking about composers-native signaling

2 participants