Bug 2209387 - libdnf-plugin-subscription-manager: don't depend on `dnf`
Summary: libdnf-plugin-subscription-manager: don't depend on `dnf`
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: subscription-manager
Version: rawhide
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Pino Toscano
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2166026
TreeView+ depends on / blocked
 
Reported: 2023-05-23 18:20 UTC by Evan Goode
Modified: 2023-08-02 16:11 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-02 16:11:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github candlepin subscription-manager pull 3274 0 None Merged spec: update deps for dnf or in libdnf packages 2023-05-31 07:32:26 UTC

Description Evan Goode 2023-05-23 18:20:43 UTC
(I'm filing issues with all the packages that currently depend on `dnf`.)

DNF 5 is a new package manager that will replace DNF 4 in Fedora 39+. Starting in Fedora 39, the `dnf` command will be owned by the `dnf5` package rather than the `dnf` package, and `dnf5` will obsolete `dnf`. Since libdnf-plugin-subscription-manager currently depends on `dnf`, it should choose one of the following strategies to avoid breaking the approaching Fedora upgrade and maintain compatibility with future versions of Fedora:
- Add support for DNF 5 and depend on the `libdnf5` or `dnf5` package in Fedora 39+ instead of `dnf`. Builds of DNF 5 are available in this COPR repository: https://copr.fedorainfracloud.org/coprs/rpmsoftwaremanagement/dnf5-unstable/, and documentation is available here: https://dnf5.readthedocs.io/en/latest/.
- Alternatively, or in the meantime, change the libdnf-plugin-subscription-manager package to depend on `python3-dnf` instead of `dnf`. The Python API and /usr/bin/dnf-3 have always been provided by `python3-dnf`, while `dnf` provides the symlink from /usr/bin/dnf to /usr/bin/dnf-3. Once `dnf` is obsoleted, the old DNF 4 command will still be available in the distribution, but only as `dnf-3`. (The binary is called `dnf-3`  rather than `dnf4` for historical reasons; it was originally the Python 3 version of DNF).

libdnf-plugin-subscription-manager should eventually be rewritten as a DNF 5 plugin, but the immediate issue is dropping the dependency on `dnf`. We are planning to replace DNF with DNF 5 in Fedora Rawhide very soon, in the next couple weeks, and the `libdnf-plugin-subscription-manager` package will break as long as it still depends on the `dnf` package.

For more information about the switch to DNF 5, see https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5.

Reproducible: Always

Comment 1 Pino Toscano 2023-08-02 16:11:52 UTC
Uploaded to Rawhide:

https://bodhi.fedoraproject.org/updates/FEDORA-2023-849c7e74a2


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