Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8202528

jdk-8u171-linux-x64.rpm installing into /usr/java/jdk1.8.0_171-amd64 directory

    Details

    • CPU:
      x86_64
    • OS:
      linux

      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


        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                asemenyuk Alexey Semenyuk
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: