Description of problem: Since Fedora 17, executables (like chmod) are installed to /usr/bin: https://fedoraproject.org/wiki/Features/UsrMove Please make sudo require the actually installed /usr/bin/chmod binary instead of the virtual provide /bin/chmod which was temporarily introduced in coreutils to ease the transition. Version-Release number of selected component (if applicable): sudo-1.8.20p2-1.fc26 Steps to Reproduce: 1. dnf install --allowerasing coreutils-single 2. dnf reinstall sudo Actual results: Error: package sudo-1.8.20p2-1.fc26.x86_64 requires /bin/chmod, but none of the providers can be installed Additional info: The fix is trivial: --- a/sudo.spec +++ b/sudo.spec @@ -12,7 +12,7 @@ Source1: sudoers Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: /etc/pam.d/system-auth Requires: /usr/bin/vi -Requires(post): /bin/chmod +Requires(post): /usr/bin/chmod BuildRequires: pam-devel BuildRequires: groff
Is there any reason to not just require coreutils and drop as many file deps as possible? File deps cause a lot of extra metadata to be required, and I'd like to migrate away from them.
(In reply to Matthew Miller from comment #1) > Is there any reason to not just require coreutils and drop as many file deps > as possible? Not that I know of. This would certainly fix the bug, too.
(In reply to Kamil Dudka from comment #2) > (In reply to Matthew Miller from comment #1) > > Is there any reason to not just require coreutils and drop as many file deps > > as possible? > > Not that I know of. This would certainly fix the bug, too. Me neither. It's probably just to explicitly state that only chmod is needed whatever the source package is. So, if the package dependency is preferred, let's fix it that way.
Works for me.
What's the timeframe for this? Is it okay in rawhide only? Should it be pulled back to f27 and f26, too?
I cannot image where the proposed change could cause any problems. But fixing just rawhide is also fine...
Well, I guess the issue might be with coreutils vs coreutils-single -- and we could use rich deps for that (Requires: "coreutils or coreutils-single") but not in older releases.
(In reply to Matthew Miller from comment #7) > Well, I guess the issue might be with coreutils vs coreutils-single -- and > we could use rich deps for that (Requires: "coreutils or coreutils-single") > but not in older releases. Not really. coreutils-single provides coreutils. It is a drop-in replacement. % rpm -q coreutils-single --provides coreutils = 8.27-16.fc27 coreutils-single = 8.27-16.fc27 coreutils-single(x86-64) = 8.27-16.fc27 libstdbuf.so.single()(64bit)
Okay then. No problem. :)