[Bug 1154973] New: Performing removal or installation using pkcon when updates are available insists on also installing available updates
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973 Bug ID: 1154973 Summary: Performing removal or installation using pkcon when updates are available insists on also installing available updates Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: libzypp Assignee: zypp-maintainers@suse.de Reporter: admin@leinir.dk QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- When performing any removal or install operation using pkcon while updates are available, the operation will also require performing the available upgrades (especially puzzling when removing software, while arguably you might cause a cascade of updates when installing something). Here is the output of me doing a `pkcon remove matrix-quaternion`: leinir@copernicus:~> pkcon remove matrix-quaternion Resolving [=========================] Querying [=========================] Testing changes [=========================] Finished [ ] (0%) The following packages have to be obsoleted: kernel-firmware-20190909-1.1.noarch Linux kernel firmware files libldb1-1.5.5-1.2.x86_64 An LDAP-like embedded database The following packages have to be removed: matrix-quaternion-0.0.9.4-7.10.x86_64 QT Matrix client matrix-quaternion-lang-0.0.9.4-7.10.noarch Translations for package matrix-quaternion The following packages have to be updated: MozillaFirefox-69.0.2-1.1.x86_64 Mozilla Firefox Web Browser NetworkManager-1.18.2-1.1.x86_64 Network Link Manager and user applications for it NetworkManager-branding-openSUSE-42.1-4.15.noarch Default ${branding_name} branding for /etc/NetworkManager/NetworkManager.conf (...ad nauseum) Encountered during general use of Discover on openSuse Tumbleweed: https://bugs.kde.org/show_bug.cgi?id=413370 -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c1
Nathaniel Graham
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
Paul Tannington
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c2
Fabian Vogt
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c5
--- Comment #5 from Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
Michael Andres
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c6
--- Comment #6 from Jonathan Kang
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c7
--- Comment #7 from Fabian Vogt
It's mainly about when to set and reset upgradeMode.
Running "pkcon update" leads to calling get-updates and update-packages. A list of update candidates will be passed from get-updates to update-packages.
* If upgradeMode is set in get-updates and reset to FALSE when it's done, update-packages won't be able to perform a dup-like action in Tumbleweed. * If upgradeMode is set in get-updates and not reset when finished, removing/ installing packages will lead to a full dup-style system upgrade in Tumbleweed. * We can try to set upgradeMode in update-packages, but update-packages is responsible for updating specific packages and upgrading the whole system.
I see two options: a) A hack: Let get-updates a fake "this-is-a-dup" package as marker which is passed to update-packages later. b) Just not support update-packages on its own on TW. Picking out just a few packages from a new snapshot is not guaranteed to work anyway. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c8
--- Comment #8 from Jonathan Kang
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c9
--- Comment #9 from Fabian Vogt
Emm. One of the problems in the zypp backend is many methods like install-packages, install-files and remove-packages calls solver.resolvePool. So as long as upgradeMode is set to TRUE and not reset in time, calling those methods leads to a full system upgrade in Tumbleweed.
I understand that. Why not set the upgrade mode correctly before each transaction? Having a timer is a really ugly hack with disastrous consequences, which this report clearly shows. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c10
--- Comment #10 from Jonathan Kang
I understand that. Why not set the upgrade mode correctly before each transaction? Having a timer is a really ugly hack with disastrous consequences, which this report clearly shows.
It's mainly because the way PackageKit works doesn't give zypp backend too much information about what's really happening. For example: "pkcon get-updates" calls get-updates where upgradeMode is set and reset after it's finished. While "pkcon update" calls get-updates and update-packages. As upgradeMode is set and reset in get-updates, resolvPool in updates-packages is run under upgradeMode is FALSE, which makes "pkcon update" unable to do a dup-style update. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c11
--- Comment #11 from Fabian Vogt
(In reply to Fabian Vogt from comment #9)
I understand that. Why not set the upgrade mode correctly before each transaction? Having a timer is a really ugly hack with disastrous consequences, which this report clearly shows.
It's mainly because the way PackageKit works doesn't give zypp backend too much information about what's really happening. For example: "pkcon get-updates" calls get-updates where upgradeMode is set and reset after it's finished. While "pkcon update" calls get-updates and update-packages. As upgradeMode is set and reset in get-updates, resolvPool in updates-packages is run under upgradeMode is FALSE, which makes "pkcon update" unable to do a dup-style update.
Which means the two options I suggested in comment 7 would work just fine, wouldn't they? -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c12
--- Comment #12 from Jonathan Kang
I see two options:
a) A hack: Let get-updates a fake "this-is-a-dup" package as marker which is passed to update-packages later.
This actually has a side effect: "pkcon get-updates" shows the useless fake package.
b) Just not support update-packages on its own on TW. Picking out just a few packages from a new snapshot is not guaranteed to work anyway.
We can. But some changes in gnome-packagekit and GNOME Software should be done to make it work. We should evaluate the effect needed before proceeding with this change. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
Jonathan Kang
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973
http://bugzilla.opensuse.org/show_bug.cgi?id=1154973#c20
Nathaniel Graham
participants (1)
-
bugzilla_noreply@novell.com