The beginning of this Google Summer of Code has been busy and pretty cool. Not a lot of code was produced but I did learn a lot of things.
During this GSoC I will work on the next generation JDK. This means that I will (and I already have) compile the JDK. That's pretty awesome but it requires a lot of power. That's why Tom Marble created me an account on his 8 CPUs machine to help me. Since I'm probably going to sign some packages, I created a new GPG key with a 4096 RSA strength. My old key was: pub 1024D/F144A319 2008-10-18 And the new key is: pub 4096R/EE2BBBC7 2011-05-03 I cross signed my keys using this great tutorial[1] I read some documentation about Jigsaw[2] and watch Tom's talk at DebConf 10[3] I have spent a little more than on week to understand the current OpenJDK packaging to be able to rebuild it. I have learnt from where do the sources come from. The current packaging is a little hard to understand. There are sources that come from IcedTea[4], OpenJDK[5], and more[6]. After being able to rebuild the OpenJDK 6 package, I have downloaded the source of the OpenJDK 8 and Jigsaw. I used the Mercurial forest to get the sources. For OpenJDK 8: - hg clone http://hg.openjdk.java.net/jdk8/jdk8 jdk8 - cd jdk8 && sh get_sources.sh For Jigsaw: - hg clone http://hg.openjdk.java.net/jigsaw/jigsaw jigsaw - cd jigsaw && sh get_sources.sh I have managed to build the sources of OpenJDK 8 and Jigsaw using the same steps: - cd jigsaw - . jigbuild - . jdk/make/jdk_generic_profile.sh - export ALLOW_DOWNLOADS=true - make sanity - make all Jigsaw specific: - make modules-sanity - make modules Each build took several minutes. But they were successful. Tom helped me a lot to build OpenJDK 8 and Jigsaw by giving me a solution. For example, after getting the Mercurial forest, there were still missing source files and the build failed. Tom told me that I needed to export a environement variable: ALLOW_DOWNLOADS=true. After building Jigsaw, I was able to see that the version string is not legal in Debian and that is a real problem. I have written some simple Hello World examples to compile and run with Jigsaw. To modularize a program, it needs to contain a module-info.java files. This file includes the modules needed to run the program and the main class to run. For a classic hello world, the module-info.java files looks like: module test.hello @ 1 { requires jdk.base @ 7-ea; class test.hello.Main; } Tom gave me some packages to build: jtharness and jtreg. I succesfully built jtharness using CDBS[7] and its Ant helper but I'll have to repackage it to use javahelper instead of CDBS. I still don't try to build jtreg because it requires javahelper to be built. My next plan is to get jtharness and jtreg packaged with javahelper soon and understand what modules does what in Jigsaw. Understaning modules will help me to write some more complex examples. I hope to start working on Jigsaw a little more soon (when I my internship will end [next week]). [1] http://people.debian.org/~anibal/ksp-dc10/ksp-dc10.html [2] http://openjdk.java.net/projects/jigsaw/ [3] http://penta.debconf.org/dc10_schedule/events/558.en.html [4] http://icedtea.classpath.org/download/source/ [5] http://download.java.net/openjdk/jdk6/ [6] http://cacaovm.org/ [7] http://roku.info9.net/~guillaume/jtharness/ -- Guillaume Mazoyer
signature.asc
Description: Digital signature
_______________________________________________ Soc-coordination mailing list Soc-coordination@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination