Bug 1758459 - dnf builddep does not respect modules and is not consistent with dnf install
Summary: dnf builddep does not respect modules and is not consistent with dnf install
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: dnf-plugins-core
Version: 8.0
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: rc
: 8.0
Assignee: Pavla Kratochvilova
QA Contact: Luca Berton
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-10-04 08:14 UTC by Michael Mráka
Modified: 2020-02-17 09:25 UTC (History)
9 users (show)

Fixed In Version: dnf-4.2.6-1.el8.noarch, dnf-plugins-core-4.0.7-1.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-14 12:57:37 UTC
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)
perl-Term-Size.spec (6.17 KB, text/plain)
2019-10-04 08:17 UTC, Michael Mráka
no flags Details

Description Michael Mráka 2019-10-04 08:14:47 UTC
Description of problem:
dnf builddep does not respect modules, wants to install package from not-enabled non-default module even if the module is disabled
dnf builddep behaves differently than dnf install

Version-Release number of selected component (if applicable):
dnf-4.0.9.2-5.el8.noarch
python3-dnf-plugins-core-4.0.2.2-3.el8.noarch

How reproducible:
always

Steps to Reproduce:
1. dnf repolist
Updating Subscription Management repositories.
Last metadata expiration check: 0:00:02 ago on Fri Oct  4 07:52:52 2019.
repo id                                   repo name                                                 status
codeready-builder-for-rhel-8-x86_64-rpms  Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs)  2040
rhel-8-for-x86_64-appstream-rpms          Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)  6172
rhel-8-for-x86_64-baseos-rpms             Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)     2193

2. dnf builddep perl-Term-Size.spec
Updating Subscription Management repositories.
Last metadata expiration check: 0:02:45 ago on Fri Oct  4 07:52:52 2019.
Error: 
 Problem 1: cannot install the best candidate for the job
  - package perl-Exporter-5.72-1000.module+el8+2464+d274aed1.noarch is excluded
 Problem 2: cannot install the best candidate for the job
  - package perl-generators-1.10-7.module+el8+2464+d274aed1.noarch is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

3. dnf module list perl
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
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       

4. dnf list --showdup perl-Exporter
Updating Subscription Management repositories.
Last metadata expiration check: 0:26:01 ago on Fri Oct  4 07:31:23 2019.
Available Packages
perl-Exporter.noarch                      5.72-396.el8                       rhel-8-for-x86_64-baseos-rpms

5. dnf module info perl | grep -e Name -e Stream -e Version -e Context -e Profiles -e Repo -e perl-Exporter
Name             : perl
Stream           : 5.24
Version          : 820190207164249
Context          : ee766497
Profiles         : common [d], minimal
Repo             : rhel-8-for-x86_64-appstream-rpms
Summary          : Practical Extraction and Report Language
                 : perl-Exporter-0:5.72-1000.module+el8+2464+d274aed1.noarch
Name             : perl
Stream           : 5.26 [d][a]
Version          : 820181219174508
Context          : 9edba152
Profiles         : common [d], minimal
Repo             : rhel-8-for-x86_64-appstream-rpms
Summary          : Practical Extraction and Report Language

# now check how dnf install handles the situation
6. dnf --disablerepo=ubi*,epel,copr* --enablerepo=codeready-builder-for-rhel-8-x86_64-rpms install perl-Exporter perl-generators
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
Last metadata expiration check: 0:17:33 ago on Fri Oct  4 07:52:52 2019.
Dependencies resolved.
==========================================================================================================
 Package                    Arch       Version                 Repository                            Size
==========================================================================================================
Installing:
 perl-generators            noarch     1.10-7.el8              rhel-8-for-x86_64-appstream-rpms      18 k
 perl-Exporter              noarch     5.72-396.el8            rhel-8-for-x86_64-baseos-rpms         34 k
Installing dependencies:
 perl-Fedora-VSP            noarch     0.001-9.el8             rhel-8-for-x86_64-appstream-rpms      25 k
 perl-Scalar-List-Utils     x86_64     3:1.49-2.el8            rhel-8-for-x86_64-baseos-rpms         68 k
 perl-PathTools             x86_64     3.74-1.el8              rhel-8-for-x86_64-baseos-rpms         90 k
 perl-libs                  x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms        1.6 M
 perl-Errno                 x86_64     1.28-416.el8            rhel-8-for-x86_64-baseos-rpms         76 k
 perl-interpreter           x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms        6.3 M
 perl-threads-shared        x86_64     1.58-2.el8              rhel-8-for-x86_64-baseos-rpms         48 k
 perl-Socket                x86_64     4:2.027-2.el8           rhel-8-for-x86_64-baseos-rpms         59 k
 perl-Unicode-Normalize     x86_64     1.25-396.el8            rhel-8-for-x86_64-baseos-rpms         82 k
 perl-macros                x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms         72 k
 perl-threads               x86_64     1:2.21-2.el8            rhel-8-for-x86_64-baseos-rpms         61 k
 perl-File-Path             noarch     2.15-2.el8              rhel-8-for-x86_64-baseos-rpms         38 k
 perl-parent                noarch     1:0.237-1.el8           rhel-8-for-x86_64-baseos-rpms         20 k
 perl-IO                    x86_64     1.38-416.el8            rhel-8-for-x86_64-baseos-rpms        141 k
 perl-Text-Tabs+Wrap        noarch     2013.0523-395.el8       rhel-8-for-x86_64-baseos-rpms         24 k
 perl-Carp                  noarch     1.42-396.el8            rhel-8-for-x86_64-baseos-rpms         30 k
 perl-constant              noarch     1.33-396.el8            rhel-8-for-x86_64-baseos-rpms         25 k

