-
Notifications
You must be signed in to change notification settings - Fork 199
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
F36: Complete adaption to https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr #3397
Comments
I started looking into this, and then realized it has further implications on other parts of the codebase. As a transitory measure, perhaps we can try starting to hardlink the content of |
Could we also just replace the directory back to a symlink? That way we don't have to think about whether rpm or other things do tempfile & replace or in-place modifications. Doing what's in the comment in the code snippet above is what we should do eventually, but we should think through it carefully, esp. around upgrades now that we ship a macro dropin to set it even on client systems. |
Rawhide has moved the rpmdb to `/usr/lib/sysimage/rpm`, which is great! FCOS composes started breaking because rpm now creates that directory: coreos#3397 We should be able to eventually flip our `_dbpath` macro with this (and eventually much later once it hits RHEL, stop overriding the macro at all). This will require some careful changes and testing. But anyway we probably don't want to do this yet on f35 to match Fedora, so we will want a transition mechanism; e.g. a `rpmdb-in-sysimage` treefile knob. For now just to unblock rawhide changes, let's remove the empty dir so we can symlink and keep `/usr/share/rpm` as canonical. We'll rework once we have the permanent solution.
Rawhide has moved the rpmdb to `/usr/lib/sysimage/rpm`, which is great! FCOS composes started breaking because rpm now creates that directory: #3397 We should be able to eventually flip our `_dbpath` macro with this (and eventually much later once it hits RHEL, stop overriding the macro at all). This will require some careful changes and testing. But anyway we probably don't want to do this yet on f35 to match Fedora, so we will want a transition mechanism; e.g. a `rpmdb-in-sysimage` treefile knob. For now just to unblock rawhide changes, let's remove the empty dir so we can symlink and keep `/usr/share/rpm` as canonical. We'll rework once we have the permanent solution.
OK, retitling this issue; let's keep it open to track:
|
The workaround for coreos/rpm-ostree#3397 has landed upstream in coreos/rpm-ostree@12147dd, which made it into rpm-ostree v2022.2. This rpm-ostree is now in COSA so we can drop this pin. Fixes coreos/fedora-coreos-tracker#1087
The workaround for coreos/rpm-ostree#3397 has landed upstream in coreos/rpm-ostree@12147dd, which made it into rpm-ostree v2022.2. This rpm-ostree is now in COSA so we can drop this pin. Fixes coreos/fedora-coreos-tracker#1087
Yeah at some point we will have to address this tech debt, it keeps coming up and is really painful when it does. Right now I'm working on https://gitlab.com/fedora/bootc/tracker/-/issues/32 and we're creating a pattern of doing this in an nutshell:
But notice I had to add that symlink in the repos container. It's because rpmostree-core.cxx overrides |
As part of F36 changes, there is this rpmdb move to /usr: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
It just landed in rawhide with this commit: https://src.fedoraproject.org/rpms/rpm/c/0b9f813cd529a1fc7c1336e62d82b90c81f517f1?branch=rawhide
So starting with
rpm-4.17.0-7
the package is shipping an empty directory at/usr/lib/sysimage/rpm
.FCOS composes are now failing with:
This is because we currently try to create a symlink there to our rpmdb:
rpm-ostree/rust/src/composepost.rs
Lines 982 to 984 in ce954e8
The text was updated successfully, but these errors were encountered: