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.
Dave