RFR: 8193189: Allow --boot-jdk to accept a .tar.gz compressed JDK image

Erik Helin erik.helin at oracle.com
Mon Dec 11 14:03:38 UTC 2017


On 12/08/2017 05:37 PM, Erik Joelsson wrote:
> This looks better. One more thing that I forgot in the last review, on 
> mkdir I recommend using the -p flag for nicer handling if the dir 
> already exists and in case CONFIGURESUPPORT_OUTPUTDIR has not yet been 
> created.

Thanks Erik, great suggestion, implemented!

> How does tar react if a bootjdk is already present in 
> CONFIGURESUPPORT_OUTPUTDIR? Should we delete first or just overwrite?

I chose the "nuke from orbit" solution and just $RM -rf the boot-jdk 
directory :) New patches available at:

- full: http://cr.openjdk.java.net/~ehelin/8193189/02/
- inc: http://cr.openjdk.java.net/~ehelin/8193189/01-02/

What do you think?

Thanks,
Erik

> /Erik
> 
> 
> On 2017-12-08 05:56, Erik Helin wrote:
>> On 12/07/2017 07:05 PM, Erik Joelsson wrote:
>>> Hello Erik,
>>>
>>> On macosx, the tar.gz distribution usually has the java home dir in 
>>> "jdk-9.jdk/Contents/Home". The -z and --strip-components flags for 
>>> tar probably works well with gnu tar, but we can only rely on that on 
>>> Linux and Windows. You need to write the unpack logic compatible with 
>>> both Solaris and bsd tar as well (yes, that means piping with gunzip 
>>> and manually finding the correct java home dir inside the exploded 
>>> file tree :).
>>>
>>> I would also like to see a better failure handling of a non existing 
>>> file/directory given to --with-boot-jdk. As it looks now, tar is 
>>> going to crap out.
>>
>> Thanks for the review! Please see new patches at:
>> - full: http://cr.openjdk.java.net/~ehelin/8193189/01/
>> - inc: http://cr.openjdk.java.net/~ehelin/8193189/00-01/
>>
>> What do you think?
>>
>> Thanks,
>> Erik
>>
>>> Otherwise the idea seems decent enough.
>>>
>>> /Erik
>>>
>>> On 2017-12-07 09:05, Erik Helin wrote:
>>>> Hi all,
>>>>
>>>> this small patch allows the --boot-jdk flag to configure to accept a 
>>>> gzip compressed JDK image. For example:
>>>>
>>>>   $ wget 
>>>> http://download.java.net/java/GA/jdk9/9.0.1/binaries/openjdk-9.0.1_linux-x64_bin.tar.gz 
>>>>
>>>>   $ bash configure --with-boot-jdk=openjdk-9.0.1_linux-x64_bin.tar.gz
>>>>
>>>> The compressed image will be extracted into 
>>>> build/<profile-name>/configure-support/boot-jdk.
>>>>
>>>> Enhancement:
>>>> https://bugs.openjdk.java.net/browse/JDK-8193189
>>>>
>>>> Patch:
>>>> http://cr.openjdk.java.net/~ehelin/8193189/00/
>>>>
>>>> Testing:
>>>> - configure and make locally on Linux x86-64
>>>>
>>>> Thanks,
>>>> Erik
>>>
> 


More information about the build-dev mailing list