RFR: JDK-8151800: Jib profile for open linux should produce compact profiles images by default

Erik Joelsson erik.joelsson at oracle.com
Wed Mar 16 09:18:08 UTC 2016



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



More information about the build-dev mailing list