Bug 1780363
| Summary: | When excludepkgs is set for one repository, package from a different repository is ignored as well | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Geoff Montee <geoff.montee> |
| Component: | dnf | Assignee: | Marek Blaha <mblaha> |
| Status: | CLOSED NOTABUG | QA Contact: | Radek Bíba <rbiba> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 8.4 | CC: | james.antill, jberan, mblaha |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | 8.0 | Flags: | jberan:
mirror+
|
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-04-20 06:27:30 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Geoff Montee
2019-12-05 18:56:08 UTC
The situation is pretty much the same as in the bug https://bugzilla.redhat.com/show_bug.cgi?id=1777393 Again the problem is that dnf (according to the modularity specifications - see https://dnf.readthedocs.io/en/latest/command_ref.html#modular-filtering) filters out all packages "from inactive module streams, as well as non-modular packages with the same name *OR PROVIDES* as a package from an active module stream". So this is not DNF bug, but the modularity feature. Specifically for the mariadb: 1. list all MariaDB-server packages regardless the modularity $ dnf --setopt=*.module_hotfixes=1 repoquery MariaDB-server MariaDB-server-0:10.4.10-1.el8.x86_64 MariaDB-server-0:10.4.7-1.el8.x86_64 MariaDB-server-0:10.4.8-1.el8.x86_64 mariadb-server-3:10.3.17-1.module+el8.1.0+3974+90eded84.x86_64 2. list all provides of the MariaDB-server-0:10.4.10-1.el8.x86_64 package $ dnf --setopt=*.module_hotfixes=1 repoquery --provides MariaDB-server-0:10.4.10-1.el8.x86_64 MariaDB MariaDB-server = 10.4.10-1.el8 MariaDB-server(x86-64) = 10.4.10-1.el8 MySQL MySQL-server config(MariaDB-server) = 10.4.10-1.el8 config(mysql-server) = 10.4.10-1.el8 libmariadbd.so.19()(64bit) msqlormysql mysql-server mysql-server = 10.4.10-1.el8 mysql-server(x86-64) = 10.4.10-1.el8 3. find out which modules contain artifacts with the same name as any of those provides (use only those provides that could possibly be package names): $ dnf module provides MariaDB MariaDB-server MySQL MySQL-server msqlormysql mysql-server mysql-server-8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 Module : mysql:8.0:8000020190807131617:f8e95b4e:x86_64 Profiles : server Repo : rhel-AppStream Summary : MySQL Module 4. list all the artifacts of the mysql:8.0 stream: $ dnf module info mysql:8.0 Name : mysql Stream : 8.0 [d][x] Version : 8000020190807131617 Context : f8e95b4e Architecture : x86_64 Profiles : client, server [d] Default profiles : server Repo : rhel-AppStream Summary : MySQL Module Description : MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. Requires : platform:[el8] Artifacts : mecab-0:0.996-1.module+el8.0.0+3898+e09bb8de.9.src : mecab-0:0.996-1.module+el8.0.0+3898+e09bb8de.9.x86_64 : mecab-debuginfo-0:0.996-1.module+el8.0.0+3898+e09bb8de.9.x86_64 : mecab-debugsource-0:0.996-1.module+el8.0.0+3898+e09bb8de.9.x86_64 : mecab-ipadic-0:2.7.0.20070801-16.module+el8.0.0+3898+e09bb8de.src : mecab-ipadic-0:2.7.0.20070801-16.module+el8.0.0+3898+e09bb8de.x86_64 : mecab-ipadic-EUCJP-0:2.7.0.20070801-16.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.src : mysql-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-common-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-debuginfo-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-debugsource-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-devel-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-devel-debuginfo-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-errmsg-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-libs-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-libs-debuginfo-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-server-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-server-debuginfo-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-test-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 : mysql-test-debuginfo-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64 4. the stream "8.0" of the module mysql contains artifact mysql-server-0:8.0.17-3.module+el8.0.0+3898+e09bb8de.x86_64. The stream is default and that means it is active => all non-modular packages with either name mysql-server or provide mysql-server are going to be filtered out. The package MariaDB-server provides "mysql-server" and thus will be filtered out. 5. to be able to install MariaDB-server package, we need to disable mysql module (and also the module mariadb for similar reasons) $ dnf module disable mysql mariadb 6. package MariaDB-server is available $ dnf info MariaDB-server Available Packages Name : MariaDB-server Version : 10.4.10 Release : 1.el8 Architecture : x86_64 Size : 26 M Source : MariaDB-server-10.4.10-1.el8.src.rpm Repository : mariadb-main Summary : MariaDB: a very fast and robust SQL database server URL : http://mariadb.org License : GPLv2 Description : MariaDB: a very fast and robust SQL database server |