Bug 2225221 - dnf outputs a Problem when an older version of an installed module has a requirement thats no longer available
Summary: dnf outputs a Problem when an older version of an installed module has a requ...
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: dnf
Version: 8.8
Hardware: All
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Jaroslav Mracek
QA Contact: swm-qe
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-07-24 16:07 UTC by jcastran
Modified: 2023-08-01 11:54 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-08-01 11:54:48 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-163170 0 None None None 2023-07-24 16:09:59 UTC

Description jcastran 2023-07-24 16:07:29 UTC
Description of problem:
dnf outputs module requirement "Problems" when an older version of an installed/enabled/default module can't find its requirements. Even though we are using a newer version of the same stream.

~~~
# yum module list
 Problem: module php:7.2:820181215112050:76554e01.x86_64 requires module(nginx:1.14), but none of the providers can be installed
  - module nginx:1.14:820181214004940:9edba152.x86_64 conflicts with module(nginx:1.20) provided by nginx:1.20:8050020210820165208:b4937e53.x86_64
  - module nginx:1.20:8050020210820165208:b4937e53.x86_64 conflicts with module(nginx:1.14) provided by nginx:1.14:820181214004940:9edba152.x86_64
  - module nginx:1.20:8050020210820165208:b4937e53.x86_64 conflicts with module(nginx:1.14) provided by nginx:1.14:8000020190830002848:f8e95b4e.x86_64
  - module nginx:1.14:8000020190830002848:f8e95b4e.x86_64 conflicts with module(nginx:1.20) provided by nginx:1.20:8050020210820165208:b4937e53.x86_64
 <Valid Module List output follows>

~~~


Only one version of php:7.2 requires nginx:1.14 but if enable a different stream of nginx and install a version of php:7.2 that doesn't require nginx:1.14, dnf won't stop outputting a Problem

~~~
# yum module info php:7.2 | egrep 'Name|Version|Context|Requires|nginx'
Name             : php
Version          : 820181215112050
Context          : 76554e01
Requires         : httpd:[2.4]
                 : nginx:[1.14]

Name             : php
Version          : 8010020190515110014
Context          : 2430b045
Requires         : httpd:[2.4]
                 : nginx:[]

Name             : php
Version          : 8010020191030112723
Context          : dcfb48bd
Requires         : httpd:[2.4]
                 : nginx:[]

Name             : php
Version          : 8020020191108065827
Context          : 2c7ca891
Requires         : httpd:[2.4]
                 : nginx:[]
~~~

Version-Release number of selected component (if applicable):
dnf-4.7.0-16.el8_8.noarch

Steps to Reproduce:
1. Fresh RHEL 8 machine
2. # dnf module enable nginx:1.20 -y
3. # dnf install php -y
4. Php installs but now all module commands have a warning.
4b. # yum module list


Actual results:
 Problem: module php:7.2:820181215112050:76554e01.x86_64 requires module(nginx:1.14), but none of the providers can be installed
  - module nginx:1.14:820181214004940:9edba152.x86_64 conflicts with module(nginx:1.20) provided by nginx:1.20:8050020210820165208:b4937e53.x86_64
  - module nginx:1.20:8050020210820165208:b4937e53.x86_64 conflicts with module(nginx:1.14) provided by nginx:1.14:820181214004940:9edba152.x86_64
  - module nginx:1.20:8050020210820165208:b4937e53.x86_64 conflicts with module(nginx:1.14) provided by nginx:1.14:8000020190830002848:f8e95b4e.x86_64
  - module nginx:1.14:8000020190830002848:f8e95b4e.x86_64 conflicts with module(nginx:1.20) provided by nginx:1.20:8050020210820165208:b4937e53.x86_64


Expected results:
This should not be present when using a different version of <module> that doesn't have the same requirement.



Additional info:


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