Description of problem: Since some recent update fedpkg mockbuild fails: $ fedpkg mockbuild ... INFO: mock.py version 1.2.7 starting (python version = 2.7.8)... ERROR: Command /usr/bin/dnf is not available. Either install package containing this command or run mock with --yum or --dnf to overwrite config value. However this may lead to different dependency solving! Traceback (most recent call last): File "/usr/sbin/mock", line 829, in <module> main() File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 621, in main buildroot = Buildroot(config_opts, uidManager, state, plugins) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/buildroot.py", line 51, in __init__ self.pkg_manager = PackageManager(config, self, plugins) File "/usr/lib/python2.7/site-packages/mockbuild/package_manager.py", line 16, in PackageManager return Dnf(config_opts, chroot, plugins) File "/usr/lib/python2.7/site-packages/mockbuild/package_manager.py", line 211, in __init__ self._check_command() File "/usr/lib/python2.7/site-packages/mockbuild/package_manager.py", line 115, in _check_command lead to different dependency solving!""".format(self.command)) Exception: Command /usr/bin/dnf is not available. Either install package containing this command or run mock with --yum or --dnf to overwrite config value. However this may lead to different dependency solving! Version-Release number of selected component (if applicable): mock-1.2.7-1.fc21.noarch How reproducible: Always. Steps to Reproduce: 1. check out an arbitrary package from fedora's git 2. make sure not to have dnf installed 3. Try to "fedpkg mockbuild" it for "master" Actual results: cf. above. Expected results: Function. Additional info: - dnf is optional on Fedora 21 => mock can not expect it to be present. - This is yet another brick in the churn, which lets me think the dnf guys are doing a poor job and that the decision to switch to dnf on F22 is mistake.
With dnf installed this happens: # fedpkg mockbuild ..- Start: clean chroot ... Mock Version: 1.2.7 INFO: Mock Version: 1.2.7 Start: dnf update ... Complete! No such command: builddep. Please use /usr/bin/dnf --help It could be a DNF plugin command. ... Finish: clean chroot ERROR: Command failed. See logs for output. WTF?
reassigning to mock, as it is the default mock config that is in play here.
Several things here: 1) Mock for rawhide targets use DNF. That was agreed by me, DNF guys and rel-eng in February 2015. Copr followed shortly. And there was plan that Koji should followed which does not happend yet (unfortunatelly). 2) you need to have dnf *and* dnf-plugins-core. They were required only as soft deps in F21 previously. This was fixed in bug 1198769. Mind that mock in F22+ still use Recommends for those deps. So speaking strictly about F21 this should be fixed in mock-1.2.8+ *** This bug has been marked as a duplicate of bug 1198769 ***
(In reply to Miroslav Suchý from comment #3) > Several things here: Well, of cause you as seemingly co-parent of dnf must say what you said. I, as a mere user say: yum, dnf and mock don't properly separate build-host and target. This had been an issue with yum and mock ever since they are around, but this problem has worsened with dnf due to the additional dep bloat dnf adds. Openly said, I am could not be less impressed by dnf and by redhat.cz's dnf team.