Bug 640799

Summary: Broken dependency: ruby-cairo-devel-1.8.5-1.fc14.i686 requires ruby-cairo = 0:1.8.5-1.fc14
Product: [Fedora] Fedora Reporter: James Laska <jlaska>
Component: ruby-cairoAssignee: Mamoru TASAKA <mtasaka>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 14CC: bugs.michael, jturner, mtasaka, notting
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: repoclosure_hash:6c4f31981fba2ee1e8ce84d9b558c4093edaa9e08e1067d42ad90a3ddced0790
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-07 15:11:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 635218, 642449    

Description James Laska 2010-10-06 19:47:35 UTC
Added repo-1 repo from http://download.fedoraproject.org/pub/fedora/linux/development/14/x86_64/os
Added repo-2 repo from http://download.fedoraproject.org/pub/fedora/linux/updates/testing/14/x86_64
Reading in repository metadata - please wait....
Checking Dependencies
Repos looked at: 2
   repo-1
   repo-2
Num Packages in Repos: 22082
package: ruby-cairo-devel-1.8.5-1.fc14.i686 from repo-2
  unresolved deps: 
     ruby-cairo = 0:1.8.5-1.fc14
package: ruby-cairo-devel-1.8.5-1.fc14.x86_64 from repo-2
  unresolved deps: 
     ruby-cairo = 0:1.8.5-1.fc14

Comment 1 Mamoru TASAKA 2010-10-06 20:06:24 UTC
http://koji.fedoraproject.org/koji/buildinfo?buildID=193295

So I think repository setting is broken or something else
happened.

Comment 2 James Laska 2010-10-06 20:26:25 UTC
I think something else may be wrong, on a *freshly* installed system, try running

# yum list ruby-cairo*
Available Packages
ruby-cairo.i686                                               1.10.0-2.fc14                                         updates-testing
ruby-cairo-devel.i686                                         1.8.5-1.fc14                                          fedora         

That explains the deps failure.  But where did the base package ruby-cairo-1.10.0-2.fc14 come from?

Comment 3 Bill Nottingham 2010-10-06 20:27:52 UTC
$ repoquery  -q --qf "%{SOURCERPM}" ruby-cairo-1.10.0-2.fc14
rubygem-cairo-1.10.0-2.fc14.src.rpm

Comment 4 Michael Schwendt 2010-10-06 20:41:11 UTC
rubygem-cairo is the new pkg name and replaces ruby-cairo. There are Obsoletes in place, so e.g. rubygem-cairo-devel obsoletes ruby-cairo-devel:
http://koji.fedoraproject.org/koji/rpminfo?rpmID=2202310

The depcheck should not examine the ruby-cairo-devel anymore. Which repoclosure release was it exactly?

Comment 5 Bill Nottingham 2010-10-06 20:44:37 UTC
If ruby-cairo is truly dead, the packager should retire it.

Comment 6 Michael Schwendt 2010-10-06 20:49:53 UTC
That can wait until the new pkg has left -testing, can't it?
https://admin.fedoraproject.org/updates/rubygem-cairo-1.10.0-2.fc14

