Need reviewers and comments: 6989472: Provide simple jdk identification information in the install image

Kelly O'Hair kelly.ohair at oracle.com
Tue Nov 30 02:07:48 UTC 2010


On Nov 29, 2010, at 4:29 PM, Ray Kiddy wrote:

>
> Is there a reason why Mac OS X is not listed on the list of  
> platforms? Has something official not been done yet? Aren't Apple  
> and Oracle making nice-nice about the fact that OpenJDK will be  
> there for Mac OS X?

I suspect this will take time, regardless of any official  
announcements, major source code
and build system merges are far from trivial.
This change is somewhat platform independent.

>
> Perhaps I am not seeing the role of the information in this file. It  
> seems to be seeking differentiable information about platforms that  
> OpenJDK might be built on. Is something else going on?

The role of the information in this file is to convey what the binary  
jdk image "is", an identification file.
So that any tools or apps using this jdk image might be able to make  
intelligent decisions on how to or
whether to use it.

-kto

>
> thanx - ray
>
> On Nov 29, 2010, at 2:44 PM, Kelly O'Hair wrote:
>
>>
>> Need reviewers and comments:
>> 6989472: Provide simple jdk identification information in the  
>> install image
>> http://cr.openjdk.java.net/~ohair/openjdk7/jdk_release/webrev/
>>
>> With JDK6 Updates we purposely resisted many rebranding changes  
>> that could impacted
>> customers, however at one point we had accidently changed the  
>> Windows DLL/EXE
>> COMPANY value thinking that no one would be looking at it.
>> We were wrong and this change cause Eclipse failures, so we are  
>> looking for a solution, see:
>>  https://bugs.eclipse.org/bugs/show_bug.cgi?id=321390
>> So we went back and change JDK6 Updates back the way it was, and  
>> learned a valuable lesson.
>>
>> But we have and will change JDK7 in this regard, so we wanted a  
>> better way for an app to
>> know what it had it's hands on without using platform specific  
>> information in the binary files.
>>
>> The above change creates a small text file called "jdk.release" at  
>> the top of the install image
>> with some basic values that could help direct any app using the jdk  
>> in constructing a command
>> line or even being assured that this jdk install image will even  
>> work on your existing system.
>> In the Eclipse case it was looking for "Sun", but I suspect it  
>> really wanted to know if the VM was
>> "Hotspot" because I think it was trying to set a Hotspot specific  
>> PermGen option.
>> In any case I think this jdk.release file should provide the  
>> necessary answers in the future.
>>
>> The make variable COMPANY_NAME determines the vendor name during a  
>> build,
>> so a Linux 64bit build from a make command line like:
>>  make COMPANY_NAME="Test Company Name"
>> should result in a jdk.release file that looks something like:
>>
>> os.name = Linux
>> os.version = 2.6
>> os.arch = amd64
>> java.vendor = Test Company Name
>> java.version = 1.7.0-internal
>> java.vm.vendor = Test Company Name
>> java.vm.name = Hotspot(TM)
>> java.vm.version = 20.0-b02
>>
>> A formal Oracle jdk7 EA build on Linux 64bit should look something  
>> like:
>>
>> os.name = Linux
>> os.version = 2.6
>> os.arch = amd64
>> java.vendor = Oracle Corporation
>> java.version = 1.7.0-ea
>> java.vm.vendor = Oracle Corporation
>> java.vm.name = Hotspot(TM)
>> java.vm.version = 20.0-b02
>>
>> Comments are welcome. Although, polite constructive comments are  
>> probably more what I'd like to see. ;^)
>>
>> -kto
>>
>>
>




More information about the build-dev mailing list