[fedora-java] dependency issues with java-1.4.2-gcj-compat

Thomas Fitzsimmons fitzsim at redhat.com
Thu Sep 15 17:29:25 UTC 2005


On Thu, 2005-09-15 at 09:51 -0500, David Farning wrote:
> On Thu, 2005-09-15 at 15:12 +0100, Gary Benson wrote:
> > David Farning wrote:
> > > On Thu, 2005-09-15 at 13:42 +0100, Gary Benson wrote:
> > > > David Farning wrote:
> > > > > When running yum install eclips* I got all sorts of
> > > > > /usr/bin/rebuild-gcj-db: No such file or directory
> > > > > errors until I manually installed java-1.4.2*
> > > > 
> > > > It sounds like rpm is _still_ not ordering dependencies correctly.
> > > > There should be a bug open against rpm for this, but if not please
> > > > file one.
> > > 
> > > I did a bit of searching on this it would seem to be the 
> > > %if %{gcj_support}
> > > ....
> > > Requires(post):   java-gcj-compat >= 1.0.31
> > > Requires(postun): java-gcj-compat >= 1.0.31
> > > ....
> > > 
> > > are causing problem because they don't...wait for it...work!
> > 
> > That's the one.
> > 
> > > Would there be a problem with 
> > >    
> > > %if %{gcj_support}
> > > ....
> > > Requires: java-gcj-compat >= 1.0.31
> > > ....
> > > 
> > > ie. would it hurt it -compat were present all the time not just
> > > during post and unpost?
> > 
> > The Short answer is no, since Requires(*) implies Requires.
> > 
> > The long answer is that Requires on its own is not in force during rpm
> > transactions.  Augmented Requires(*) dependencies specify that it must
> > be present at certain points within the transaction _in_addition_to_
> > inbetween transactions.
> > 
> > Cheers,
> > Gary
> > 
> > 
> I have not had any problems with straight Requires.  Yum seems to always
> handle straight requires correctly properly by, 
> first it installs any required packages
> then it installs the package it's self. 
> 
> if in [core] / devel / gnu-crypto / gnu-crypto.spec  
> 
> > BuildRequires:  ant, java-devel >= 0:1.4
> > %if !%{gcj_support}
> > Requires:       java >= 0:1.4
> > Requires(post): jpackage-utils >= 0:1.6.3-1jpp_1rh
> > Requires(postun): jpackage-utils >= 0:1.6.3-1jpp_1rh
> > %else
> > Requires:       jce
> > Requires:       jpackage-utils >= 0:1.6.2-1jpp_5rh
> > %endif
> > Requires:       java-sasl
> > %if %{gcj_support}
> > # libgcj aot-compiled native libraries
> > BuildRequires:    java-gcj-compat-devel >= 1.0.31
> > Requires(post):   java-gcj-compat >= 1.0.31
> > Requires(postun): java-gcj-compat >= 1.0.31
> > %else
> > BuildArch:      noarch
> > %endif
> > 
> 
> why not replace the 
> 
> Requires(post):   java-gcj-compat >= 1.0.31
> Requires(postun): java-gcj-compat >= 1.0.31
> 
> with 
> 
> Requires: java-gcj-compat >= 1.0.31.
> 
> The post and postun problems I am having seem to be because
>  /usr/bin/rebuild-gcj-db can not be found during post and postun.  If
> Requires: java-gcj-compat >= 1.0.31 is used, whenever
>  the post or postun is taking place, rebuild-gcj-db will be present.

I just changed rebuild-gcj-db to be an alternative symlink.  Therefore
RPM wouldn't know about it.  Might that be the problem?

Tom

> 
> Dave
> 
> --
> fedora-devel-java-list mailing list
> fedora-devel-java-list at redhat.com
> https://www.redhat.com/mailman/listinfo/fedora-devel-java-list




More information about the java-devel mailing list