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

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

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

Erik Helin-2
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
Reply | Threaded
Open this post in threaded view
|

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

Erik Joelsson
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.

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

Reply | Threaded
Open this post in threaded view
|

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

Erik Helin-2
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
>
Reply | Threaded
Open this post in threaded view
|

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

Erik Joelsson
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.

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

/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
>>

Reply | Threaded
Open this post in threaded view
|

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

Erik Helin-2
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
>>>
>
Reply | Threaded
Open this post in threaded view
|

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

Erik Joelsson
Looks good.

/Erik


On 2017-12-11 06:03, Erik Helin wrote:

> 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
>>>>
>>

Reply | Threaded
Open this post in threaded view
|

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

Magnus Ihse Bursie
In reply to this post by Erik Helin-2


On 2017-12-11 15:03, Erik Helin wrote:

> 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/
Looks good to me.

/Magnus

>
> 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
>>>>
>>