Bug 1194792 - Processing Dependency: dnf = 0.6.3 for package: dnf-plugins-extras-common-0.0.1-2.fc21.noarch
Summary: Processing Dependency: dnf = 0.6.3 for package: dnf-plugins-extras-common-0.0...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: dnf-plugins-extras
Version: 21
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Igor Gnatenko
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-02-20 18:31 UTC by Andre Robatino
Modified: 2015-02-24 00:59 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-24 00:59:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Andre Robatino 2015-02-20 18:31:08 UTC
Description of problem:
Resolving Dependencies
--> Running transaction check
---> Package dnf.noarch 0:0.6.3-2.fc21 will be updated
--> Processing Dependency: dnf = 0.6.3 for package: dnf-plugins-extras-common-0.0.1-2.fc21.noarch
---> Package dnf.noarch 0:0.6.4-1.fc21 will be an update

Packages skipped because of dependency problems:
    dnf-0.6.4-1.fc21.noarch from updates

Version-Release number of selected component (if applicable):
dnf-0.6.4-1.fc21

How reproducible:
always

Comment 1 Jan Zeleny 2015-02-23 08:49:36 UTC
It seems that dnf-plugins-extras do not keep up with dnf, which has been updated recently. I think that depending on one specific version of dnf is not wise, as this issue will be repeated every time dnf receives an update and dnf-plugins-extras do not. If there is not a specific reason why to do that, I'd recommend going for ">=" relation.

Comment 2 Radek Holy 2015-02-23 08:58:54 UTC
BTW, I've already reported this potential problem when I was reviewing the package. I was assured that the author knows about it and that he'll release new version with every DNF version bump...

To your question... We have the same problem with dnf-plugins-core. If we have ">=", there is a big chance that every DNF API change can break the plugins. If we have "=", we have to release both "dnf" and "dnf-plugins-core" every time. We need to version DNF's API somehow. Something similar to soname. I did some initial investigation but I didn't find a common practice in Python libraries yet.

Comment 3 Jan Zeleny 2015-02-23 09:32:05 UTC
(In reply to Radek Holy from comment #2)
> BTW, I've already reported this potential problem when I was reviewing the
> package. I was assured that the author knows about it and that he'll release
> new version with every DNF version bump...
> 
> To your question... We have the same problem with dnf-plugins-core. If we
> have ">=", there is a big chance that every DNF API change can break the
> plugins. If we have "=", we have to release both "dnf" and
> "dnf-plugins-core" every time. We need to version DNF's API somehow.
> Something similar to soname. I did some initial investigation but I didn't
> find a common practice in Python libraries yet.

You are absolutely correct. The API needs to be stable first for the ">=" relation not to cause any troubles,

However, there is one piece of the puzzle that you did not consider. Once DNF is declared default in Fedora, the API policy needs to be quite strict, as dnf will be one of the core components. If I was exaggerating, I would say that the API needed to be absolutely stable from that point on.

Realistically it will be a bit better but doing incompatible API changes between dnf minor releases will be unacceptable for the distribution. Even the last API change in hawkey caused quite a few problems that we need to avoid in the future.

Considering the above, I think the ">=" relation between plugin packages will be preferred once dnf is default in Fedora.

Comment 5 Radek Holy 2015-02-23 11:37:46 UTC
I would be very happy if we could avoid backwards-incompatible API changes between the minor releases.

Anyway, I assume that we agree that these changes can/must happen between major releases. So even in that case the ">=" relation does not work perfectly since the new major release can break the packages that depend on the earlier major release. But I admit that it seems that nobody cares about this in the Python world. At least in Fedora. And I admit that we are able to find such Fedora (!) packages and let them know that they should be prepared for the upcoming change.

Comment 6 Igor Gnatenko 2015-02-24 00:59:07 UTC
arrived to stable repos


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