* [gentoo-java] package.env VM variable
@ 2007-11-14 9:26 Alistair Bush
0 siblings, 0 replies; only message in thread
From: Alistair Bush @ 2007-11-14 9:26 UTC (permalink / raw
To: gentoo-java
Firstly I will ask a question
*****QUESTION*********
Basically, I want to know what it is for. What does it mean? what is it
meant to tell us?
**********************
And now I will ramble on....
****RAMBLE************
java-config-2 doesn't seem to use the VM var at all.
basically the reason I ask is that I want to (and already have a proof
of concept for) update java-config-2 to use the package.env VM var
instead of TARGET to figure out the virtual machine a package requires.
to explain.
java-config currently does this:
1) Find the highest target of package and dep's
2) Find VM that matches >=virtual/[jre|jdk]-${highest_target}
I have implemented a java-config that
1) Finds a Set of packages (and deps) VM package.env vars. *
2) Finds a VM that satisfies the Set. *
(see * for further explaination)
This actually allows us to (by just using RDEPEND) have a packages VM as
<virtual/jre-1.6 for example. (or possible =virtual/jre-1.5
=virtual/jre-1.4 ) In both situations the package will not use a 1.6 vm.
What is the use for this? Well I have think of one package, jdictrayapi
(i believe) that can't run on java6 at least. Are there any more?
Now to completely lose everyone
Currently java-util-2.eclass does
echo "VM=\"$(echo ${RDEPEND} ${DEPEND} | sed -e 's/ /\n/g' | sed -n -e
'/virtual\/\(jre\|jdk\)/ { p;q }')\""
to calculate the VM var. basically that will just find the first
virtual/[jre|jdk] listed in RDEPEND/DEPEND. I will need this to be
1) use flag aware.
2) and any other combo of || ( .. ) !flag? () etc etc.
That will have to be implemented within java-config-2. I think most if
not all of that is already exists. There are also some packages will be
effected by the eclass change. **
Anyway. Feedback ppl. Have I gone mad?
ali_bush
ps.
* This is meant as an explanation of how/what im doing, read only if
your interested.
If we assume that we have a package and 1 dep with the following VM var
set in there package.env files
package: VM=">=virtual/jre-1.4"
dep: VM="=virtual/jre-1.5 =virtual/jre-1.4" being derived from a
RDEPEND of "|| ( =virtual/jre-1.5 =virtual/jre-1.4 )"
In step 1 above the following set is created
Set('>=virtual/jre-1.4', Set('=virtual/jre-1.5', '=virtual/jre-1.4'))
which corresponds logically to in step 2 to..
Find a VM that meets the following
'>=virtual/jre-1.4' AND (=virtual/jre-1.5 OR =virtual/jre-1.4 )
This also make is possible to have a RDEPEND=">=virtual/jdk-1.5" and
have java-config only pick jdk's for the package. (whether there is a
situation have calls for this but doesn't require a java-virtual. Im
not sure).
** By using !rdep virtual/jre and !rdep virtual/jdk
and running the following on the resulting lists
cat duplicate-jre.txt duplicate-jdk.txt | sort | uniq -d
I get the following list of ebuilds with duplicate virtual/[jdk|jre]
RDEPENDS.
dev-db/monetdb-5.2.0:java
dev-db/xindice-1.0-r4
dev-java/axion-1.0_rc2-r3
dev-java/jmp-0.51
dev-util/subversion-1.3.2-r3:java
net-analyzer/neti-2.0:java
net-misc/tightvnc-1.3.9:java
net-misc/tightvnc-1.3.9-r1:java
I believe that list to be correct
--
gentoo-java@gentoo.org mailing list
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-11-14 9:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-14 9:26 [gentoo-java] package.env VM variable Alistair Bush
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox