Paolo Galtieri wrote:
Folks, a long time ago I installed a number of i686 packages on my system. I now want to remove them. When I try to remove one particular package I get some unexpected behavior.
I do
dnf remove pixman.i686
and I get:
Package Arch Version Repository Size Removing: pixman i686 0.44.2-1.fc41 updates 711.7 KiB Removing dependent packages: cairo i686 1.18.2-2.fc41 updates 1.8 MiB gtk2 i686 2.24.33-19.fc41 <unknown> 13.5 MiB gtk3 i686 3.24.43-2.fc41 <unknown> 23.4 MiB libcanberra-gtk3 i686 0.30-36.fc41 <unknown> 68.8 KiB libdecor i686 0.2.2-4.fc41 <unknown> 162.7 KiB pango i686 1.54.0-2.fc41 <unknown> 1.0 MiB wine x86_64 10.1-1.fc41 updates 0.0 B Removing unused dependencies: SDL2 i686 2.30.11-1.fc41 updates 2.0 MiB SDL2_net x86_64 2.2.0-6.fc41 <unknown> 27.2 KiB
[...]
wine-wingdings-fonts noarch 10.1-1.fc41 updates 35.1 KiB
My question is why is it removing so many x86_64 packages and why is pixman.i686 dependent on wine.x86_64? Is there a way to remove only the i686 packages?
The wine x86_64 package requires both the i686 and x86_64 mesa-dri-drivers (I presume to support 32-bit windows binaries, but I don't use Window or Wine, so that's a rough guess).
The dependency was added in
https://src.fedoraproject.org/rpms/wine/c/4787aa7
which says "pull in mesa-dri-drivers in meta package to make direct rendering work out of the box (rhbz#827776)
You can limit the removals by not removing unused dependencies via the --noautoremove option. That won't limit things to just i686, but it will leave more cruft on your system, so I don't think it's a good option.
If you really need any of the packages which are being removed for something else which isn't installed as an rpm, you can either reinstall it later to use dnf mark to prevent it from being removed as an unused dependency.
Unless you're building local software or installing non-rpm code from elsewhere, allowing dnf to clean up what is not used is really the more sensible option.