Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Checkdiff test #1

Closed
wants to merge 31 commits into from
Closed

Checkdiff test #1

wants to merge 31 commits into from

Conversation

aaradhak
Copy link
Owner

No description provided.

coreosbot and others added 30 commits November 13, 2024 23:40
F41 moved on to dnf5, which doesn't pull in Python bindings anymore.
But anyway, the Python API in libdnf5 is different and we'd need to
migrate `overrides.py`.

For now at least to unbreak things, just re-install back python3-dnf.

See also: coreos#3254
We need to drop the rollback deployment. During upgrade
`...-> 40.20240906.1.0 (A)-> 41.20241109.1.0 (B)-> 42.20241114.91.0 (C)`
1) A->B, A has the unfixed ostree, the upgrade will copy dtb files
to `/boot/ostree` both for current A and new B with wrong label
2) B->C, B has the fixed ostree, the upgrade will prune A, leave B
with wrong label, and new C with correct label
3) Finaly booting C and will check that B has the wrong label
In this case we need to drop the rollback before checking.

If then upgrade to newer D, the upgrade will prune B (wrong label),
leave C with correct label, and new D with correct label. (We
should remove the drop under this case)
There is a new tier-x in the fedora-bootc project whose goal is to
provide a common base that all variants (including tier-1) can share.

Move FCOS over to use this new tier, but only starting from Fedora 42.

This is a profound change and the start of an exciting new future! This
formalizes our relationship to other image-mode variants, encouraging us
to innovate and solve problems together in a more direct way.

Put more practically, e.g. bug fixes, new features, or temporary
workarounds that concern all/most tier-x derivatives should probably be
carried out at the tier-x level rather than the CoreOS level.

Eventually, this inheritance will be made even more explicit by having
FCOS be built `FROM` the tier-x image. For now, we share at the manifest
level, which is a stepping stone towards that goal.

Patches to actually dedupe our manifests with tier-x will follow. Though
note there is no change in the resulting package set here.
All these manifests are already part of tier-x, so conditionalize them
on <f42.
Split all the things redundant with tier-x into a separate manifest that
only gets inherited on <f42.
Split all the things redundant with tier-x into a separate manifest that
only gets inherited on <f42.
Split all the things redundant with tier-x into a separate manifest that
only gets inherited on <f42.
No functional change. Prep for future patch.
No functional change. Prep for future patch.
This is (or will soon be) part of what defines the base set of packages
needed for a functioning system.

But also this is prep for making this manifest be only included in <f42.
All the requests in this manifest are part of tier-x, so conditionalize
on <f42.
In the spirit of abusing `remove-from-packages` less and being more
closely aligned with tier-x, stop literally nuking the systemd-firstboot
binary and systemd unit. Instead, just disable the systemd unit.

Note it's also disabled in the presets (in `40-coreos-systemd.preset`)
and as mentioned in the comment, via a runtime dropin. So that's triple
disablement already.

But to be sure, also add a non-exclusive test to ensure it doesn't come
back.
Split all the things redundant with tier-x into a separate manifest that
only gets inherited on <f42.
No functional change. This just makes it easier to share the list of
dupes with RHCOS downstream.
This workflow bumps the fedora-bootc submodule. It's better than just
using Dependabot because it only checks for changes in tier-0 and
tier-x. AFAICT, there isn't a way to tell Dependabot to do this.
Currently, when building the squashfs, we drop the `sysroot.readonly`
flag from the ostree config because `ostree-prepare-root` doesn't know
how to handle it in the setup we have in our live environments.

But now inheriting from tier-x, we also inherited the move of that
knob to `/usr/lib/ostree/prepare-root.conf`, which is then included in
the initramfs. That's much harder to override during the build process
because we don't want to rebuild the initramfs. We could probably
instead just append a CPIO to the live initramfs that shadows it but the
real fix anyway is to adapt libostree to work in live environments.[^1]

So for now, just undo this bit to go back to how it was set up before
inheriting from tier-x, where the only sysroot.readonly knob lives in
the ostree repo config.

[^1]: ostreedev/ostree#1921
The `overrides.py` script needs to call
`rpm-ostree compose tree --print-only`, and rpm-ostree will want to
recurse into tier-x treefiles, so we need submodules here.
Triggered by remove-graduated-overrides GitHub Action.
Now that cosa supports looking at the `metadata` key, let's finally stop
abusing the `rojig` key.
@aaradhak aaradhak closed this Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants