[Yum] Strange behavior: yum and jre.i586 and java-1.4.2-gcj-compat

Dominik Epple epple at tphys.physik.uni-tuebingen.de
Tue Feb 12 15:42:40 UTC 2008


Hi List,


on a x86_64 CentOS 5 machine:

When trying to install the SUN jre RPM using

# yum localinstall jre-1.6.0_04-fcs.i586.rpm

yum decides to deinstall java-1.4.2-gcj-compat after the (successful)
installation of the jre.  Why does yum do that? I just can not
find out which metadata information in the jre package leads to the
deinstallation of java-1.4.2-gcj-compat.


If, on the other hand, one installs the same package using

# rpm -ivh jre-1.6.0_04-fcs.i586.rpm

the jre gets installed and nothing gets deinstalled. Why?



Since we are on a CentOS 5 machine with a pretty old yum (3.0.5),
I decided to try what happens if one upgrades to a new yum version.

So after installing a lot of RPMs for the new yum (3.2.11) and its
dependencies, I can repeat the experiments shown above and get the
following behavior.

# yum localinstall jre-1.6.0_04-fcs.i586.rpm
[snip]
Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 45 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Member: jre.i586 0-1.6.0_04-fcs - u
Adding Package jre-1.6.0_04-fcs.i586 in mode u
ERROR with rpm_check_debug vs depsolve:
Package antlr needs java-gcj-compat, this is not available.
Package antlr needs java-gcj-compat, this is not available.
Package gjdoc needs java-gcj-compat >= 1.0.64, this is not available.
Package gjdoc needs java-gcj-compat >= 1.0.64, this is not available.
Complete!


So, yum finds that he wants to install jre, and then performs a
"rpm_check_debug", which tells him that dependency errors arise.

Some googling reveals that one can turn of this rpm_check_debug in
the yum.conf file, and doing so gives again the behavior that yum
installs the jre and deinstalls the java-1.4.2-gcj-compat package.

Who is this rpm_check_debug? Why does he think that
java-1.4.2-gcj-compat is to be deinstalled when installing
jre.i586? Why does yum itself do not find out about this?


The basic reason why I am researching this issue at all is that the
pure presence of jre-1.6.0_04-fcs.i586.rpm in a custom yum repository
leads to very strange and undesired behavior such as failing "yum
update" calls, failing "yum install" calls on original CentOS RPMs, and
stuff like that. And if one disables this 3rd-party repo or if one even
just uses --exclude=jre* on the command line, all problems disappear.

So, this infamous jre-1.6.0_04-fcs.i586.rpm makes yum choke heavily,
and I would like to understand why.


Regards,

Dominik
-- 



More information about the Yum mailing list