Re: Logical 'or' for package dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




rpm-list-bounces@xxxxxxxxxxxxx wrote on 10/13/2010 03:21:39 PM:


> Quick question (I hope).  Suppose you are making a package that requires
> Java.  Either OpenJDK -or- SUN/Oracle is acceptable.  OpenJDK provides
the
> 'openjdk' package, whereas SUN/Oracle provides 'jre' for the basic
> runtime.  How would one craft the 'Requires:' line to pass if either (or
> both) is present?
>
> Or do we to provide 2 RPMs, one for each flavor of Java...

I am not aware of a way to do "or", but as long as the packages provide a
shared provides then a end user can manually ensure their preferred package
is installed, leaving you to not care.  I'm not sure how an automatic
dependancy resolution would end up.

For this specific the OpenJDK package provides 'jre' just like the
Sun/Oracle package, and apparently the IBM one as well.

So I would just require the item you deem most appropriate, and thus you
just provide one package.

$ rpm -q --provides java-1.6.0-openjdk | egrep '(java|jre)'
config(java-1.6.0-openjdk) = 1:1.6.0.0-1.11.b16.el5
java = 1:1.6.0
java-1.6.0 = 1:1.6.0.0-1.11.b16.el5
java-1.7.0-icedtea = 0:1.7.0.0-0.999
java-fonts = 1:1.6.0.0
java-openjdk = 1:1.6.0.0-1.11.b16.el5
java-sasl = 1:1.6.0.0
jre = 1.6.0
jre-1.6.0 = 1:1.6.0.0-1.11.b16.el5
jre-1.6.0-openjdk = 1:1.6.0.0-1.11.b16.el5
jre-openjdk = 1:1.6.0.0-1.11.b16.el5
libjava.so()(64bit)
libjava.so(SUNWprivate_1.1)(64bit)
libjava_crw_demo.so()(64bit)
libjava_crw_demo.so(SUNWprivate_1.1)(64bit)
java-1.6.0-openjdk = 1:1.6.0.0-1.11.b16.el5

$ rpm -q --provides java-1.6.0-sun | egrep '(java|jre)'
jre-1.6.0-sun = 1:1.6.0.20-1jpp.1.el5
jre-sun = 1:1.6.0.20-1jpp.1.el5
jre-1.6.0 = 1:1.6.0.20-1jpp.1.el5
java-1.6.0 = 1:1.6.0.20-1jpp.1.el5
jre = 1:1.6.0
java-sun = 1:1.6.0.20-1jpp.1.el5
java = 1:1.6.0
javaws = 1:1.6.0
java-sasl = 1:1.6.0.20
libjava_crw_demo.so()(64bit)
libjava_crw_demo.so(SUNWprivate_1.1)(64bit)
libjava.so()(64bit)
libjava.so(SUNWprivate_1.1)(64bit)
java-1.6.0-sun = 1:1.6.0.20-1jpp.1.el5

$ rpm -q --provides java-1.6.0-ibm

jre-1.6.0-ibm = 1:1.6.0.7-1jpp.2.el5
jre-ibm = 1:1.6.0.7-1jpp.2.el5
jre-1.6.0
java-1.6.0
jre = 1:1.6.0
java-ibm = 1:1.6.0.7-1jpp.2.el5
java = 1:1.6.0
javaws = 1.6.0
java-sasl = 1:1.6.0.7
libjava_crw_demo.so()(64bit)
libjava_crw_demo.so(SUNWprivate_1.1)(64bit)
libjava.so()(64bit)
libjava.so(SUNWprivate_1.1)(64bit)
java-1.6.0-ibm = 1:1.6.0.7-1jpp.2.el5

Based on looking at that, I would assume that by using the epoch, Sun would
win in the dependency game regarding jre, and still not sure how the
dependency on java would play out.

-greg

_______________________________________________
Rpm-list mailing list
Rpm-list@xxxxxxxxxxxxx
http://lists.rpm.org/mailman/listinfo/rpm-list


[Index of Archives]     [RPM Ecosystem]     [Linux Kernel]     [Red Hat Install]     [PAM]     [Red Hat Watch]     [Red Hat Development]     [Red Hat]     [Gimp]     [Yosemite News]     [IETF Discussion]

  Powered by Linux