Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-5069

jss conflicts with maven:3.6 module

    • Icon: Bug Bug
    • Resolution: Can't Do
    • Icon: Major Major
    • None
    • rhel-8.6.0
    • jss
    • Major
    • sst_idm_cs
    • ssg_idm
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None

      Description of problem:

      If there is jss package installed on the system , whenever we enable maven:3.6 and update the system, we see dependency error.

      This appears to be happening because of issue described in the below bug - https://bugzilla.redhat.com/show_bug.cgi?id=2091862 related the dependency with `slf4j` and `slf4j-jdk14` not having the same 1.7.28 version.

      ~~~
      Error:
      Problem: problem with installed package jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64

      • cannot install the best update candidate for package jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
      • package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j, but none of the providers can be installed
      • cannot install the best update candidate for package slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
      • package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j-jdk14, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch
      • package slf4j-1.7.25-4.module+el8+2598+06babf2e.noarch is filtered out by modular filtering
      • package slf4j-jdk14-1.7.25-4.module+el8+2598+06babf2e.noarch is filtered out by modular filtering
      • package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
        (try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)

      The module set up is mostly default on my system with only `javapackages-runtime` because I have open jdk installed.
      ~~~

      1. dnf module list pki* java* maven
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:00:48 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
        Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
        Name Stream Profiles Summary
        javapackages-runtime 201801 [d][e] common [d] Basic runtime utilities to support Java applications
        maven 3.5 [d] common [d] Java project management and project comprehension tool
        maven 3.6 common [d] Java project management and project comprehension tool
        pki-core 10.6 [e] PKI Core module for PKI 10.6 or later
        pki-deps 10.6 [e] PKI Dependencies module for PKI 10.6 or later

      Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
      ~~~

      Based on what I have understood , this happens because of the below reason,

      Due to the jss package require the slf4j and the slf4j-jdk14 package and the dependency change in the jss upgrade from `apache-commons-lang` to `apache-commons-lang3`
      ~~~

      1. rpm -qRp jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64.rpm | grep -e slf4j -e apache-commons-lang
        apache-commons-lang
        slf4j
        slf4j-jdk14
      1. rpm -qRp jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64.rpm | grep -e slf4j -e apache-commons-lang
        apache-commons-lang3
        slf4j
        slf4j-jdk14
        ~~~

      The current available jss packages is only available through `pki-core` module.
      ~~~

      1. dnf module provides jss | grep -e jss -e Module
        jss-4.5.0-1.module+el8+2467+468c375c.x86_64
        Module : pki-core:10.6:820190128182152:5a87be8a:x86_64
        jss-4.6.0-5.module+el8.1.0+4218+3fd65c36.x86_64
        Module : pki-core:10.6:8010020190912123424:8ba0ffbe:x86_64
        jss-4.6.2-4.module+el8.2.0+6123+b4678599.x86_64
        Module : pki-core:10.6:8020020200326162741:c7c3114f:x86_64
        jss-4.6.2-6.module+el8.2.0+6305+445d7b5a.x86_64
        Module : pki-core:10.6:8020020200415160802:bbc64e6e:x86_64
        jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
        Module : pki-core:10.6:8030020200911215836:5ff1562f:x86_64
        jss-4.7.3-1.module+el8.3.0+8058+d5cd4219.x86_64
        Module : pki-core:10.6:8030020210315205745:e0223e2d:x86_64
        jss-4.8.1-2.module+el8.4.0+10451+3e5b5448.x86_64
        Module : pki-core:10.6:8040020210324135707:d4d99205:x86_64
        jss-4.8.1-2.module+el8.4.0+10451+3e5b5448.x86_64
        Module : pki-core:10.6:8040020210519185901:17df0a3f:x86_64
        jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
        Module : pki-core:10.6:8050020210924095114:01d2cef5:x86_64
        jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
        Module : pki-core:10.6:8050020220111200158:3246ec52:x86_64
        jss-4.9.1-1.module+el8.5.0+12710+1c6f9ceb.x86_64
        Module : pki-core:10.6:8050020220309211426:3246ec52:x86_64
        jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64
        Module : pki-core:10.6:8060020220215143656:7e0b02f6:x86_64
        ~~~

      And the `apache-commons-lang3` is available only through one of the maven module present.
      ~~~

      1. dnf module provides apache-commons-lang3 | grep -e apache-common -e Module
        apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
        Module : maven:3.5:8060020211117110044:c0229ad2:x86_64
        apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
        Module : maven:3.5:8060020220428102527:219351c9:x86_64
        apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch
        Module : maven:3.5:820181213140354:5ea3b708:x86_64
        apache-commons-lang3-3.9-4.module+el8.2.0+5557+11a14461.noarch
        Module : maven:3.6:8020020200125185948:af5e9d52:x86_64
        apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch
        Module : maven:3.6:8030020200527152730:a623df05:x86_64
        apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch
        Module : maven:3.6:8040020201224090117:14342f08:x86_64
        apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch
        Module : maven:3.6:8060020211119162118:5dbfe8be:x86_64
        apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch
        Module : maven:3.6:8060020220428115217:32bfc089:x86_64
        ~~~

      Version-Release number of selected component (if applicable):

      jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64
      slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch

      How reproducible:
      Every time , when maven:3.6 is enabled along with jss package.

      Steps to Reproduce:

        • Scenario 1 - Installing then enabling maven:3.6

      By default on installation of jss on the system it enabled maven:3.5 because of maven:3.5 set to default.

      ~~~

      1. dnf install jss
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:05:31 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Installing:
        jss x86_64 4.9.3-1.module+el8.6.0+14244+60d461b7 rhel-8-for-x86_64-appstream-rpms 1.2 M
        Installing dependencies:
        apache-commons-lang3 noarch 3.7-3.module+el8+2452+b359bfcd rhel-8-for-x86_64-appstream-rpms 483 k
        glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
        javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
        slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
        slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k
        Enabling module streams:
        maven 3.5

      Transaction Summary
      =================================================================================================================================================
      Install 6 Packages

      Total download size: 1.9 M
      Installed size: 2.4 M
      ~~~

      Switching to maven:3.6 causes its possible to switch but here because `slf4j-jdk14` package is the dependency and the `slf4j` package here in the maven 3.6 repo contains only new 1.7.28 for which the corresponding `slf4j-jdk14` is not available. This is also referenced in BZ - https://bugzilla.redhat.com/show_bug.cgi?id=2091862
      ~~~

      1. dnf module switch-to maven:3.6 --allowerasing
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:06:50 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Upgrading:
        apache-commons-lang3 noarch 3.9-4.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 493 k
        slf4j noarch 1.7.28-3.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 77 k
        Installing dependencies:
        apache-commons-codec noarch 1.13-3.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 300 k
        apache-commons-lang noarch 2.6-21.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 283 k
        Removing dependent packages:
        slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 @rhel-8-for-x86_64-appstream-rpms 11 k
        Downgrading:
        jss x86_64 4.5.0-1.module+el8+2467+468c375c rhel-8-for-x86_64-appstream-rpms 1.1 M
        Switching module streams:
        maven 3.5 -> 3.6

      Transaction Summary
      =================================================================================================================================================
      Install 2 Packages
      Upgrade 2 Packages
      Remove 1 Package
      Downgrade 1 Package
      ~~~

      1. dnf update --allowerasing
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:07:53 ago on Thu 25 Aug 2022 11:58:55 PM EDT.
        Error:
        Problem: problem with installed package jss-4.5.0-1.module+el8+2467+468c375c.x86_64
      • cannot install the best update candidate for package jss-4.5.0-1.module+el8+2467+468c375c.x86_64
      • package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires slf4j-jdk14, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can be installed
      • cannot install both slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
      • cannot install both slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
      • cannot install both slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
      • cannot install both slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch and slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
      • package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
      • cannot install the best update candidate for package slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
      • problem with installed package slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch
        (try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)

      ~~~

        • Scenario 2 - First enabling maven:3.6 and then install jss

      ~~~

      1. dnf module enable maven:3.6
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:14:49 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Enabling module streams:
        maven 3.6

      Transaction Summary
      =================================================================================================================================================

      Is this ok [y/N]: y
      Complete!
      ~~~

      Here it installed in the `slf4j` and `slf4j` package installed from the `pki-deps` dnf module.
      ~~~

      1. dnf install jss
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:15:04 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Installing:
        jss x86_64 4.9.3-1.module+el8.6.0+14244+60d461b7 rhel-8-for-x86_64-appstream-rpms 1.2 M
        Installing dependencies:
        apache-commons-lang3 noarch 3.9-4.module+el8.6.0+13337+afcb49ec rhel-8-for-x86_64-appstream-rpms 493 k
        glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
        javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
        slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
        slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k

      Transaction Summary
      =================================================================================================================================================
      Install 6 Packages

      Total download size: 1.9 M
      Installed size: 2.4 M
      Is this ok [y/N]: y
      ~~~

      However , now that maven:3.6 has the never version of slf4j i.e. `1.7.28` available it fails to update it because corresponding slf4j-jdk14 version `1.7.28` is not available
      ~~~

      1. dnf update
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:15:34 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Error:
        Problem: package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch requires mvn(org.slf4j:slf4j-api) = 1.7.25, but none of the providers can
        be installed
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3248+9d514f3b.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.0.0+3892+c903d3f0.noarch
      • cannot install both slf4j-1.7.28-3.module+el8.6.0+13337+afcb49ec.noarch and slf4j-1.7.25-4.module+el8.1.0+3366+6dfb954c.noarch
      • cannot install the best update candidate for package slf4j-jdk14-1.7.25-4.module+el8+2468+c564cec5.noarch
      • cannot install the best update candidate for package slf4j-1.7.25-4.module+el8+2468+c564cec5.noarch
      • package slf4j-1.7.25-4.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
        (try to add '-allowerasing' to command line to replace conflicting packages or 'skip-broken' to skip uninstallable packages or '-nobest' to u
        se not only best candidate packages)
        ~~~
        • Scenario 3 - Disabling maven completely

      If we completely disable maven, then we get error because the latest `jss` package needs needs `apache-commons-lang3` which is only available through maven:3.5 or maven:3.6 module

      ~~~

      1. dnf module disable maven
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:01:03 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Disabling modules:
        maven

      Transaction Summary
      =================================================================================================================================================

      Is this ok [y/N]: y
      Complete!

      1. dnf install jss
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:01:53 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Error:
        Problem: package jss-4.9.3-1.module+el8.6.0+14244+60d461b7.x86_64 requires apache-commons-lang3, but none of the providers can be installed
      • cannot install the best candidate for the job
      • package apache-commons-lang3-3.7-3.module+el8+2452+b359bfcd.noarch is filtered out by modular filtering
      • package apache-commons-lang3-3.9-4.module+el8.2.0+5557+11a14461.noarch is filtered out by modular filtering
      • package apache-commons-lang3-3.9-4.module+el8.3.0+6804+157bd82e.noarch is filtered out by modular filtering
      • package apache-commons-lang3-3.9-4.module+el8.6.0+13337+afcb49ec.noarch is filtered out by modular filtering
        (try to add '-skip-broken' to skip uninstallable packages or '-nobest' to use not only best candidate packages)
        ~~~

      While due to the dependency change, in recent version of jss requiring `apache-common-lang3` instead of `apache-common-lang` if we exclude the recent jss package.
      We can get the packages installed. However a `dnf update` will result in the error again.
      ~~~

      1. dnf install jss --exclude=jss-4.[89]*
        Updating Subscription Management repositories.
        Last metadata expiration check: 0:03:33 ago on Fri 26 Aug 2022 12:09:56 AM EDT.
        Dependencies resolved.
        =================================================================================================================================================
        Package Architecture Version Repository Size
        =================================================================================================================================================
        Installing:
        jss x86_64 4.7.3-1.module+el8.3.0+8058+d5cd4219 rhel-8-for-x86_64-appstream-rpms 1.2 M
        Installing dependencies:
        apache-commons-lang noarch 2.6-21.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 283 k
        glassfish-jaxb-api noarch 2.2.12-8.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 102 k
        javapackages-tools noarch 5.3.0-1.module+el8+2447+6f56d9a6 rhel-8-for-x86_64-appstream-rpms 44 k
        slf4j noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 77 k
        slf4j-jdk14 noarch 1.7.25-4.module+el8+2468+c564cec5 rhel-8-for-x86_64-appstream-rpms 25 k

      Transaction Summary
      =================================================================================================================================================
      Install 6 Packages

      Total download size: 1.7 M
      Installed size: 2.1 M
      ~~~

      Actual results:
      Dependency conflict occurs with jss packages when maven:3.6 is enable.

      Expected results:
      Dependency conflict should not occurs with jss packages when maven:3.6 is enabled.

      Also since jss is part of the pki-core module, if we are not expected to use the maven:3.6 with this, then the `slf4j-jdk14` and `slf4j` and `apache-common-lang3` should be distributed as part of pki-deps. This way even on disabling maven the installation would go through.

      Additional info:

      See also BZ - https://bugzilla.redhat.com/show_bug.cgi?id=2091862 which discuss about `slf4j-jdk14` and `slf4j` packages.
      In addition to that , the reason for switching maven:3.5 to maven:3.6 is also due to the fact that maven:3.55 is EOL as of now.
      ~~~
      Application Stream Release Date Retirement Date Release
      maven 3.6 May 2020 Apr 2023 8.2.0
      maven 3.5 May 2019 May 2022 8.0.0
      ~~~

            jira-bugzilla-migration RH Bugzilla Integration
            rhn-support-amepatil Ameya Patil
            RH Bugzilla Integration RH Bugzilla Integration
            RH Bugzilla Integration RH Bugzilla Integration
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: