Description of problem:
Removing a module with "dnf module remove" doesn't disable it. It should be disabled, even if there are no installed RPMs.
This is rather unexpected. You could end up with new RPMs on your system as the module that you thought you removed gets updates and its selected profile grows.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. fresh container based on docker.io/fedora:28 (or other current F28 VM/container) with latest F28 updates, fedora-repos-modular enabled, and latest patched dnf from COPR
2. dnf module list --enabled # nothing enabled
3. dnf -y module install nodejs:8/minimal
4. dnf module list --enabled # confirmed enabled
5. dnf -y module remove nodejs # Error: Different stream enabled for module: nodejs
6. dnf module list --enabled # still enabled
7. dnf -y module remove nodejs:8 # removed now
8. dnf module list --enabled # nodejs:8 still enabled?
9. dnf list --installed 'nodejs*' npm # confirmed no module packages still installed
At step 5, failed with Error: Different stream enabled for module: nodejs
At step 8, removed nodejs:8 was still enabled
At step 5, enabled stream nodejs:8 should have been removed
Step 7 should not have been needed
At step 8, no modules should have been enabled
If the Steps to Reproduce above is modified by also running "dnf -y remove nodejs npm" immediately after step 4 (to remove all packages installed by step 3), the module should still be disabled when it is explicitly removed in subsequent steps.
I believe we discussed this with broader audience and the conclusion was not to disable modules with remove command.
DNF team supports the conclusion.
We want to do it also for UX consistency.
- When a user specifies N:S to install, it gets expanded with default profiles or 'default' profile; There's no opposite for remove.