1 |
Firstly I will ask a question |
2 |
|
3 |
*****QUESTION********* |
4 |
|
5 |
Basically, I want to know what it is for. What does it mean? what is it |
6 |
meant to tell us? |
7 |
|
8 |
********************** |
9 |
|
10 |
And now I will ramble on.... |
11 |
|
12 |
****RAMBLE************ |
13 |
|
14 |
java-config-2 doesn't seem to use the VM var at all. |
15 |
|
16 |
basically the reason I ask is that I want to (and already have a proof |
17 |
of concept for) update java-config-2 to use the package.env VM var |
18 |
instead of TARGET to figure out the virtual machine a package requires. |
19 |
|
20 |
to explain. |
21 |
|
22 |
java-config currently does this: |
23 |
1) Find the highest target of package and dep's |
24 |
2) Find VM that matches >=virtual/[jre|jdk]-${highest_target} |
25 |
|
26 |
I have implemented a java-config that |
27 |
|
28 |
1) Finds a Set of packages (and deps) VM package.env vars. * |
29 |
2) Finds a VM that satisfies the Set. * |
30 |
|
31 |
(see * for further explaination) |
32 |
|
33 |
This actually allows us to (by just using RDEPEND) have a packages VM as |
34 |
<virtual/jre-1.6 for example. (or possible =virtual/jre-1.5 |
35 |
=virtual/jre-1.4 ) In both situations the package will not use a 1.6 vm. |
36 |
|
37 |
What is the use for this? Well I have think of one package, jdictrayapi |
38 |
(i believe) that can't run on java6 at least. Are there any more? |
39 |
|
40 |
Now to completely lose everyone |
41 |
|
42 |
Currently java-util-2.eclass does |
43 |
echo "VM=\"$(echo ${RDEPEND} ${DEPEND} | sed -e 's/ /\n/g' | sed -n -e |
44 |
'/virtual\/\(jre\|jdk\)/ { p;q }')\"" |
45 |
|
46 |
to calculate the VM var. basically that will just find the first |
47 |
virtual/[jre|jdk] listed in RDEPEND/DEPEND. I will need this to be |
48 |
1) use flag aware. |
49 |
2) and any other combo of || ( .. ) !flag? () etc etc. |
50 |
|
51 |
That will have to be implemented within java-config-2. I think most if |
52 |
not all of that is already exists. There are also some packages will be |
53 |
effected by the eclass change. ** |
54 |
|
55 |
Anyway. Feedback ppl. Have I gone mad? |
56 |
|
57 |
ali_bush |
58 |
|
59 |
ps. |
60 |
* This is meant as an explanation of how/what im doing, read only if |
61 |
your interested. |
62 |
|
63 |
If we assume that we have a package and 1 dep with the following VM var |
64 |
set in there package.env files |
65 |
|
66 |
package: VM=">=virtual/jre-1.4" |
67 |
dep: VM="=virtual/jre-1.5 =virtual/jre-1.4" being derived from a |
68 |
RDEPEND of "|| ( =virtual/jre-1.5 =virtual/jre-1.4 )" |
69 |
|
70 |
In step 1 above the following set is created |
71 |
|
72 |
Set('>=virtual/jre-1.4', Set('=virtual/jre-1.5', '=virtual/jre-1.4')) |
73 |
|
74 |
which corresponds logically to in step 2 to.. |
75 |
|
76 |
Find a VM that meets the following |
77 |
'>=virtual/jre-1.4' AND (=virtual/jre-1.5 OR =virtual/jre-1.4 ) |
78 |
|
79 |
This also make is possible to have a RDEPEND=">=virtual/jdk-1.5" and |
80 |
have java-config only pick jdk's for the package. (whether there is a |
81 |
situation have calls for this but doesn't require a java-virtual. Im |
82 |
not sure). |
83 |
|
84 |
** By using !rdep virtual/jre and !rdep virtual/jdk |
85 |
and running the following on the resulting lists |
86 |
|
87 |
cat duplicate-jre.txt duplicate-jdk.txt | sort | uniq -d |
88 |
|
89 |
I get the following list of ebuilds with duplicate virtual/[jdk|jre] |
90 |
RDEPENDS. |
91 |
|
92 |
dev-db/monetdb-5.2.0:java |
93 |
dev-db/xindice-1.0-r4 |
94 |
dev-java/axion-1.0_rc2-r3 |
95 |
dev-java/jmp-0.51 |
96 |
dev-util/subversion-1.3.2-r3:java |
97 |
net-analyzer/neti-2.0:java |
98 |
net-misc/tightvnc-1.3.9:java |
99 |
net-misc/tightvnc-1.3.9-r1:java |
100 |
|
101 |
I believe that list to be correct |
102 |
-- |
103 |
gentoo-java@g.o mailing list |