On Fri Mar 26 17:37, Eric Lavarde wrote: >> They should build-depend on default-jdk and depend on default-jre | javaN-runtime > I have some problems with this: > > 1. the policy states something like "javaX-runtime fulfills the Java X > specifications" (sorry, the patches are not reachable right now), but > gcj/gij specifically does not fulfill the Java X specifications (else > they wouldn't be incompatible with sun's Java resp. openjdk). Well, that's not a useful definition for them in that case and should probably be changed (in a future patch to policy) > 2. On one side, in order to depend on default-j, programs and libraries > must work both with openjdk and gcj, such programs/libraries should then > depend on default-j, and only such programs/libraries can depend on > javaX-runtime. The result is that javaX-runtime and default-jre are more > or less interchangeable, and only confuse people (well, me at least). No, default-jre is a concrete package pointing to specifically one JRE on a given platform. javaX-runtime is a virtual package provided by mane packages. Depending on default-jre says "I must have the default for this platform". Depending on default-jre | javaX-runtime says "I can work with any JRE, but if you don't already have one, please give me the default". > 3. gcj's versioning doesn't follow Java's versioning (X), so that each > new version of gcj is just a more and more complete version of any X > version of Java. > Example: package MyJavaProgram depends on gcj-jre (>= 4.4) | > javaX-runtime because it doesn't work with gcj 4.3. But user already has > gcj-jre=4.3, which also provides javaX-runtime --> failure. Then you want Conflicts: gcj-jre (<< 4.4) > 4. On the other hand, openjdk and sun's java are really interchangeable > and would justify a javaX-runtime, as their own versioning/naming > follows the X schema. > > Bottom-line, I would ask to either suppress javaX-runtime all together > as being useless or even dangerous (as per point 3), or (my preferred) > to reserve it for runtime environments which have passed the Java > Compatibility Tests. Personally now that we have openjdk I think we should drop Sun's JRE, at which point you don't need a virtual package for them. You _do_ need something for "Will work with whichever of openjdk/sun/gcj happens to be installed", which is what javaX-runtime currently provides. The versioning is mainly to ensure you have something which can read the classfile version you compiled to. Matt -- Matthew Johnson
Attachment:
signature.asc
Description: Digital signature