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

libsolv-0.7.17-1.fc33 failure tracker #2548

Closed
cgwalters opened this issue Feb 6, 2021 · 5 comments · Fixed by #2553
Closed

libsolv-0.7.17-1.fc33 failure tracker #2548

cgwalters opened this issue Feb 6, 2021 · 5 comments · Fixed by #2553
Labels
jira for syncing to jira

Comments

@cgwalters
Copy link
Member

We have multiple issues resulting from the libsolv-0.7.17-1.fc33 update. They seem to be related to the database path. The first is fedora-silverblue/issue-tracker#124 but we fixed that with #2490

But we're still seeing some test failures and I think the root cause is Feb 06 19:08:41 qemu0 rpm-ostree[673]: Failed to find any packages in root which also leads to the segfault we're seeing at #2545

@cgwalters
Copy link
Member Author

This might somehow be specific to locally layered packages which would explain how it got by the main kola tests, which only do basic remote package sanity tests.

@cgwalters
Copy link
Member Author

xref https://bugzilla.redhat.com/show_bug.cgi?id=1925717

@nickavem
Copy link

nickavem commented Feb 6, 2021

Here is a forum post that describes a temporary fix and has some other discussion: https://discussion.fedoraproject.org/t/cannot-upgrade-silverblue/26652/5?u=nickavem

@jlebon
Copy link
Member

jlebon commented Feb 8, 2021

But we're still seeing some test failures

Do you have a link to the test failures?

@cgwalters
Copy link
Member Author

See the CI job in #2545

@lucab lucab added the jira for syncing to jira label Feb 8, 2021
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
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
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
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
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
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
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
We need to make sure that we can work with newer libsolv, which changed
how the rpmdb is found (see coreos#2548).
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
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
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 8, 2021
…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
jlebon added a commit to jlebon/rpm-ostree that referenced this issue Feb 9, 2021
…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
cgwalters pushed a commit to jlebon/rpm-ostree that referenced this issue Feb 9, 2021
We need to make sure that we can work with newer libsolv, which changed
how the rpmdb is found (see coreos#2548).
cgwalters pushed a commit to jlebon/rpm-ostree that referenced this issue Feb 9, 2021
…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
openshift-merge-robot pushed a commit that referenced this issue Feb 9, 2021
We need to make sure that we can work with newer libsolv, which changed
how the rpmdb is found (see #2548).
openshift-merge-robot pushed a commit that referenced this issue Feb 9, 2021
…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
@cjao cjao mentioned this issue Feb 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
jira for syncing to jira
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants