Bug 436313 - yum and rpm won't agree on dependency resolved or not
Summary: yum and rpm won't agree on dependency resolved or not
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 8
Hardware: i386
OS: Linux
low
low
Target Milestone: ---
Assignee: Seth Vidal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-03-06 14:34 UTC by Roi Shivek
Modified: 2014-01-21 23:02 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-03-06 15:01:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
my source (5.63 MB, application/x-rpm)
2008-03-06 14:34 UTC, Roi Shivek
no flags Details

Description Roi Shivek 2008-03-06 14:34:53 UTC
Description of problem:


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


How reproducible:
always

Steps to Reproduce:
1.download xstream src from
http://www.jpackage.org/browser/rpm.php?jppversion=1.7&id=7176
2.install java 1.5.0 gcj
3.try to rebuild xstream src rpm.
  
Actual results:
[root@nitai ~]# rpmbuild --rebuild xstream-1.2.2-1.1jpp.src.rpm
Installing xstream-1.2.2-1.1jpp.src.rpm
error: Failed build dependencies:
	gnu-crypto is needed by xstream-1.2.2-1.1jpp.i386
[root@nitai ~]# yum install gnu-crypto
Setting up Install Process
Parsing package install arguments
Package java-1.5.0-gcj - 1.5.0.0-17.fc8.i386 already installed and latest version
Nothing to do


Expected results:
either rpm build would actually try to build the package or yum would actually
try to download the dependency. currently they does neither.

Additional info:
The source rpm above is not the original jpackage src rpm, (it was slightly
modified for different reasons). The actual src rpm is attached bellow.
One last thing - I'm not blond.

Comment 1 Roi Shivek 2008-03-06 14:34:54 UTC
Created attachment 297051 [details]
my source

Comment 2 Seth Vidal 2008-03-06 15:01:43 UTC
I don't know what java-1.5.0-gcj has to do with this. 

but a couple of items:
1. the xstream srpm from jpackage does not require gnu-crypto
2. nothing in fedora 8 provides gnu-crypto so I don't know where you're hoping
this dependency will come from.

If you have more info please add it and reopen -as it is this is NOTABUG

Comment 3 Roi Shivek 2008-03-06 15:49:27 UTC
Hi,
Thanks for the swift answer.
1. xstream from Jpackage 1.6 doesn't require gnu-crypto, but we are using
Jpackage 1.7 which does require gnu-crypto (check the attached source rpm or url
above).

2. Indeed what you say seems to look right, but, apparently yum thinks
otherwise, at least as far as I understand from the following output:

# yum install gnu-crypto
Setting up Install Process
Parsing package install arguments
Package java-1.5.0-gcj - 1.5.0.0-17.fc8.i386 already installed and latest version
Nothing to do

This is being run when the jpackage repository is enabled on the Fedora 8
machine (using the repo file downloaded from
http://www.jpacakge.org/jpackage17.repo ), and what I would expect to happen
instead of the above output is that yum would actually download gnu-crypto from
jpackage and install it. Yum does know that a package called gnu-crypto is
available because it says so when asked:

# yum list gnu-crypto
Available Packages
gnu-crypto.noarch  2.1.0-2jpp             jpackage-generic

The bug summary may be incorrect, but there is definitely a problem as you can see.

thanks again!

Comment 4 James Antill 2008-03-06 16:32:28 UTC
 Querying xstream from the above jpackage-generic repo ... does not have a
requires on gnu-crypto. Also the jpacakge-fc (for Fedora 8) repo doesn't seem to
exist.

 Can you please simply describe what do you think the "problem" is?


 Yum can only find what you've told it about, if you haven't told it about a
repo. with gnu-crypto in it ... it won't be able to find it.
 If you are using a repo. that has X that deps. on Y, but Y can't be found ...
this isn't a yum problem, but a repo. problem.


Comment 5 Roi Shivek 2008-03-06 17:03:17 UTC
I'm trying to build an XStream package on Fedora 8, based on the JPackage 1.7
source RPM (we need an XStream installation with annotations enabled, and it is
disabled by default on JPackage, hence the need for the rebuild). 

The process is very simple and it works like this:
1. go to jpackage.org, get the jpackage.repo file and install it into Fedora 8
so that yum can resolve package dependencies using the repository
"jpackage-generic" (you'd notice that "jpackage-fc" and all other repositories
in the repo file are disabled by default - we do not change that).
2. use the JPackage 1.7 repository browser site (either JPackage's original or
repoview) to locate the xstream 1.2.2 source RPM
(http://mirrors.dotsrc.org/jpackage/1.7/generic/free/SRPMS/xstream-1.2.2-1jpp.src.rpm).
Do note that this is the source RPM that I'm using and not the binary (noarch)
RPM. The binary RPM indeed does not depend on gnu-crypto - it is a build
requirement and not a runtime requirement.
3. try to build the package:
# rpm --rebuild xstream-1.2.2-1jpp.src.rpm
4. We get a list of build requirements that are unfulfilled on the current
Fedora 8 installation.
5. We try to use yum to install the required packages:
# yum install gnu-crypto java-gcj-compat-devel jpackage-utils ant bea-stax
bea-stax-api cglib dom4j jakarta-commons-lang jakarta-oro jdom jettison jmock
joda-time junit wstx xom xpp3

Problem: 
yum successfully downloads and install all the above packages, except
gnu-crypto. no errors are reported, but rpmbuild still can't complete the build
- complaining about a missing gnu-crypto dependency
When we try to run
# yum install gnu-crypto
to force yum to install just the missing gnu-crypto package (which is available
in the jpackage-generic repository which we enabled in step 1 above), it outputs
the text as in comment #3 , finishing with "nothing to do", although gnu-crypto
is not installed, no other package in the system provides a "gnu-crypto"
capability (including java-1.5.0-gcj that yum mentions), and a real
gnu-crypto.noarch pacakge is available.

The only way to get xstream to compile and build (or any other package that
depends on gnu-crypto, this is not an xstream specific problem) is to manually
download the gnu-crypto noarch RPM and install it manually using "rpm -i". Even
trying to get yum to "localinstall" the gnu-crypto package we downloaded fails:

# yum localinstall gnu-crypto-2.1.0-2jpp.noarch.rpm
Setting up Local Package Process
Examining gnu-crypto-2.1.0-2jpp.noarch.rpm: gnu-crypto - 2.1.0-2jpp.noarch
Marking gnu-crypto-2.1.0-2jpp.noarch.rpm to be installed
Package java-1.5.0-gcj - 1.5.0.0-17.fc8.i386 already installed and latest version
Nothing to do

I don't know what the problem is, but there is a problem and I hope this
describes my thoughts...

Comment 6 James Antill 2008-03-06 18:14:41 UTC
 Ok, I see the problem now:

java-1.5.0-gcj-1.5.0.0-17.fc8 obsoletes gnu-crypto <= 2.1.0-2jpp.1

...so yum is doing what the packages in Fedora told it to.



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