Java 7 for Fedora 16

Deepak Bhole dbhole at redhat.com
Fri Aug 26 14:46:31 UTC 2011


* Andy Grimm <agrimm at gmail.com> [2011-08-26 10:18]:
> On Wed, Aug 3, 2011 at 6:00 PM, Deepak Bhole <dbhole at redhat.com> wrote:
> > * Douglas Myers–Turnbull <dmyersturnbull at gmail.com> [2011-07-25 20:53]:
> >> > I was planning to do this myself .. glad you started it :) I can take
> >> > over the Feature and doing all the work if you're fine with it...
> >>
> >> Please do!
> >>
> >> The only work I've done (literally) is on the feature page, but feel
> >> free let me know if you need anything from me.
> >>
> >
> > Hi Douglas,
> >
> > Thank you once again for creating the page. I have started updating it
> > and will add docs and other links tomorrow:
> > https://fedoraproject.org/wiki/Features/Java7
> >
> > For anyone and everyone interested, a Java 7 build is now available in
> > the Fedora 16. I will build for rawhide in the coming days as well:
> > http://koji.fedoraproject.org/koji/buildinfo?buildID=257034
> >
> > Cheers,
> > Deepak
> 

Hi Andy,

> After some discussion on #fedora-java over the past 24 hours, I was
> asked to continue the discussion here regarding the implications of
> openjdk 6 and 7 coexisting in F16.  Right now, java packages are being
> built for F16 using openjdk 7, and if they are built without
> "target=1.6", they will fail to load under openjdk 6.  (One simple
> example of this is xalan, see
> https://bugzilla.redhat.com/show_bug.cgi?id=733686 ).  Some possible
> solutions proposed over IRC:
> 
> 1) Blacklist openjdk 7 from build roots for f16 -- this means that it
> doesn't get tested very well, though.
> 

This would only be a short term solution. As soon as a package that needs
Java 7 is added/updated, it will require OpenJDK7 to be removed from the
blacklist.

> 2) Ensure all java packages use target=1.6 -- there's no standard way
> to do this across ant, mvn, javac, etc. though.  You could check for
> 1.7 bytecode at the end of a build, but packages would still need to
> be individually fixed.
> 

Agreed. This would be too tedious.

> 3) Drop openjdk 6 from F16 entirely
> 

I think this is the best, but unfortunately not easily doable at the
moment. Alex (akurtakov) has been working on removing 1.6.0 dependencies
and has encountered cases (e.g. tomcat5) where it is not easily possible
due to interfaces having changed in Java 7.

Regardless though, we need to make all packages build with 1.7 because
as more packages build with 1.7, packages that require 1.6 explicitly
will fail to build as the 1.6 javac won't be able to load 1.7 compiled
classes.

Dropping 6 is also problematic because we don't have a TCK for 7 yet,
which means 6 is the only TCK tested version in Fedora atm.

Nonetheless, I think #3 is the only realistic option that will be most
permanent.

Cheers,
Deepak

> It was also mentioned that Fedora is beginning to include some
> packages which build much more cleanly on openjdk 7 than they do on 6,
> so enforcing openjdk 6-only build roots might break some things.
> 
> Other suggestions are welcome.  I don't have a strong opinion about
> this, just a strong interest in having a sane Java environment in F16.
> 
> Thanks,
> 
> --Andy


More information about the devel mailing list