DescriptionCarl George ðŸ¤
2021-03-03 22:49:47 UTC
Description of problem:
`yum swap` allowed swapping more than two packages using `--` as a delimiter between the packages to remove and the packages to install. This no longer works with `dnf swap`.
Version-Release number of selected component (if applicable):
dnf-4.6.0-1.fc34.noarch
How reproducible:
always
Steps to Reproduce:
(the exact packages don't matter, these were picked at random)
1. dnf install color-filesystem emacs-filesystem
2. dnf swap -- color-filesystem emacs-filesystem -- kde-filesystem mesa-filesystem
Actual results:
dnf swap: error: unrecognized arguments: kde-filesystem mesa-filesystem
Expected results:
Uninstall of color-filesystem and emacs-filesystem, install of kde-filesystem and mesa-filesystem.
Additional info:
`dnf shell` can also be used to accomplish this task, but that requires interactive input, a separate file, or shell redirection. `dnf swap` is an easy and convenient way to perform transactions like this in a single command non-interactively. It is especially useful when building container images.
This is similar to bug 1403465, though this one talks about restoring functionality that YUM previously had, and that bug talked about adding *new* syntax to support this.
I suggest that package swap is required when packages conflicts - what about to use `dnf install <args> --allowerasing`. This was the original replacement of swap and shell ind dnf. Due to presence of workarounds I am closing the issue.
`dnf install <args> --allowerasing` is great when conflicts exist in the packages. It doesn't help when you need to swap sets of multiple packages which do not conflict, which yum allowed you to do. I understand if the final answer is WONTFIX, but it's still a regression.
Is that WONTFIX decision for dnf4 and dnf5, or dnf4 only?