On 2016-03-16 07:27, David Holmes wrote:
Hi Erik,

On 16/03/2016 12:21 AM, Erik Joelsson wrote:
(note the overloaded use of the word profile in this text)

The linux open only Jib profiles are meant to be used for the reference
implementation builds. These builds should produce the compact profile
images in addition to the normal images. This patch changes the linux
open only Jib profiles to add the profiles make target to the default set.

Bug: https://bugs.openjdk.java.net/browse/JDK-8151800
Webrev: http://cr.openjdk.java.net/~erikj/8151800/webrev.01/

Seems okay.

Thanks!
I was a little surprised that the open builds weren't more obvious in the file, rather than just being variations of the non-open ones. I thought, for example, that open builds would need configure args for freetype stuff? (or is that handled implicitly for openjdk builds?)

I'm not sure the current structure is ideal, but here is how it works:

Using linux-x64 as example. If you only have open source available there is linux-x64 which is has everything needed for building the OpenJDK version of that platform. If you have closed source available, then linux-x64 is extended to be OracleJDK for that platform. Any open specific dependencies are still provided by Jib because we don't have a good way of removing dependencies in the Jib profile config file (yet), and configure will currently ignore them, but prints a warning. For supporting the current hotspot JPRT configuration, we need some explicitly open profiles, and those need to be defined in the open, because the JPRT configuration for those are in the open. This means that in the open only source case, we have linux-x64 and linux-x64-open, which are more or less the same thing, except for the proposed change above, which makes them different. Perhaps a more correct fix would be to just include the "profiles" target in the "all" on Linux?

The motivation for making it this way is that I want the user to always be able to use "linux-x64" and expect it to work and produce a reasonable build, given the source available. Also remember that the closed source case is really several different cases, since some repos are optional (deploy and or install). Depending on the availability of those, Jib is also adapting dependencies and configuration.

/Erik

Reply via email to