Transaction Summary
==========================================================================================================
Install  19 Packages

Total download size: 8.8 M
Installed size: 21 M
Is this ok [y/N]: 


# now even disable perl 5.24 module:
7. dnf module disable perl:5.24
Updating Subscription Management repositories.
Last metadata expiration check: 0:08:52 ago on Fri Oct  4 07:52:52 2019.
Problems in request:
Modular dependency problems with Defaults:

 Problem 1: module freeradius:3.0:820190131191847:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
  - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled
...[see bug 1758447 for the details of these problems]...
Dependencies resolved.
==========================================================================================================
 Package                  Arch                    Version                  Repository                Size
==========================================================================================================
Disabling module streams:
 perl                                                                                                    

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

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

8. dnf builddep perl-Term-Size.spec
Updating Subscription Management repositories.
Last metadata expiration check: 0:11:55 ago on Fri Oct  4 07:52:52 2019.
Modular dependency problems:

 Problem 1: module freeradius:3.0:820190131191847:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed
  - conflicting requests
  - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled
...
Error: 
 Problem 1: cannot install the best candidate for the job
  - package perl-Exporter-5.72-1000.module+el8+2464+d274aed1.noarch is excluded
 Problem 2: cannot install the best candidate for the job
  - package perl-generators-1.10-7.module+el8+2464+d274aed1.noarch is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

# again how dnf install works
9. dnf install perl-Exporter perl-generators
Updating Subscription Management repositories.
Last metadata expiration check: 0:15:35 ago on Fri Oct  4 07:52:52 2019.
Modular dependency problems:
...
Dependencies resolved.
==========================================================================================================
 Package                    Arch       Version                 Repository                            Size
==========================================================================================================
Installing:
 perl-generators            noarch     1.10-7.el8              rhel-8-for-x86_64-appstream-rpms      18 k
 perl-Exporter              noarch     5.72-396.el8            rhel-8-for-x86_64-baseos-rpms         34 k
Installing dependencies:
 perl-Fedora-VSP            noarch     0.001-9.el8             rhel-8-for-x86_64-appstream-rpms      25 k
 perl-Scalar-List-Utils     x86_64     3:1.49-2.el8            rhel-8-for-x86_64-baseos-rpms         68 k
 perl-PathTools             x86_64     3.74-1.el8              rhel-8-for-x86_64-baseos-rpms         90 k
 perl-libs                  x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms        1.6 M
 perl-Errno                 x86_64     1.28-416.el8            rhel-8-for-x86_64-baseos-rpms         76 k
 perl-interpreter           x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms        6.3 M
 perl-threads-shared        x86_64     1.58-2.el8              rhel-8-for-x86_64-baseos-rpms         48 k
 perl-Socket                x86_64     4:2.027-2.el8           rhel-8-for-x86_64-baseos-rpms         59 k
 perl-Unicode-Normalize     x86_64     1.25-396.el8            rhel-8-for-x86_64-baseos-rpms         82 k
 perl-macros                x86_64     4:5.26.3-416.el8        rhel-8-for-x86_64-baseos-rpms         72 k
 perl-threads               x86_64     1:2.21-2.el8            rhel-8-for-x86_64-baseos-rpms         61 k
 perl-File-Path             noarch     2.15-2.el8              rhel-8-for-x86_64-baseos-rpms         38 k
 perl-parent                noarch     1:0.237-1.el8           rhel-8-for-x86_64-baseos-rpms         20 k
 perl-IO                    x86_64     1.38-416.el8            rhel-8-for-x86_64-baseos-rpms        141 k
 perl-Text-Tabs+Wrap        noarch     2013.0523-395.el8       rhel-8-for-x86_64-baseos-rpms         24 k
 perl-Carp                  noarch     1.42-396.el8            rhel-8-for-x86_64-baseos-rpms         30 k
 perl-constant              noarch     1.33-396.el8            rhel-8-for-x86_64-baseos-rpms         25 k

Transaction Summary
==========================================================================================================
Install  19 Packages

Total download size: 8.8 M
Installed size: 21 M
Is this ok [y/N]: 


Actual results:
see steps to reproduce

Expected results:
dnf builddep respect enabled/disable/default modules
dnf builddep is consistent with dnf install

Additional info:

Comment 1 Michael Mráka 2019-10-04 08:17:11 UTC
Created attachment 1622525 [details]
perl-Term-Size.spec

the spec used in reproducer steps


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