-
Notifications
You must be signed in to change notification settings - Fork 60
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
Move rpmdb path from /usr/share/rpm to /usr/lib/sysimage/rpm #639
Comments
A good bit of the question here hinges on whether we can do this sanely without patching rpm and libsolv. See e.g. openSUSE/libsolv#386 I think we could lead with FCOS here but it's not an entirely trivial thing to just carry on our own. I'd also e.g. like to switch the container image at least to do this too. |
If we need to do this by having rpm-ostree explicitly set the path in a bunch of places, it becomes dramatically more fragile. Need to consider cases like rebases, as well as the "offline inspection" case. See https://bugzilla.redhat.com/show_bug.cgi?id=1102241 for the latter - which is another one that the sqlite switch will impact too. |
Don't you already do this to force |
Let's flip this around: Last time this came up we landed coreos/rpm-ostree#2154 - is there an urgent need to have CoreOS make that symlink canonical today versus just landing the system-wide change and making it not a symlink? |
We discussed this in the meeting today. Our (or at least my) understanding was indeed that this would be a system-wide change and not scoped to just FCOS. I don't have the cycles or knowledge to drive this across all Fedora editions, but if we do go down that path, we can definitely take care of the rpm-ostree-based editions. @Conan-Kudo would you like to drive that change forward? |
I can help for traditional Fedora variants, if needed. Though I think making the change won't be terribly difficult, evidenced by how @sysrich did this for openSUSE. |
We discussed this in last week's meeting.
|
@pmatilai, WDYT about the above? Would you be interested in owning the move to the new rpmdb path with support from the CoreOS team and @Conan-Kudo? Do you have some sense of how difficult/risky this would be? |
I have no plans or interest to drive such a change, as I have said before. |
@ffesti, interested? |
We discussed this at the community meeting this week.
|
relevant information:
|
We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to our path. (So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it.) In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to our path. (So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it.) In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to our path. (So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it.) In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to /usr/lib/sysimage/rpm (which currently is a symlink to /usr/share/rpm, but eventually will become the canonical location). So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it. In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
…ib/sysimage/rpm We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to /usr/lib/sysimage/rpm (which currently is a symlink to /usr/share/rpm, but eventually will become the canonical location). So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it. In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
xref coreos/rpm-ostree#2553 where a recent libsolv change to honor |
…hare/rpm We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to /usr/share/rpm. So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it. In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
…hare/rpm We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to /usr/share/rpm. So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it. In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: coreos#2548
…hare/rpm We trigger a librpm macro file load in many of our paths. Since the default value shipped by rpm's macro file sets `_dbpath` to `/var/lib/rpm`, we have to explicitly set that back to `/usr/share/rpm` in those paths. This became more problematic recently with libsolv v0.7.17 which fully keys off of `_dbpath` to find the rpmdb path to load: openSUSE/libsolv@04d4d03 And it's not technically wrong; we really should make that macro not lie. This is what this patch does by injecting an RPM macro file in our composes which sets it to /usr/share/rpm. So then e.g. the `rpm` CLI doesn't actually need the `/var/lib/rpm` backcompat link anymore, though there's no harm in leaving it. In the future, we should be able to drop this once we move all of Fedora to `/usr/lib/sysimage/rpm` (see coreos/fedora-coreos-tracker#639). Closes: #2548
The Fedora-wide change was done in f36: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr, but there is still work pending on the rpm-ostree side to fully adapt to it. |
Any progress on this? It's been a couple of years now and I see that we're still using |
It's been almost three years since the initial agreement to have a consistent alternative rpmdb path in
/usr/lib/sysimage/rpm
.Can we finally move Fedora CoreOS to this path?
(Cloned from coreos/rpm-ostree#1987 at request of @dustymabe)
The text was updated successfully, but these errors were encountered: