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