Bug 1619364

Summary: gnucash-2.6.21-2.el7 breaks yum due to file conflicts with webkitgtk-2.4.9-1.el7
Product: [Fedora] Fedora EPEL Reporter: James Ralston <ralston>
Component: gnucashAssignee: Bill Nottingham <notting>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: kfiresmith, notting, notting, pgervase
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gnucash-2.6.21-4.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-28 00:43:26 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 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.