Bug 1619364 - gnucash-2.6.21-2.el7 breaks yum due to file conflicts with webkitgtk-2.4.9-1.el7
Summary: gnucash-2.6.21-2.el7 breaks yum due to file conflicts with webkitgtk-2.4.9-1.el7
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: gnucash
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-08-20 15:43 UTC by James Ralston
Modified: 2019-07-28 00:43 UTC (History)
4 users (show)

Fixed In Version: gnucash-2.6.21-4.el7
Clone Of:
Environment:
Last Closed: 2019-07-28 00:43:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description James Ralston 2018-08-20 15:43:43 UTC
Description of problem:

Attempting to update to gnucash-2.6.21-2.el7.x86_64 breaks yum if webkitgtk-2.4.9-1.el7 is already installed:

Transaction check error:
  file /usr/share/locale/de/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/es/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/fr/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/it/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/ko/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/pt_BR/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/ru/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64
  file /usr/share/locale/zh_CN/LC_MESSAGES/WebKitGTK-2.0.mo from install of gnucash-2.6.21-2.el7.x86_64 conflicts with file from package webkitgtk-2.4.9-1.el7.x86_64

This is a very bad breakage, because setting yum's skip_broken=1 won't work around it, because yum doesn't detect the conflict in the depsolv stage. This aborts the entire yum transaction. (I found this problem because I noticed my desktop host was missing security updates, and went digging for the reason.)

The gnucash-2.6.21-2.el7 package does contain this provides:

$ rpm -qi --provides gnucash-2.6.21-2.el7 | grep webkit
bundled(webkitgtk) = 2.4.11
libwebkitgtk-1.0.so.0()(64bit)

…but the RHEL7 yum clearly doesn't understand what that means.

Having gnucash-2.6.21-2.el7 contribute a Provides/Obsoletes for webkitgtk might be the only way out of this, even though that's a pretty big hammer.

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

gnucash-2.6.21-2.el7

How reproducible:

Ensure gnucash-2.6.18-1.el7 and webkitgtk-2.4.9-1.el7 are installed, then attempt to yum update to gnucash-2.6.21-2.el7.

Actual results:

Yum dies with file conflicts, as per above.

Expected results:

Either gnucash needs to incorporate webkitgtk in a way that doesn't conflict with the installed webkitgtk package, or else it needs to contain a Provides/Obsoletes for webkitgtk.

Comment 1 Bill Nottingham 2018-08-20 15:52:52 UTC
webkitgtk is no longer an EPEL package, and is not a RHEL package.

See https://bugzilla.redhat.com/show_bug.cgi?id=1589486#c3, etc.

Comment 2 James Ralston 2018-08-20 16:59:41 UTC
It doesn't matter that webkitgtk is *currently* not an EPEL package. It *was* an EPEL package in the past, and accordingly, shipping a package update (gnucash-2.6.18-1.el7, in this case) that contains file conflicts with webkitgtk *must* assumed to be a breaking change, and should be announced in advance as per EPEL policy (1), if not avoided outright.

I appreciate your effort in maintaining EPEL packages. As a Fedora packager, I know first-hand that shoehorning Fedora packages into RHEL is no easy task. (I have also tangled with the webkitgtk pile of sadness before, so I can empathize.)

But kicking a package update out the door that you *know* will fatally break yum for everyone who had an older version of the package installed (and thus will have pulled in webkitgtk as a dependency), *without* announcing it in any way, is a d*ck move. A n00b Fedora/EPEL packager might not know any better. You do.

Please either announce this breaking change (however belatedly) to fedora-announce, or else push new package updates that resolve the breakage.

(1) https://fedoraproject.org/wiki/EPEL#Can_I_rely_on_these_packages.3F

Comment 3 Bill Nottingham 2018-08-20 18:51:30 UTC
Eh, I'd say retiring webkitgtk entirely without informing downstream packagers or the announce list was a bit worse, but c'est la vie.

Simplest fix is likely nuking the translations, but I'll have to check if that actually breaks something in those languages.

Comment 4 Fedora Update System 2019-07-12 15:05:13 UTC
FEDORA-EPEL-2019-aa8e8965dc has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-aa8e8965dc

Comment 5 Fedora Update System 2019-07-13 01:15:57 UTC
gnucash-2.6.21-4.el7 has been pushed to the Fedora EPEL 7 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-EPEL-2019-aa8e8965dc

Comment 6 Fedora Update System 2019-07-28 00:43:26 UTC
gnucash-2.6.21-4.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, 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.