Bug 598221 - yum (or mock?) not installing all build dependencies
Summary: yum (or mock?) not installing all build dependencies
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 13
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 598639
TreeView+ depends on / blocked
 
Reported: 2010-05-31 19:47 UTC by Ville Skyttä
Modified: 2014-01-21 23:15 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 598639 (view as bug list)
Environment:
Last Closed: 2011-02-22 19:03:25 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
root.log (266.20 KB, text/plain)
2010-06-02 01:08 UTC, Matt Domsch
no flags Details

Description Ville Skyttä 2010-05-31 19:47:50 UTC
http://linux.dell.com/files/fedora/FixBuildRequires/mock-results/i386/javasqlite-20100131-1.fc13.src.rpm/result/root.log

On a quick look, this looks like a yum (or mock?) bug to me.

javasqlite specifically wants both 1.5 and 1.6 java-devel packages installed at build time, and has:

BuildRequires:  java-devel = 1:1.6.0
BuildRequires:  java-devel = 1.5.0

java-1.6.0-openjdk-devel satisfies the first but not the second, and does not obsolete the package providing the second (java-1.5.0-gcj-devel).  However, only java-1.6.0-openjdk-devel got installed according to the root log so failure is expected as build requirements are not met.

Curiously, I cannot reproduce on a F-13 x86_64 host, it builds fine in mock here; both java-1.6.0-openjdk-devel and java-1.5.0-gcj-devel get installed as intended.

Comment 1 James Antill 2010-06-01 04:54:10 UTC
 Can you test if this patch fixes it for you:

http://yum.baseurl.org/gitweb?p=yum-utils.git;a=commitdiff;h=7b64bfa4f38fa382e00eae2f4a30263707ae81a3

Comment 2 Ville Skyttä 2010-06-01 14:33:05 UTC
Unfortunately not because I could not reproduce it in the first place, but I'm Cc'ing Matt Domsch, his build logs showed it: Matt, could you apply the patch in comment 1 and retry the FixBuildRequires javasqlite builds?

Comment 3 seth vidal 2010-06-01 17:15:25 UTC
http://fpaste.org/Xpbx/

so here's the backstory:

mock gets the requires from the srpm
it calls rpmUtils.miscutils.formatRequire() to return them

rpm-python changed so it is now offering Longs instead of ints as the requiresflags.

this meant that formatRequire breaks and doesn't return the requires versions at all - just the requiresnames. :(

the patch at the top of this comment fixes it and makes all of this work.

Comment 4 Matt Domsch 2010-06-02 01:08:42 UTC
Created attachment 418870 [details]
root.log

With thanks to skvidal for tracking down this difficult bug, and quickly, I have tested his patch on my buildsystems.  javasqlite.i386 built properly, and see the attached root.log to see that it now pulled in both java-devel packages as expected.

IMO, this can be closed after a new yum is released into rawhide with this patch.

Thanks,
Matt


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