Created attachment 892758 [details] debugdata.tar Description of problem: dnf remove <singleitem> causes it to, by default, remove a bunch of things I didn't ask to be removed. Version-Release number of selected component (if applicable): dnf-0.5.1-1.fc21.noarch hawkey-0.4.14-1.fc21.x86_64 How reproducible: Always Steps to Reproduce: 1. dnf remove kernel-headers-3.15.0-0.rc3.git0.1.fc21.x86_64 Actual results: Removing: cpp gcc glibc-devel glibc-headers kernel-headers libmpc Expected results: Remove only kernel-headers. I need gcc for other things. Additional info: # uname -r 3.15.0-0.rc4.git0.1.fc21.x86_64 # rpm -qa kernel\* kernel-modules-extra-3.14.1-200.fc20.x86_64 kernel-modules-extra-3.15.0-0.rc3.git0.1.fc21.x86_64 kernel-modules-extra-3.15.0-0.rc2.git0.1.fc21.x86_64 kernel-core-3.15.0-0.rc4.git0.1.fc21.x86_64 kernel-3.14.1-200.fc20.x86_64 kernel-headers-3.15.0-0.rc3.git0.1.fc21.x86_64 kernel-devel-3.15.0-0.rc3.git0.1.fc21.x86_64 kernel-3.15.0-0.rc3.git0.1.fc21.x86_64 kernel-3.15.0-0.rc2.git0.1.fc21.x86_64 kernel-core-3.15.0-0.rc3.git3.1.fc21.x86_64
Thanks Chris, we'll take a look.
Its because kernel-headers is required by glibc-headers which is required by glibc-devel, and hence gcc: [root@localhost ~]# rpm -q --whatrequires kernel-headers glibc-headers-2.18-12.fc20.x86_64 libdrm-devel-2.4.53-1.fc20.x86_64 audit-libs-devel-2.3.6-1.fc20.x86_64 [root@localhost ~]# rpm -q --whatrequires glibc-headers glibc-devel-2.18-12.fc20.x86_64 [root@localhost ~]# rpm -q --whatrequires glibc-devel perl-devel-5.18.2-289.fc20.x86_64 glibc-static-2.18-12.fc20.x86_64 gcc-4.8.2-7.fc20.x86_64 Doesn't look like a bug to me, unless dnf is supposed to do something else than offer to recursively remove dependencies.
Panu's comment 2 exactly describes the situation, gcc transitively depends on kernel-headers through glibc-headers. This is the expected behavior.