Bug 1531118

Summary: dnfdragora must not Recommends: dnfdragora-updater
Product: [Fedora] Fedora Reporter: Kevin Kofler <kevin>
Component: dnfdragoraAssignee: Björn Esser (besser82) <besser82>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 26CC: besser82, leigh123linux, lupinix.fedora, ngompa13, rdieter
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: dnfdragora-1.0.1-9.git20180108.b0e8a66.fc27 dnfdragora-1.0.1-9.git20180108.b0e8a66.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-12 01:52:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kevin Kofler 2018-01-04 15:49:31 UTC
Description of problem:
In the latest update, dnfdragora includes:
Recommends: dnfdragora-updater
This drags in dnfdragora-updater on the KDE Plasma Spin on updates and will do so again and again on every update of the package. This is very broken because dnfdragora-updater duplicates the plasma-pk-updates updater installed by default.

Please remove this Recommends as soon as possible (in all releases including Rawhide).

Version-Release number of selected component (if applicable):
dnfdragora-1.0.1-8.git20171229.24e4647.fc26
dnfdragora-1.0.1-8.git20171229.24e4647.fc27
dnfdragora-1.0.1-8.git20171229.24e4647.fc28

How reproducible:
Always

Steps to Reproduce:
1. Install the KDE Spin.
2. Apply updates.

Actual results:
dnfdragora-updater gets dragged in by Recommends.

Expected results:
dnfdragora-updater does NOT get pulled in.

Additional info:
Since DNF reinstalls Recommends on every update of the recommending package (unless explicitly excluded), this Recommends needs to go away permanently.

Comment 1 Rex Dieter 2018-01-04 15:52:47 UTC
My recommended .spec patch:

diff --git a/dnfdragora.spec b/dnfdragora.spec
index 17adff6..6e7165a 100644
--- a/dnfdragora.spec
+++ b/dnfdragora.spec
@@ -14,7 +14,7 @@
 
 Name:		dnfdragora
 Version:	1.0.1
-Release:	8%{?git_rel}%{?dist}
+Release:	9%{?git_rel}%{?dist}
 Summary:	DNF package-manager based on libYui abstraction
 
 License:	GPLv3+
@@ -46,11 +46,6 @@ Requires:	python3-dnfdaemon
 Requires:	python3-PyYAML
 Requires:	python3-yui		>= 1.1.1-10
 
-Obsoletes:	%{name}-gui		< 1.0.1-7
-Provides:	%{name}-gui		= %{version}-%{release}
-
-Recommends:	%{name}-updater		= %{version}-%{release}
-
 # Yumex-DNF is dead.  Let's use dnfdragora-gui as drop-in replacement.
 # See:  https://pagure.io/fesco/issue/1690#comment-434558
 %if (0%{?fedora} >= 27 && 0%{?fedora} <= 30)
@@ -70,7 +65,9 @@ using Qt 5, GTK+ 3, or ncurses interfaces.
 %package updater
 Summary:	Update notifier applet for %{name}
 
-Requires:	%{name}			== %{version}-%{release}
+Obsoletes:      %{name}-gui             < 1.0.1-7
+Provides:       %{name}-gui             = %{version}-%{release}
+Requires:	%{name}			= %{version}-%{release}
 Requires:	libnotify
 Requires:	python3-pillow
 Requires:	python3-pystray
@@ -168,6 +165,9 @@ fi
 
 
 %changelog
+* Thu Jan 04 2018 Rex Dieter <rdieter> - 1.0.1-9
+- fix upgrade path, avoid Recommends (#1531118)
+
 * Fri Dec 29 2017 Björn Esser <besser82> - 1.0.1-8.git20171229.24e4647
 - Add proper Obsoletes

Comment 2 Neal Gompa 2018-01-04 16:27:56 UTC
The "dnfdragora-gui" Provides needs to stay in the main package (so reverse rich deps work correctly). The correct thing to do would be to have Obsoletes but no Recommends. That way it'll install one time, and then it can be de-installed afterward.

Comment 3 Kevin Kofler 2018-01-04 16:38:25 UTC
Obsoletes: %{name}-gui in the -updater subpackage is acceptable, Obsoletes: %{name} is not, and the Recommends is also not.

Comment 4 Fedora Update System 2018-01-09 10:48:53 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ca49003128

Comment 5 Fedora Update System 2018-01-09 10:49:44 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-ff5c89f68a

Comment 6 Fedora Update System 2018-01-09 17:24:07 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ff5c89f68a

Comment 7 Fedora Update System 2018-01-09 17:44:55 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-ca49003128

Comment 8 Fedora Update System 2018-01-12 01:52:31 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Fedora Update System 2018-01-17 16:00:50 UTC
dnfdragora-1.0.1-9.git20180108.b0e8a66.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.