Comment 7 James Laska 2010-10-06 20:50:56 UTC
(In reply to comment #4)
> The depcheck should not examine the ruby-cairo-devel anymore. Which repoclosure
> release was it exactly?

http://koji.fedoraproject.org/koji/buildinfo?buildID=188011

I suspect that running repoclosure with --newest (which was the recommendation for QA) might also be adding complexity

Comment 8 Mamoru TASAKA 2010-10-06 20:58:04 UTC
(In reply to comment #5)
> If ruby-cairo is truly dead, the packager should retire it.

I will request rel-eng to block ruby-cairo once rubygem-cairo
is pushed into stable, for *F-15 only* (as usual). So anyway
there is nothing I can do for this (all I can do is to check
if upgrade path is correct or not)

Comment 9 Mamoru TASAKA 2010-10-06 21:18:48 UTC
I don't know how repoclosure works, however I just note
the current situation

Currently ruby-cairo-1.8.5-1.fc14.srpm (in fedora) creates
- ruby-cairo
- ruby-cairo-devel
  and ruby-cairo-devel requires ruby-cairo

And there is rubygem-cairo-1.10.0-2.fc14.srpm in testing which
creates
- rubygem-cairo
- ruby-cairo
- rubygem-cairo-devel
- rubygem-cairo-doc
Note that currently both ruby-cairo.srpm and rubygem-cairo.srpm create
ruby-cairo binary rpm. Now ruby-cairo binary rpm has R: rubygem-cairo,
rubygem-cairo-devel Obsoletes/Provides ruby-cairo-devel.

So at least until rubygem-cairo is pushed into stable, 2 ruby-cairo
binary rpms are there if both fedora and testing repositories are
enabled. And perhaps I won't request rel-eng to block ruby-cairo on
F-14 (and below) even after rubygem-cairo is pushed into stable
(request only for F-15)

Comment 10 Michael Schwendt 2010-10-06 21:19:54 UTC
Re: comment 7

--newest/-n ought to be the default anyway, since it is closest to Yum working on latest pkg releases for ordinary "yum install" and "yum update" operations.

I can reproduce the ruby-cairo problem with yum-utils-1.1.28-1.fc14.noarch
( http://mschwendt.fedorapeople.org/rc-fedora-testing-14-x86_64.txt )
but not with extras-repoclosure. Seems to be a bug in yum-utils.

Comment 11 Michael Schwendt 2010-10-06 21:43:09 UTC
This is what repoclosure prints with debug code not commented out:

| ignoring obsolete pkg ruby-cairo-devel-1.8.5-1.fc14.i686
| ('rubygem-cairo-devel', 'i686', '0', '1.10.0', '2.fc14')

Later it looks at the package nevertheless. Could also be a problem in Yum or Yum API usage, packageSack delPackage method.

| package: ruby-cairo-devel-1.8.5-1.fc14.i686 from updates-testing
|   unresolved deps: 
|      ruby-cairo = 0:1.8.5-1.fc14

Comment 12 James Laska 2010-10-07 11:55:44 UTC
(In reply to comment #11)

Have you opened a bug against yum-utils (or yum) regarding this issue?

Comment 13 Bill Nottingham 2010-10-07 14:47:49 UTC
(In reply to comment #9)
> Note that currently both ruby-cairo.srpm and rubygem-cairo.srpm create
> ruby-cairo binary rpm. Now ruby-cairo binary rpm has R: rubygem-cairo,
> rubygem-cairo-devel Obsoletes/Provides ruby-cairo-devel.
> 
> So at least until rubygem-cairo is pushed into stable, 2 ruby-cairo
> binary rpms are there if both fedora and testing repositories are
> enabled. And perhaps I won't request rel-eng to block ruby-cairo on
> F-14 (and below) even after rubygem-cairo is pushed into stable
> (request only for F-15)

If you're pushing the stable update into F-14, why would you only block it in F-15?

Comment 14 Mamoru TASAKA 2010-10-07 15:11:11 UTC
http://fedoraproject.org/wiki/PackageMaintainers/PackageEndOfLife
says usually blocking should be done on master.

Anyway during the period rubygem-cairo is in testing, this is not
a bug on rubygem-cairo or ruby-cairo side.

Comment 15 Bill Nottingham 2010-10-07 15:14:29 UTC
Wiki page fixed.

Comment 16 Mamoru TASAKA 2010-10-07 15:33:37 UTC
Thanks, then once rubygem-cairo is pushed into stable, I will
request rel-eng team to block ruby-cairo on appropriate branches
(but anyway I don't know how repoclosure goes).

Comment 17 Michael Schwendt 2010-10-07 16:41:28 UTC
@James : No, I've not submitted a bug for yum*, because I assume you would do it.

@Mamoru : repoclosure downloads all repo metadata and tries to resolve all "Requires" for all packages (or in case of --newest, only the most recent NEVRs). Brute-force.

Comment 18 James Laska 2010-10-07 17:12:15 UTC
(In reply to comment #17)
> @James : No, I've not submitted a bug for yum*, because I assume you would do
> it.

I'm glad I asked ... I assumed you would :)

Bug#641067 filed.

Comment 19 Mamoru TASAKA 2010-10-11 19:06:20 UTC

*** This bug has been marked as a duplicate of bug 641067 ***