Description of problem: Attempting to uninstall DNS services. Ran "rpm -e bind bind-chroot caching-nameserver" and received the following error: /var/tmp/rpm-tmp.4639: line 2: /usr/sbin/bind-chroot-admin: No such file or directory error: %preun(bind-chroot-9.3.2-37.fc6.i386) scriptlet failed, exit status 1 Version-Release number of selected component (if applicable): bind*-9.3.2-37.fc6, caching-nameserver-9.3.2-37.fc6 How reproducible: Always Steps to Reproduce: 1. Install bind, bind-chroot, & caching-nameserver 2. Attempt to uninstall bind, bind-chroot, & caching-nameserver (via either rpm or yum) Actual results: Error noted above. Expected results: Successful uninstall along with disabling the bind chroot configuration. Additional info: This appears to be a problem in uninstall ordering. The bind package contains the /usr/sbin/bind-chroot-admin executable, and is uninstalled before the bind-chroot package. The preun scriptlet in bind-chroot depends on /usr/sbin/bind-chroot-admin to disable the bind-chroot configuration. The following workaround will clean things up after the error is encountered (but it yould be better if the ordering worked as expected): 1. Re-install just the bind package 2. Uninstall just the bind-chroot package 3. Uninstall the bind package
How did you install these packages? Because the packages are being removed in the opposite order than when they are being installed.
I initially encountered the error after installing by checking "DNS Server" in Anaconda on the initial install. In subsequent testing, I have also installed using "rpm -i bind bind-chroot caching-nameserver" and "yum install bind-chroot caching-nameserver". The error also occurred after installing with any of the above methods.
I'm afraid it's a bug in rpm. If I'm right rpm ignores the (postun) section in Requires, so Requires(postun) doesn't have any effect. Or am I mistaken, paul?
We've never done erase ordering so it's more complex than just ignoring it.
I've changed caching-nameserver chroot policy so this could be fixed.