Hello Emmanuel, Thank you for your hard work on OpenJFX! Although I like Plan C, it has more issues like: * Circular build-dependency between openjdk and openjfx (or there is already one?) * Strange versioning pattern of openjdk rebuilds. (9~b181-5+<openjfx-version> vs 9~b181-5+b1) Looks like the extensibility of JRE itself has become a bit worse? Emmanuel Bourg 於 2017年10月12日 19:13 寫道: > Hi all, > > I started working on OpenJFX 9 this week. The good news is that it > builds fine in Debian now [1]. The bad news is that it's going to be > significantly more challenging to integrate it with our OpenJDK package. > > With OpenJDK 8 the integration was just a matter of installing extra jar > files and native libraries under /usr/lib/jvm/java-8-openjdk-amd64. With > Java 9 and the modularization of the JDK it's another story: > 1. The class files for the JRE and JavaFX are merged into a huge binary > blob (lib/modules) using a custom format. > 2. The javadocs are also merged into a unique src.zip archive. > 3. The JDK contains new .jmod files for each module, and the ones for > JavaFX are built by OpenJDK, not OpenJFX. > 4. The JRE modules have to be patched to allow JavaFX classes to use > internal JRE classes. > > According to the build instructions of OpenJFX [1] we have to build > OpenJFX first and then build OpenJDK with an extra configuration > parameter (--with-import-modules) pointing to the OpenJFX build directory. > > In this context it appears nearly impossible to package OpenJFX > independently of OpenJDK. Here are the options I can see so far: > > A. Merge the openjfx package into openjdk. > > B. Keep the packages separate and attempt to overcome the issues (1) and > (2) with postinst hooks or triggers merging the files, (3) by patching > the OpenJFX build, and (4) by patching the module-info.java files in > OpenJDK. > > C. Generate an intermediary package containing the build result of > OpenJFX and used as a build dependency of OpenJDK. > > (A) is problematic because the openjdk package is already quite complex, > and since openjdk is in the hands of the OpenJDK Team I won't be able to > maintain OpenJFX there. (B) involves a lot of work, merging lib/modules > is the biggest issue. (C) requires a rebuild of OpenJDK every time > OpenJFX is updated, but is by far the easiest solution to implement. > > What do you think? > > Emmanuel Bourg > > [1] https://anonscm.debian.org/cgit/pkg-java/openjfx9.git > [2] > https://wiki.openjdk.java.net/display/OpenJFX/Building+OpenJFX#BuildingOpenJFX-IntegrationwithOpenJDK9 >
Attachment:
signature.asc
Description: OpenPGP digital signature