Bug 1808677 - Upgrade of libdnf to libdnf-0.43.1-3.fc30.x86_64 breaks libdnf plugins in PackageKit
Summary: Upgrade of libdnf to libdnf-0.43.1-3.fc30.x86_64 breaks libdnf plugins in Pac...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libdnf
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jaroslav Rohel
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1800468
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-02-29 10:56 UTC by Jan Pazdziora
Modified: 2020-06-19 01:05 UTC (History)
7 users (show)

Fixed In Version: libdnf-0.48.0-1.fc32 libdnf-0.48.0-1.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-06-05 02:29:56 UTC
Type: Bug


Attachments (Terms of Use)

Description Jan Pazdziora 2020-02-29 10:56:38 UTC
Description of problem:

After upgrading libdnf from libdnf-0.39.1-1.fc30.x86_64 to libdnf-0.43.1-3.fc30.x86_64, libdnf-plugin-swidtags seems no longer invoked.

Version-Release number of selected component (if applicable):

libdnf-0.43.1-3.fc30.x86_64

How reproducible:

Deterministic.

Steps to Reproduce:
# Have PackageKit with libdnf-plugin-swidtags
1. dnf install -y PackageKit git-core libdnf-plugin-swidtags

# We will only use the libdnf-plugin-swidtags upstream repo to get tests data
2. git clone https://github.com/swidtags/libdnf-plugin-swidtags.git
3. cp -rp libdnf-plugin-swidtags/tests/repo /repo
4. cp libdnf-plugin-swidtags/tests/test-libdnf-swidtags.repo /etc/yum.repos.d/
5. pkcon install -y hello
6. rpm -q hello
7. ls -la /usr/lib/swidtag/example^2ftest/

Actual results:

# pkcon install -y hello
Resolving                     [=========================]         
Installing                    [=========================]         
Loading cache                 [=========================]         
Finished                      [=========================]         
Installing                    [=========================]         
Testing changes               [=========================]         
Installing packages           [=========================]         
Finished                      [=========================]         
# rpm -q hello
hello-2.0-1.x86_64
# ls -la /usr/lib/swidtag/example^2ftest/
ls: cannot access '/usr/lib/swidtag/example^2ftest/': No such file or directory

Expected results:

# pkcon install -y hello
Resolving                     [=========================]         
Installing                    [=========================]         
Loading cache                 [=========================]         
Finished                      [=========================]         
Installing                    [=========================]         
Testing changes               [=========================]         
Installing packages           [=========================]         
Finished                      [=========================]         
# rpm -q hello
hello-2.0-1.x86_64
# ls -la /usr/lib/swidtag/example^2ftest/
total 8
drwxr-xr-x. 2 root root  124 Feb 29 05:43  .
drwxr-xr-x. 4 root root   53 Feb 29 05:43  ..
-rw-r--r--. 1 root root 6902 Feb 29 05:43 'example^2ftest.hello-2.0-1.x86_64-rpm-ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9.swidtag'

Additional info:

To see the working setup with the older libdnf 0.39, downgrade via:

8. pkcon remove -y hello
9. pkcon quit
# Allow removal of dnf during the downgrade
10. echo protected_packages= >> /etc/dnf/dnf.conf
11. dnf downgrade -y --allowerasing https://kojipkgs.fedoraproject.org//packages/libdnf/0.39.1/1.fc30/x86_64/libdnf-0.39.1-1.fc30.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/libdnf/0.39.1/1.fc30/x86_64/python3-libdnf-0.39.1-1.fc30.x86_64.rpm https://kojipkgs.fedoraproject.org//packages/libdnf/0.39.1/1.fc30/x86_64/python3-hawkey-0.39.1-1.fc30.x86_64.rpm
12. pkcon install -y hello
13. ls -la /usr/lib/swidtag/example^2ftest/

to see

total 8
drwxr-xr-x. 2 root root  124 Feb 29 05:43  .
drwxr-xr-x. 4 root root   53 Feb 29 05:43  ..
-rw-r--r--. 1 root root 6902 Feb 29 05:43 'example^2ftest.hello-2.0-1.x86_64-rpm-ef920781af3bf072ae9888eec3de1c589143101dff9cc0b561468d395fb766d9.swidtag'

Microdnf does not seem to have that problem.

The regression was uncovered by https://travis-ci.org/swidtags/libdnf-plugin-swidtags/builds/645373412 passing 26 days ago, and https://travis-ci.org/swidtags/libdnf-plugin-swidtags/builds/656268671 failing yesterday, with the same code (just test on Fedora 32 was added).

The problem is on all Fedora versions, not just 30.

Comment 1 Jaroslav Rohel 2020-03-03 11:54:02 UTC
The bug is not related to the plugin interface.
But there is a bug in libdnf caused by another fix https://github.com/rpm-software-management/libdnf/pull/887 that solves some issues with PackageKit. The bug affects the use of additional metadata types. And swidtags plugin uses additional metadata type.
I created a fix: PR https://github.com/rpm-software-management/libdnf/pull/903

Comment 2 Jan Pazdziora 2020-03-03 14:52:08 UTC
Thanks for the investigation and for the fix.

Comment 3 Ben Cotton 2020-04-30 20:12:18 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 4 Jan Pazdziora 2020-05-05 09:37:18 UTC
Moving to Fedora 31 to keep on the radar and reverify, even if I was not specifically able to reproduce on Fedora 31, due to bug 1800468.

Comment 5 Fedora Update System 2020-06-03 08:55:20 UTC
FEDORA-2020-f3f7292b39 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-f3f7292b39

Comment 6 Fedora Update System 2020-06-04 03:00:27 UTC
FEDORA-2020-f3f7292b39 has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-f3f7292b39`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-f3f7292b39

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2020-06-04 04:08:33 UTC
FEDORA-2020-a943fde9ba has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-a943fde9ba`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-a943fde9ba

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2020-06-05 02:29:56 UTC
FEDORA-2020-a943fde9ba has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2020-06-19 01:05:29 UTC
FEDORA-2020-f3f7292b39 has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.