Bug 797348 - ERROR with transaction check vs depsolve:
Summary: ERROR with transaction check vs depsolve:
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-25 02:00 UTC by John Antony
Modified: 2014-01-21 23:21 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-03-14 19:06:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
an output from "yum update -d5 firefox 'xulrunner*'" on the current rawhide installation (5.31 KB, text/plain)
2012-03-14 18:39 UTC, Michal Jaegermann
no flags Details

Description John Antony 2012-02-25 02:00:38 UTC
Description of problem:
ERROR with transaction check vs depsolve:
gnome-utils = 1:3.2.1-1.fc17 is needed by gnome-system-log-1:3.2.1-1.fc17.i686

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


How reproducible:
yum -y update gnome-utils*
Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Loading mirror speeds from cached hostfile
 * rawhide: ftp.jaist.ac.jp
 * rpmfusion-free-rawhide: mirror.de.leaseweb.net
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package gnome-dictionary.i686 0:3.3.2-3.fc17 will be obsoleting
---> Package gnome-screenshot.i686 0:3.3.2-1.fc17 will be obsoleting
---> Package gnome-utils.i686 1:3.2.1-1.fc17 will be obsoleted
--> Processing Dependency: gnome-utils = 1:3.2.1-1.fc17 for package: 1:gnome-system-log-3.2.1-1.fc17.i686
---> Package gnome-utils-libs.i686 1:3.2.1-1.fc17 will be obsoleted
--> Finished Dependency Resolution
Error: Package: 1:gnome-system-log-3.2.1-1.fc17.i686 (@rawhide/17)
           Requires: gnome-utils = 1:3.2.1-1.fc17
           Removing: 1:gnome-utils-3.2.1-1.fc17.i686 (@rawhide/17)
               gnome-utils = 1:3.2.1-1.fc17
           Obsoleted By: gnome-screenshot-3.3.2-1.fc17.i686 (rawhide)
               Not found
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Steps to Reproduce:
1. PackageKit Software update
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Michal Jaegermann 2012-03-14 18:37:39 UTC
What looks like the same issue hits with yum-3.4.3-22.fc18.  An attempt to run

yum update firefox 'xulrunner*'

on a rawhide installations (versions to be updated to are
firefox-11.0-1.fc18.x86_64, xulrunner-11.0-3.fc18.x86_64 and
xulrunner-devel-11.0-3.fc18.x86_64) ends up with:

ERROR with transaction check vs depsolve:
gecko-libs(x86-64) = 11.0-3-1 is needed by firefox-11.0-1.fc18.x86_64

but "yum provides 'gecko-libs(x86-64) = 11.0-3-1'" query comes back with xulrunner-11.0-3.fc18.x86_64 so everything seems to be fine.  Now what?

A log from run with -d5 yum flag is attached.

Comment 2 Michal Jaegermann 2012-03-14 18:39:16 UTC
Created attachment 570065 [details]
an output from "yum update -d5 firefox 'xulrunner*'" on the current rawhide installation

Comment 3 James Antill 2012-03-14 19:06:27 UTC
There are at least 3 different problems in this BZ, the first:

ERROR with transaction check vs depsolve:
gnome-utils = 1:3.2.1-1.fc17 is needed by gnome-system-log-1:3.2.1-1.fc17.i686

...means that yum created a transaction, but rpm refused to run it due to the above missing dep.
 This often means that yum assumes the dep. was there (but it isn't, due to rpm --force --nodeps usage).


How reproducible:
yum -y update gnome-utils*
[...]
--> Finished Dependency Resolution
Error: Package: 1:gnome-system-log-3.2.1-1.fc17.i686 (@rawhide/17)
           Requires: gnome-utils = 1:3.2.1-1.fc17
           Removing: 1:gnome-utils-3.2.1-1.fc17.i686 (@rawhide/17)
               gnome-utils = 1:3.2.1-1.fc17
           Obsoleted By: gnome-screenshot-3.3.2-1.fc17.i686 (rawhide)
               Not found

...this is just a generic packaging bug in gnome-system-log or gnome-screenshot or something else. Yum is just telling you that you can't do the above due to it.


The third looks like a bug in rpmbuild, and the package for firefox.

The problem is that the package requires:

ERROR with transaction check vs depsolve:
gecko-libs(x86-64) = 11.0-3-1 is needed by firefox-11.0-1.fc18.x86_64


...which can't be valid. The other package provides:

xulrunner-11.0-3.fc18.x86_64 : XUL Runtime for Gecko Applications
Repo        : rawhide
Matched from:
Provides    : gecko-libs(x86-64) = 11.0

...the problem is that '-' is not a valid character in a version _or_ a release "number" ... yum is just splitting at the first '-' and so going with if v=11.0 and r=3-1 ... which is wrong, but works. rpm is presumably doing something different.

But, as I said, rpmbuild should be throwing an error at build time because foo-11.0-3-1 would be taken as n=foo-11.0, v=3, r=1.

Comment 4 Michal Jaegermann 2012-03-14 19:21:09 UTC
That could be a problem with firefox and xulrunner after all despite of a yum claim that xulrunner-11.0-3.fc18 provides gecko-libs(x86-64) = 11.0-3-1.

Looking directly at available packages I see:
# rpm -qRp firefox-11.0-1.fc18.x86_64.rpm | grep gecko
gecko-libs(x86-64) = 11.0-3-1

but 
# rpm -q --provides -p xulrunner-11.0-3.fc18.x86_64.rpm | \
     grep gecko
gecko-libs = 11.0
gecko-libs(x86-64) = 11.0

So why "yum provides ..." comes back with a suitable package?

Comment 5 Michal Jaegermann 2012-03-14 19:23:35 UTC
(In reply to comment #4)

> So why "yum provides ..." comes back with a suitable package?

Ah, ok.  See comment #3. :-)  Effects are quite confusing.


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