RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1831665 - java-1.8.0-openjdk conflicts with itself when installing multiple versions (using installonlypkgs)
Summary: java-1.8.0-openjdk conflicts with itself when installing multiple versions (u...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: java-1.8.0-openjdk
Version: 8.2
Hardware: All
OS: Unspecified
unspecified
high
Target Milestone: rc
: 8.0
Assignee: jiri vanek
QA Contact: OpenJDK QA
URL:
Whiteboard:
Depends On:
Blocks: 1861051 1861052 1861053
TreeView+ depends on / blocked
 
Reported: 2020-05-05 13:01 UTC by jcastran
Modified: 2023-12-15 17:49 UTC (History)
7 users (show)

Fixed In Version: java-1.8.0-openjdk-1.8.0.262.b10-3.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1861051 1861052 1861053 (view as bug list)
Environment:
Last Closed: 2020-11-04 02:43:27 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 5056691 0 None None None 2020-05-06 21:22:29 UTC

Description jcastran 2020-05-05 13:01:47 UTC
Description of problem:
Setting installonlypkgs for java-1.8.0 packages results in file conflicts. The steps are provided by our documentation linked in the additional info.

Version-Release number of selected component (if applicable):
- java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64
- java-1.8.0-openjdk-headless-1:1.8.0.232.b09-2.el8_1.x86_64

How reproducible:
Everytime

Steps to Reproduce:
1. vim /etc/yum.conf
installonlypkgs=java-1.8.0-openjdk,java-1.8.0-openjdk-headless,java-1.8.0-openjdk-devel
2. # yum install java-1.8.0-openjdk*1.8.0.252.b09-2.el8_1.x86_64 java-1.8.0-openjdk*1.8.0.232.b09-2.el8_1.x86_64
3.

Actual results:
  file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README from install of java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64 conflicts with file from package java-1.8.0-openjdk-headless-1:1.8.0.232.b09-2.el8_1.x86_64
  file /usr/share/licenses/java-1.8.0-openjdk-devel/THIRD_PARTY_README from install of java-1.8.0-openjdk-devel-1:1.8.0.252.b09-2.el8_1.x86_64 conflicts with file from package java-1.8.0-openjdk-devel-1:1.8.0.232.b09-2.el8_1.x86_64


Expected results:
The packages should not provide conflicting files, or the files should be in the version specific directories.

Additional info:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/installing_updating_and_configuring_java_on_rhel_8/index#installing-multiple-minor-versions-of-openjdk-on-rhel_installing-java-on-rhel-8

Comment 1 jiri vanek 2020-05-05 15:16:38 UTC
hi!

This is probably first time in update history that the licence files got changed.

Comment 2 jiri vanek 2020-05-05 15:19:44 UTC
Because while the files are identical, they can be shared like they were.

Comment 3 jiri vanek 2020-07-22 08:57:49 UTC
jcastran we recently released new JDK. Does it occured again?

Comment 4 jcastran 2020-07-22 11:39:50 UTC
Yes. It still provides the same file and so we get the same conflict.

[root@r8 ~]# yum provides /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README | grep java-1.8.0-openjdk-headless-1
java-1.8.0-openjdk-headless-1:1.8.0.201.b09-2.el8.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.212.b04-1.el8_0.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.222.b10-0.el8_0.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.222.b10-1.el8.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.232.b09-0.el8_0.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.232.b09-2.el8_1.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.242.b08-0.el8_1.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.242.b08-4.el8.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 : OpenJDK Headless Runtime Environment 8

I already have a version installed. Every version provides it so if the latest had the fix (didn't own /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README) it should work with every previous version. 

[root@r8 ~]# yum --setopt=installonlypkgs=java-1.8.0-openjdk,java-1.8.0-openjdk-headless,java-1.8.0-openjdk-devel install java-1.8.0-openjdk-1.8.0.262.b10-0.el8_2
  file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README from install of java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 conflicts with file from package java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64

Comment 5 jiri vanek 2020-07-22 11:56:58 UTC
Hmm. If you install only java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64 and java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 ?

Comment 6 jcastran 2020-07-22 13:05:58 UTC
Yes. They both provide the same file.

[root@r8 ~]# yum provides /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README | grep java-1.8.0-openjdk-headless-1
<snip>
java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 : OpenJDK Headless Runtime Environment 8


Error: Transaction test error:
  file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README conflicts between attempted installs of java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 and java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64

Comment 7 jiri vanek 2020-07-22 13:13:41 UTC
Sure. but the file itself should not meter, while it is same. And it is same in u252 and u262.
There is something very wrong, maybe rpm itself got updated somewhere before 2020-05-05?

Comment 8 jcastran 2020-07-22 13:47:32 UTC
I am providing the output from these installation attempts.

As far as I remember, this is how it's always worked. 2 rpms should not provide the same file. With RHEL 7, they were in version specific directories. With RHEL 8, its not.

[root@r7 ~]# repoquery -l java-1.8.0-openjdk-headless | grep THIRD_PARTY_README
/usr/share/licenses/java-1.8.0-openjdk-headless-1.8.0.262.b10/THIRD_PARTY_README

[root@r8 ~]# repoquery -l java-1.8.0-openjdk-headless | grep THIRD_PARTY
/usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README


We can see the files are different between the versions with the size alone. I can extract them to show you whats different if we need to.

# rpm -qlvp java-1.8.0-openjdk-headless-1.8.0.2*| grep README
-r--r--r--    1 root    root                   153250 Apr 19 17:26 /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README
-r--r--r--    1 root    root                   152996 Jul 12 17:33 /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README


~~~~~~~~~~~~~~~~
This occurs on the oldest and newest version of rpm. All of my results so far are with the newest version.

Downgrading to the oldest version of rpm, does not change the result.

Downgrading:
 dnf                               noarch                        4.2.7-7.el8_1                         rhel-8-for-x86_64-baseos-rpms                           490 k
 dnf-automatic                     noarch                        4.2.7-7.el8_1                         rhel-8-for-x86_64-baseos-rpms                           136 k
 dnf-data                          noarch                        4.2.7-7.el8_1                         rhel-8-for-x86_64-baseos-rpms                           139 k
 dnf-plugins-core                  noarch                        4.0.8-3.el8                           rhel-8-for-x86_64-baseos-rpms                            62 k
 libdnf                            x86_64                        0.35.1-9.el8_1                        rhel-8-for-x86_64-baseos-rpms                           606 k
 python3-dnf                       noarch                        4.2.7-7.el8_1                         rhel-8-for-x86_64-baseos-rpms                           506 k
 python3-dnf-plugin-versionlock    noarch                        4.0.8-3.el8                           rhel-8-for-x86_64-baseos-rpms                            55 k
 python3-dnf-plugins-core          noarch                        4.0.8-3.el8                           rhel-8-for-x86_64-baseos-rpms                           193 k
 python3-hawkey                    x86_64                        0.35.1-9.el8_1                        rhel-8-for-x86_64-baseos-rpms                            96 k
 python3-libdnf                    x86_64                        0.35.1-9.el8_1                        rhel-8-for-x86_64-baseos-rpms                           689 k
 python3-rpm                       x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                           147 k
 rpm                               x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                           536 k
 rpm-build                         x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-appstream-rpms                        166 k
 rpm-build-libs                    x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                           149 k
 rpm-libs                          x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                           333 k
 rpm-plugin-selinux                x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                            71 k
 rpm-plugin-systemd-inhibit        x86_64                        4.14.2-9.el8                          rhel-8-for-x86_64-baseos-rpms                            72 k
 yum                               noarch                        4.2.7-7.el8_1                         rhel-8-for-x86_64-baseos-rpms                           181 k
 yum-utils                         noarch                        4.0.8-3.el8                           rhel-8-for-x86_64-baseos-rpms                            64 k



[root@r8 ~]# yum --setopt=installonlypkgs=java-1.8.0-openjdk,java-1.8.0-openjdk-headless,java-1.8.0-openjdk-devel localinstall java-1.8.0-openjdk-headless-1.8.0.2*.rpm
Installing:
 java-1.8.0-openjdk-headless                    x86_64                    1:1.8.0.252.b09-3.el8_2                              @commandline                                         33 M
 java-1.8.0-openjdk-headless                    x86_64                    1:1.8.0.262.b10-0.el8_2                              @commandline                                         34 M
Error: Transaction check error:
  file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README conflicts between attempted installs of java-1.8.0-openjdk-headless-1:1.8.0.262.b10-0.el8_2.x86_64 and java-1.8.0-openjdk-headless-1:1.8.0.252.b09-3.el8_2.x86_64




2 packages provide a different file, with the same name in the same location and they conflict with each other. This is expected rpm behaviour.

Comment 9 jiri vanek 2020-07-22 16:09:16 UTC
Hmm. Looking to our specfiles:

both:
%global jdkimage       j2sdk-image

el7:
%global origin          openjdk
%global top_level_dir_name   %{origin}
%global buildoutputdir() %{expand:%{top_level_dir_name}/build/jdk8.build%1}
%license %{buildoutputdir %%1}/images/%{jdkimage}/jre/THIRD_PARTY_README
=> openjdk/images/j2sdk-image/jre/THIRD_PARTY_README (if %1 is nil, which it is i our case)
el8:

%define buildoutputdir() %{expand:build/jdk8.build%{?1}}
%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/THIRD_PARTY_README
=> %license build/jdk8.build/images/j2sdk-image/jre/THIRD_PARTY_README  (if %1 is nil, which it is i our case)



So unless license macro went go wild a bit between el7 and el8, and chaged from NVR to N only (which I doubt a bit),
the only suspicious element is  openjdk x build, whereboth claim to be %buildoutputdir, in case of el8 its path to %build is quite more tricky, but being it followed by images, it is right.

el7"
rpm --version
RPM version 4.11.3
el8:
rpm --version
RPM version 4.14.3

%license is hardcoded macro

Comment 10 Kyle Walker 2020-07-22 18:41:46 UTC
@Jiri,
It's that the license file itself is different:

    $ rpmdiff java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el8.x86_64.rpm java-1.8.0-openjdk-headless-1.8.0.212.b04-1.el8_0.x86_64.rpm | grep THIRD_PARTY
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

If the files are _not_ different, then you can have multiple RPMs claim the same file in an installonly configuration.

    $ ls -1 java*
    java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el8.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.212.b04-1.el8_0.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.222.b10-0.el8_0.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.222.b10-1.el8.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el8_0.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.232.b09-2.el8_1.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.252.b09-3.el8_2.x86_64.rpm
    java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el8_2.x86_64.rpm

    $ PREV=java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el8.x86_64.rpm; for CUR in $(ls java*); do if [[ "$CUR" == "$PREV" ]]; then continue; fi; echo $PREV vs $CUR; rpmdiff $PREV $CUR | grep THIRD; PREV=$CUR; echo; done

With the above:

    java-1.8.0-openjdk-headless-1.8.0.201.b09-2.el8.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.212.b04-1.el8_0.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.212.b04-1.el8_0.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.222.b10-0.el8_0.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.222.b10-0.el8_0.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.222.b10-1.el8.x86_64.rpm
    ..........T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.222.b10-1.el8.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el8_0.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.232.b09-0.el8_0.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.232.b09-2.el8_1.x86_64.rpm
    ..........T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.232.b09-2.el8_1.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm
    ..........T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.252.b09-3.el8_2.x86_64.rpm
    ..........T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    java-1.8.0-openjdk-headless-1.8.0.252.b09-3.el8_2.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el8_2.x86_64.rpm
    S.5.......T /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README


If you install packages that do not differ (java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm) there is no conflict. Note, I am including "--nodeps" so that I don't have to install the full stack, but the outcome is the same:

    # rpm -ivh java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm --nodeps
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:java-1.8.0-openjdk-headless-1:1.8################################# [ 50%]
       2:java-1.8.0-openjdk-headless-1:1.8################################# [100%]

    # rpm -q java-1.8.0-openjdk-headless
    java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64
    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64

    # rpm -qf /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README
    java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64
    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64

You run into difficulties when you start with a dissimilar file (java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64.rpm vs java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm):

    # rpm -ivh java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm --nodeps
    Verifying...                          ################################# [100%]
    Preparing...                          ################################# [100%]
	file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README from install of java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64 conflicts with file from package java-1.8.0-openjdk-headless-1:1.8.0.242.b08-4.el8.x86_64
    	file /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README from install of java-1.8.0-openjdk-headless-1:1.8.0.252.b09-2.el8_1.x86_64 conflicts with file from package java-1.8.0-openjdk-headless-1:1.8.0.242.b08-0.el8_1.x86_64

You can't install both of these because the file payload is different.

    # diff --suppress-common-lines -up java-1.8.0-openjdk-headless-*-unpack/usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README | head
    --- java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64.rpm-unpack/usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README	2020-01-15 20:46:35.000000000 -0500
    +++ java-1.8.0-openjdk-headless-1.8.0.252.b09-2.el8_1.x86_64.rpm-unpack/usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README	2020-04-14 14:31:02.000000000 -0400
    @@ -1712,10 +1712,60 @@ which may be included with JRE 8, JDK 8,
 
     --- begin of LICENSE ---
     
    + Mesa 3-D Graphics Library v19.2.1
    +
    + Copyright (C) 1999-2007  Brian Paul   All Rights Reserved.
    +


Note, this behaviour is per-design. If you remove one of the packages, which provides the singular file, it will not remove the underlying file:

    # rpm -qf /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README
    java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64
    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64

    # ll /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README 
    -r--r--r--. 1 root root 148650 Mar 27 01:21 /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    # rpm -e java-1.8.0-openjdk-headless-1.8.0.242.b08-4.el8.x86_64
    # ll /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README 
    -r--r--r--. 1 root root 148650 Mar 27 01:21 /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README

    # rpm -qf /usr/share/licenses/java-1.8.0-openjdk-headless/THIRD_PARTY_README
    java-1.8.0-openjdk-headless-1.8.0.242.b08-0.el8_1.x86_64


In the event that you want to allow parallel installations, you _have_ to:

    - Ensure that the conflicting paths are unchanging across all versions released
    - Ensure that any changing files are within non-conflicting paths

For reference:

    rpm.org - Multiple Installed Versions
    https://rpm.org/user_doc/multiple_versions.html

Comment 11 jiri vanek 2020-07-23 08:45:34 UTC
Hi!

Thanx for detailed analyse, it is appreciated.

Since the THIRD_PARTY_README have become mutable, to put it to fully-versioned directory is the way to go.
However, I really keep wondering, why in rhel7, %license put it to fully versioned NVR dir, but in rhel8 onlyhto packageName dir.

Comment 12 jiri vanek 2020-07-23 11:08:27 UTC
While %license remains an mystery, https://src.fedoraproject.org/rpms/java-1.8.0-openjdk/pull-request/127 is solving it for fedora.
Will bubble to rhel on its own, or we can manage to get this bug fully acked.

Comment 13 Andrew John Hughes 2020-07-25 21:30:36 UTC
I'm not sure how it will "bubble to rhel on its own", but I've reviewed the PR and will dev-ack this for RHEL.
Either you or I can port it over once it's stable in Fedora. Should still be able to make eSnap1 for RHEL 8.3.

Comment 14 jiri vanek 2020-07-27 07:55:36 UTC
Work is being done on automated reproducer. Unluckily the automation is a bit harder here, as our provider for latest released jdk is not 100% integrated everywhere (zzambers) and jandlik is enhancing our patched tps to catch this.

Comment 24 errata-xmlrpc 2020-11-04 02:43:27 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (java-1.8.0-openjdk bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4656


Note You need to log in before you can comment on or make changes to this bug.