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 1791843 - "yum updateinfo" should apply a modular filter to the package listing
Summary: "yum updateinfo" should apply a modular filter to the package listing
Keywords:
Status: CLOSED DUPLICATE of bug 1804234
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: dnf
Version: 8.1
Hardware: All
OS: All
medium
high
Target Milestone: rc
: 8.0
Assignee: Packaging Maintenance Team
QA Contact: swm-qe
URL:
Whiteboard:
Depends On:
Blocks: 1654708 1825061
TreeView+ depends on / blocked
 
Reported: 2020-01-16 15:27 UTC by jcastran
Modified: 2023-09-07 21:29 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-29 07:30:39 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) 4922461 0 None None None 2020-03-23 17:58:02 UTC

Description jcastran 2020-01-16 15:27:59 UTC
Description of problem:
The packages from https://access.redhat.com/errata/RHBA-2019:3337 are not accessible to any system without disabling module filtering.

Version-Release number of selected component (if applicable):
dnf-4.2.7-7.el8_1.noarch
libdnf-0.35.1-9.el8_1.x86_64
perl-DBD-SQLite-1.58-2.module+el8.1.0+2940+55ca6856

How reproducible:
Everytime

Steps to Reproduce:
1. yum list perl-DBD-SQLite

Actual results:
Latest shows as 
perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee   rhel-8-for-x86_64-appstream-rpms


Expected results:
Latest shows as
perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+55ca6856   rhel-8-for-x86_64-appstream-rpms


Additional info:
# yum module list perl-DBD-SQLite
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
Name                      Stream                Profiles             Summary                    
perl-DBD-SQLite           1.58 [d][e]           common [d]           SQLite DBI driver          
 
# yum list perl-DBD-SQlite --showduplicates
Installed Packages
 perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee   @rhel-8-for-x86_64-appstream-rpms
Available Packages
 perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+ab644fb0       rhel-8-for-x86_64-appstream-rpms
 perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee   rhel-8-for-x86_64-appstream-rpms
 

Here we see that by using module_hotfixes we can see the package.
 
# yum list perl-DBD-SQlite --showduplicates --setopt=rhel-8-for-x86_64-appstream-rpms.module_hotfixes=1
Installed Packages
 perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee   @rhel-8-for-x86_64-appstream-rpms
Available Packages
 perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+ab644fb0       rhel-8-for-x86_64-appstream-rpms
 perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+e351b2a7       rhel-8-for-x86_64-appstream-rpms
 perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee   rhel-8-for-x86_64-appstream-rpms
 perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+55ca6856   rhel-8-for-x86_64-appstream-rpms

Comment 1 Petr Pisar 2020-01-16 15:45:18 UTC
I believe you use RHEL 8.1. Not 8.2. The mentioned erratum is for RHEL-8.1.

Comment 2 Petr Pisar 2020-01-16 16:48:57 UTC
(In reply to jcastran from comment #0)
> Description of problem:
> The packages from https://access.redhat.com/errata/RHBA-2019:3337 are not
> accessible to any system without disabling module filtering.
> 
They are accessible. But not all of them at the same time. That's on purpose. Please continue reading.

> Steps to Reproduce:
> 1. yum list perl-DBD-SQLite
> 
> Actual results:
> Latest shows as 
> perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee  
> rhel-8-for-x86_64-appstream-rpms
> 
This the latest package built for Perl 5.26.

> Expected results:
> Latest shows as
> perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+55ca6856  
> rhel-8-for-x86_64-appstream-rpms
> 
This is the latest package built for Perl 5.24.

> Additional info:
> # yum module list perl-DBD-SQLite
> Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
> Name                      Stream                Profiles             Summary
> 
> perl-DBD-SQLite           1.58 [d][e]           common [d]           SQLite
> DBI driver          
> 
That's good. But important information in this case is what perl stream you have active. What does display the following command?

# yum module list perl

I believe it will report perl:5.26 as the active one in contrast to perl:5.24. E.g. like this:

Name     Stream       Profiles                Summary                                     
perl     5.24         common [d], minimal     Practical Extraction and Report Language    
perl     5.26 [d]     common [d], minimal     Practical Extraction and Report Language    

And that means that modular packages built for Perls other than 5.26 will be hidden. If you enabled perl:5.24, yum list would show the other perl-DBD-SQLite package.

What you experience here is a modular filtering based on the modular dependencies. There are two Perl streams perl:5.24 and perl:5.26.
There is one perl-DBD-SQLite stream perl-DBD-SQLite:1.58. The stream is built twice. Each time for a Perl. Each of them is compatible only to the one Perl, but incompatible to the other Perl. In order not to mix the packages, they are split into two sets called contexts.

You can see all the contexts (and all module versions) with "yum module info perl-DBD-SQLite:1.58" command. You will see modules with the same name, stream, and version, but diffing in context there. You will also see the packages there. What you want's see there is the modular dependency on particular perl. This is deficiency in YUM that will be corrected in the future. But you can add "-v" option to see a debugging output where the perl dependency is listed.

> # yum list perl-DBD-SQlite --showduplicates
> Installed Packages
>  perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee  
> @rhel-8-for-x86_64-appstream-rpms
> Available Packages
>  perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+ab644fb0      
> rhel-8-for-x86_64-appstream-rpms
>  perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee  
> rhel-8-for-x86_64-appstream-rpms
>
This also hides the incompatible packages as designed. And it also confirms that you have the latest perl-DBD-SQlite package already on you system and that the erratum was successfully installed.
  
> Here we see that by using module_hotfixes we can see the package.
>  
> # yum list perl-DBD-SQlite --showduplicates
> --setopt=rhel-8-for-x86_64-appstream-rpms.module_hotfixes=1
> Installed Packages
>  perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee  
> @rhel-8-for-x86_64-appstream-rpms
> Available Packages
>  perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+ab644fb0      
> rhel-8-for-x86_64-appstream-rpms
>  perl-DBD-SQLite.x86_64   1.58-1.module+el8+2519+e351b2a7      
> rhel-8-for-x86_64-appstream-rpms
>  perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+f62455ee  
> rhel-8-for-x86_64-appstream-rpms
>  perl-DBD-SQLite.x86_64   1.58-2.module+el8.1.0+2940+55ca6856  
> rhel-8-for-x86_64-appstream-rpms

Enabling module_hotfixes on a repository makes the repository to be exempted from modular filtering. That's handy for installing a hotfixes for modules and for searching among all packages regardless status of a modular stream and compatibility of a context to whom they belong to. But I discourage you from using for other purposes.

If I summarize this issue, everything works as designed. If it does not match your expectation, could you please describe your use case? I.e. What are you trying to achieve?

By the way you should get the same experience (yum list) with RHEL 8.0. There are also two contexts of perl-DBD-SQLite for two Perls. In other words it's not specific to perl-DBD-SQLite update in RHEL 8.1.

Comment 3 Petr Pisar 2020-01-17 10:12:27 UTC
I will move this report to "dnf" component because it's DNF (via yum command) that implements the modular filtering.
I believe dnf maintainers will reject this report because it works as designed.
If you need e.g. a more user-friendly way of listing all existing packages in a repository instead of setting module_hotfixes option, please tell us here.

Comment 12 Jaroslav Mracek 2020-04-29 07:30:39 UTC
I see the bug as a duplicate of 1804234.

*** This bug has been marked as a duplicate of bug 1804234 ***


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