Gentoo Logo
Gentoo Spaceship

Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-java
Lists: gentoo-java: < Prev By Thread Next > < Prev By Date Next >
To: Gentoo Java <gentoo-java@g.o>
From: Vlastimil Babka <caster@g.o>
Subject: RFC: solving jdk-1.6 compatibility with bootclasspath
Date: Sun, 08 Nov 2009 01:19:03 +0100

as you might know, we're getting rid of 1.4 jdk soonish (now it's up to 
the arch teams). While it's quite late removal, we can be much faster 
with 1.5 removal, since 1.5 got EOLed this week and the next bunch of 
security bugs won't be fixed there.

The list of packages that need to be fixed isn't that large, and most 
just can't compile due to the JDBC API changes. Adding those missing 
methods can be quite messy and large patches, so instead I've tested the 
idea of keeping just the classes from a 1.5 jdk in a special package, 
and using it as bootclasspath to build the problematic packages against.
In the end, it's about 10 packages that need it and it seems to work.

Here's what's required:
1) the attached function that should be added to java-ant-2.eclass. 
Nothing fancy, just rewrites the build.xml with bootclasspath provided 
by the package below.
2) A package with the bootclasspath. For now, I assume it would be 
called dev-java/sun-bootclasspath of version 1.5 and just extract rt.jar 
and jsse.jar from the jdk distfile, and install it under 
/opt/sun-bootclasspath-1.5/ . Beetter ideas for naming/path welcome
3) Packages that need it, will depend on >=virtual/jdk-1.5 and the 
sun-bootclasspath-1.5 and call the eclass function in the java_prepare 
phase. Since it's just 10 packages, I don't think any fancy automagic 
variables are needed to pollute the eclasses even more. The revbumps are 
sitting on my drive, can be commited after the eclass and package.

If it looks sane, I can commit it.

The 1.5 removal is tracked on
Besides the packages solved by this way, there are packages with java6 
flag to be removed (and made mandatory), some that restrict jdk to 1.5 
only for tests (can be test-restricted at worst) and few need more 
special treatment...

# ------------------------------------------------------------------------------
# @public java-ant_rewrite-bootclasspath
# Adds bootclasspath to javac-like tasks in build.xml filled with jars of a
# bootclasspath package of given version.
# Affected by:
#       JAVA_PKG_BSFIX_TARGET_TAGS - the tags of javac tasks
# @param $1 - the version of bootclasspath (e.g. 1.5)
# @param $2 - path to desired build.xml file, defaults to 'build.xml'
# @param $3 - (optional) what to prepend the bootclasspath with (to override)
# ------------------------------------------------------------------------------

java-ant_rewrite-bootclasspath() {
        local version="${1}"
        local file="${2-build.xml}"
        local extra="${3}"

        local bcp="/opt/sun-bootclasspath-${version}/rt.jar:/opt/sun-bootclasspath-${version}/jsse.jar"
        if [[ -n "${extra}" ]]; then

        java-ant_xml-rewrite -f "${file}" -c -e ${JAVA_PKG_BSFIX_TARGET_TAGS// / -e } \
                -a bootclasspath -v "${bcp}"
Re: RFC: solving jdk-1.6 compatibility with bootclasspath
-- Petteri R├Ąty
Lists: gentoo-java: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Last rites: dev-java/jessie
Next by thread:
Re: RFC: solving jdk-1.6 compatibility with bootclasspath
Previous by date:
Last rites: dev-java/jessie
Next by date:
Re: RFC: solving jdk-1.6 compatibility with bootclasspath

Updated Mar 06, 2012

Summary: Archive of the gentoo-java mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.