Description of problem: dnf module disable <module:stream> disables all streams Version-Release number of selected component (if applicable): dnf-4.0.9.2-5.el8.noarch How reproducible: always Steps to Reproduce: 1. dnf module list perl Updating Subscription Management repositories. Last metadata expiration check: 0:03:44 ago on Fri Oct 4 07:31:13 2019. 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 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled 2. dnf module disable perl:5.24 Updating Subscription Management repositories. Last metadata expiration check: 0:03:44 ago on Fri Oct 4 07:31:13 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 Problem 2: module freeradius:3.0:8000020190425181943:75ec4169-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 Problem 3: conflicting requests - module perl-App-cpanminus:1.7044:820181214184336:4f58e9d5-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-App-cpanminus:1.7044:820181214184336:e5ce1481-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 4: conflicting requests - module perl-YAML:1.24:820181214175558:7c757546-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-YAML:1.24:820181214175558:8652dbeb-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 5: conflicting requests - module perl-FCGI:0.78:820181214153815:082fdf2f-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-FCGI:0.78:820181214153815:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 6: conflicting requests - module perl-DBD-SQLite:1.58:820181214121133:0cdc2006-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-SQLite:1.58:820181214121133:6bc6cad6-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 7: conflicting requests - module perl-DBI:1.641:820190116185335:082fdf2f-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBI:1.641:820190116185335:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 8: conflicting requests - module perl-DBD-MySQL:4.046:820181214121012:0cdc2006-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-MySQL:4.046:820181214121012:6bc6cad6-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 9: conflicting requests - module perl-DBD-Pg:3.7:820181214121102:956b9ee3-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-Pg:3.7:820181214121102:6fcea174-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Dependencies resolved. ========================================================================================================== Package Arch Version Repository Size ========================================================================================================== Disabling module streams: perl Transaction Summary ========================================================================================================== Is this ok [y/N]: y Complete! 3. dnf --disablerepo=ubi*,epel,copr* module list perl Updating Subscription Management repositories. Last metadata expiration check: 0:05:25 ago on Fri Oct 4 07:31:13 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 Problem 2: module freeradius:3.0:8000020190425181943:75ec4169-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 Problem 3: conflicting requests - module perl-App-cpanminus:1.7044:820181214184336:4f58e9d5-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-App-cpanminus:1.7044:820181214184336:e5ce1481-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 4: conflicting requests - module perl-YAML:1.24:820181214175558:7c757546-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-YAML:1.24:820181214175558:8652dbeb-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 5: conflicting requests - module perl-FCGI:0.78:820181214153815:082fdf2f-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-FCGI:0.78:820181214153815:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 6: conflicting requests - module perl-DBD-SQLite:1.58:820181214121133:0cdc2006-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-SQLite:1.58:820181214121133:6bc6cad6-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 7: conflicting requests - module perl-DBI:1.641:820190116185335:082fdf2f-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBI:1.641:820190116185335:fbe42456-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 8: conflicting requests - module perl-DBD-MySQL:4.046:820181214121012:0cdc2006-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-MySQL:4.046:820181214121012:6bc6cad6-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Problem 9: conflicting requests - module perl-DBD-Pg:3.7:820181214121102:956b9ee3-0.x86_64 requires module(perl:5.24), but none of the providers can be installed - module perl-DBD-Pg:3.7:820181214121102:6fcea174-0.x86_64 requires module(perl:5.26), but none of the providers can be installed - module perl:5.24:820190207164249:ee766497-0.x86_64 is disabled - module perl:5.26:820181219174508:9edba152-0.x86_64 is disabled Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) Name Stream Profiles Summary perl 5.24 [x] common [d], minimal Practical Extraction and Report Language perl 5.26 [d][x] common [d], minimal Practical Extraction and Report Language Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled Actual results: see steps to reproduce Expected results: only perl 5.24 module disabled, i.e. Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) Name Stream Profiles Summary perl 5.24 [x] common [d], minimal Practical Extraction and Report Language perl 5.26 [d] common [d], minimal Practical Extraction and Report Language Additional info:
Yes, this is intended behaviour of the "module disable" command. In newer versions this is also documented in the man page and reported to the user: # rpm -q dnf libdnf dnf-4.2.12-1.git.8979.3080966.fc30.noarch libdnf-0.35.5-2ge5a51f77.fc30.x86_64 # dnf module disable perl:5.26 Only module name is required. Ignoring unneeded information in argument: 'perl:5.26' Dependencies resolved. ========================================================================================== Package Architecture Version Repository Size ========================================================================================== Disabling modules: perl Transaction Summary ========================================================================================== # man dnf ----- 8< ------- dnf [options] module disable <module-name>... Disable a module. All related module streams will become unavailable. Consequently, all installed profiles will be removed and the module RPMs will become unavailable in the package set. ----- 8< ------- So you can enable *module stream* which you want to consume, and there can be only one enabled stream, but you disable *module* as a whole. Do you have use case which requires disabling only specific module stream? Or is backporting enhanced documentation sufficient solution?
The way it's reported on Fedora 30 is bad. As you can see in comment #0 there's a lot of other error messages reported in dnf module disable perl:5.24 which will cause that Only module name is required. Ignoring unneeded information in argument: 'perl:5.26' line will scroll up, out of the terminal. Much better way would be to display this information in the final report like ========================================================================================== Package Architecture Version Repository Size ========================================================================================== Disabling modules: perl:5.24 perl:5.26 > Do you have use case which requires disabling only specific module stream? Only as a workaround for different dnf bugs (e.g. bug #1758459). > Or is backporting enhanced documentation sufficient solution? Well, the man page actually contains this sentence. But it is easy to overlook it. There should be big/bold warning at least. And even better if you can't disable specific stream then dnf module disable perl:5.24 should better fail with error like 'Specific module stream can't be disabled, if you want to disable all module streams use: dnf module disable perl'.
BTW there's no man page in a container which is why a sentence buried somewhere in a man page is not sufficient.
The reporting of disabled modules was changed based on the bug https://bugzilla.redhat.com/show_bug.cgi?id=1677640. Originally dnf used to report the stream that was disabled but this is not consistent with what dnf actually do - it disables the module, there is no way how to disable particular stream. The warning was added due to the bug https://bugzilla.redhat.com/show_bug.cgi?id=1649261. What I can do is to improve help printed by `dnf module --help` command to explicitly mention that `dnf module disable` command disable whole module with all its streams: PR https://github.com/rpm-software-management/dnf/pull/1547
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:1823