Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1217083 - Fedora 21's fedpkg depends on dnf
Summary: Fedora 21's fedpkg depends on dnf
Keywords:
Status: CLOSED DUPLICATE of bug 1198769
Alias: None
Product: Fedora
Classification: Fedora
Component: mock
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Miroslav Suchý
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-04-29 14:02 UTC by Ralf Corsepius
Modified: 2015-07-07 16:22 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-07 16:02:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Ralf Corsepius 2015-04-29 14:02:12 UTC
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.

Comment 1 Ralf Corsepius 2015-04-29 14:15:42 UTC
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?

Comment 2 Dennis Gilmore 2015-04-29 14:22:27 UTC
reassigning to mock, as it is the default mock config that is in play here.

Comment 3 Miroslav Suchý 2015-07-07 16:02:42 UTC
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 ***

Comment 4 Ralf Corsepius 2015-07-07 16:22:10 UTC
(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.


Note You need to log in before you can comment on or make changes to this bug.