JDK-8202528 : jdk-8u171-linux-x64.rpm installing into /usr/java/jdk1.8.0_171-amd64 directory
  • Type: Bug
  • Component: install
  • Affected Version: 8u171
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86_64
  • Submitted: 2018-05-01
  • Updated: 2018-06-22
  • Resolved: 2018-05-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8-poolResolved
Related Reports
Duplicate :  
Description
A DESCRIPTION OF THE PROBLEM :
The rpm jdk-8u171-linux-x64.rpm is installing into the /usr/java/jdk1.8.0_171-amd64 directory.  
This should be installing into the "/usr/java/jdk1.8.0_171" directory.

This is directly related to the previous bug reports that are being closed:
- https://bugs.openjdk.java.net/browse/JDK-8201851
- https://bugs.openjdk.java.net/browse/JDK-8202320

https://bugs.openjdk.java.net/browse/JDK-8202320 is reporting that this was a conscious decision to add -amd64 in the directory name to allow side by side installs of the rpms:
----
Installation directory names were changed as a fix for JDK-8191608.
----

As the reporter mentions (on JDK-8202320) this breaks a large amount of conventions (based on the all the previous jdk installs over time), by adding the "-amd64" chipset reference in the directory name.

Additionally this fix does not allow side by side installs of 151, 161 and 171, as the rpm package name is the same.  It is not possible to install 2 versions of the same named rpm on a system using the yum package manager

----
rpm -qip jdk-8u171-linux-x64.rpm 
Name        : jdk1.8
Epoch       : 2000
Version     : 1.8.0_171
----

----
rpm -qip jdk-8u161-linux-x64.rpm 
Name        : jdk1.8
Epoch       : 2000
Version     : 1.8.0_161
----

----
rpm -qip jdk-8u151-linux-x64.rpm 
Name        : jdk1.8
Epoch       : 2000
Version     : 1.8.0_151
----

Is it not possible to go back to the name convention of having the version number in the RPM package name; like that of 144, 141, 131 etc. 

----
rpm -qip jdk-8u131-linux-x64.rpm 
Name        : jdk1.8.0_131
Epoch       : 2000
Version     : 1.8.0_131
----

----
rpm -qip jdk-8u141-linux-x64.rpm 
Name        : jdk1.8.0_141
Epoch       : 2000
Version     : 1.8.0_141
----

----
rpm -qip jdk-8u144-linux-x64.rpm 
Name        : jdk1.8.0_144
Epoch       : 2000
Version     : 1.8.0_144
----


REGRESSION : Last worked in version 8u171

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Attempt to install jdk-8u171-linux-x64.rpm and jdk-8u161-linux-x64.rpm on the same system, using yum.  This is not possible.  171 is marked as an upgrade of 161, and as a result the yum package manager removes 8u161

Attempt to install jdk-8u141-linux-x64.rpm, jdk-8u144-linux-x64.rpm, jdk-8u131-linux-x64.rpm on the same system.  You can as the are separately named rpms.  jdk8u151 broke/stopped this convention; that allows multiple jdk versions on a system (due to a rename of the rpm package to "jdk1.8")

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Ability to have more that one JDK install available on a system, via the RPM packing install distribution

yum list installed | grep jdk
jdk1.8.0_131.x86_64                  2000:1.8.0_131-fcs            installed    
jdk1.8.0_141.x86_64                  2000:1.8.0_141-fcs            installed    
jdk1.8.0_144.x86_64                  2000:1.8.0_144-fcs            installed 

----

drwxr-xr-x 9 root root 4096 May  1 22:51 jdk1.8.0_131
drwxr-xr-x 9 root root 4096 May  1 22:51 jdk1.8.0_141
drwxr-xr-x 9 root root 4096 May  1 22:52 jdk1.8.0_144
ACTUAL -
jdk-8u171-linux-x64.rpm installing into /usr/java/jdk1.8.0_171-amd64, and being marked as an update on 161.  The result being that if yum is used to install 8u171 it will remove 8u161

----
sudo yum install jdk-8u171-linux-x64.rpm 
Loaded plugins: priorities, s3iam, update-motd, upgrade-helper
Examining jdk-8u171-linux-x64.rpm: 2000:jdk1.8-1.8.0_171-fcs.x86_64
Marking jdk-8u171-linux-x64.rpm as an update to 2000:jdk1.8-1.8.0_161-fcs.x86_64
Resolving Dependencies
--> Running transaction check
---> Package jdk1.8.x86_64 2000:1.8.0_161-fcs will be updated
---> Package jdk1.8.x86_64 2000:1.8.0_171-fcs will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================================================================================================================
 Package                                             Arch                                                Version                                                         Repository                                                         Size
=================================================================================================================================================================================================================================================
Updating:
 jdk1.8                                              x86_64                                              2000:1.8.0_171-fcs                                              /jdk-8u171-linux-x64                                              279 M

Transaction Summary
=================================================================================================================================================================================================================================================
Upgrade  1 Package

Total size: 279 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : 2000:jdk1.8-1.8.0_171-fcs.x86_64                                                                                                                                                                                              1/2 
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...
  Cleanup    : 2000:jdk1.8-1.8.0_161-fcs.x86_64                                                                                                                                                                                              2/2 
  Verifying  : 2000:jdk1.8-1.8.0_171-fcs.x86_64                                                                                                                                                                                              1/2 
  Verifying  : 2000:jdk1.8-1.8.0_161-fcs.x86_64                                                                                                                                                                                              2/2 

Updated:
  jdk1.8.x86_64 2000:1.8.0_171-fcs                                                                                                                                                                                                               
----

ls -l /usr/java/
total 16
lrwxrwxrwx 1 root root   16 May  1 22:56 default -> /usr/java/latest
drwxr-xr-x 9 root root 4096 May  1 22:51 jdk1.8.0_131
drwxr-xr-x 9 root root 4096 May  1 22:51 jdk1.8.0_141
drwxr-xr-x 9 root root 4096 May  1 22:52 jdk1.8.0_144
drwxr-xr-x 9 root root 4096 May  1 22:57 jdk1.8.0_171-amd64
lrwxrwxrwx 1 root root   28 May  1 22:57 latest -> /usr/java/jdk1.8.0_171-amd64

We expect jdk1.8.0_161 to remain on the system, but it does not.

yum list installed | grep jdk
jdk1.8.x86_64                        2000:1.8.0_171-fcs            installed    
jdk1.8.0_131.x86_64                  2000:1.8.0_131-fcs            installed    
jdk1.8.0_141.x86_64                  2000:1.8.0_141-fcs            installed    
jdk1.8.0_144.x86_64                  2000:1.8.0_144-fcs            installed  

----

Are we able to go back to naming the RPM with the version number in the package name?, and can we remove "-amd64" from the directory name.

-----

Or is it the case that we are saying now that:  

We allow you to have different major versions:  jdk1.8, jdk9, jdk10.  But we are not allowing multiple versions of the same major version: jdk1.8u161, jdk1.8u171   And that allowing u131, u141, u144 was in fact incorrect name convention; and this is what https://bugs.openjdk.java.net/browse/JDK-8191608 is fixing?  If this is the case; bob on.  JDK-8191608 achieves the goal.  But what is the reason for the directory naming convention change to include the chipset name in the directory (-amd64)?

Many Thanks
/dom



FREQUENCY : always



Comments
Duplicates JDK-8202320
02-05-2018

Submitter wants to know : 1. if '-amd64' can be removed from directory name ? 2. Reason behind changing directory naming convention to include the chipset name in the directory (-amd64)
02-05-2018