#250 Move to dnf
Closed: Fixed None Opened 8 years ago by leamas.

We have all sorts of problems which seem to be related to that yum isn't fully compatible with yum. Rather than to dive into the incompatibilities we should move to use dnf instead. It's time.


Any news on this?

{{{
05-14 13:13 root DEBUG CheckBuildRequires completed: 0.000 seconds
05-14 13:13 root DEBUG Running check: CheckOwnDirs
05-14 13:13 root DEBUG Running: repoquery -C --whatprovides /usr/bin/python2 PyYAML python(abi) python-docker-py python-dockerpty python-docopt python-requests python-setuptools python-six python-texttable python-websocket-client
05-14 13:13 root DEBUG Running: repoquery -C -l filesystem
05-14 13:13 root DEBUG Running: repoquery -C -l filesystem
05-14 13:13 root DEBUG Exception down the road...
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py", line 237, in run
self._do_run(outfile)
File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py", line 226, in _do_run
self._do_report(outfile)
File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py", line 99, in _do_report
self._run_checks(self.bug.spec_file, self.bug.srpm_file, outfile)
File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py", line 118, in _run_checks
writedown=not Settings.no_report)
File "/usr/lib/python2.7/site-packages/FedoraReview/checks.py", line 378, in run_checks
run_check(name)
File "/usr/lib/python2.7/site-packages/FedoraReview/checks.py", line 352, in run_check
check.run()
File "/usr/lib/python2.7/site-packages/FedoraReview/check_base.py", line 245, in run
self.run_on_applicable()
File "/usr/lib/python2.7/site-packages/FedoraReview/plugins/generic.py", line 1131, in run_on_applicable
pkg_deps_paths = get_deps_paths(pkg_deps)
File "/usr/lib/python2.7/site-packages/FedoraReview/plugins/generic.py", line 1121, in get_deps_paths
paths = deps.list_paths(pkg_deps)
File "/usr/lib/python2.7/site-packages/FedoraReview/deps.py", line 168, in list_paths
paths = check_output(cmd)
File "/usr/lib64/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['repoquery', '-C', '-l', 'filesystem']' returned non-zero exit status 1
05-14 13:13 root ERROR Exception down the road...(logs in /home/goldmann/.cache/fedora-review.log)
05-14 13:13 root DEBUG Report completed: 761.128 seconds
}}}

Nothing directly. However, we have released a new version basically cleaning the table before diving into this. Also, recently https://bugzilla.redhat.com/show_bug.cgi?id=1156487 was fixed; this was a dependency, sort of.

So, this would be the next major task. Need to find some time for it (unless someone else steps in).

leamas, goldmann: I think that patch should do it. I got a successful run through of a review with it.

Thanks for patch! Will run it through the testsuite over the weekend to get some more input.

Ralph, thanks for the patch! I gave it a go and it seems like that dnf repoquery calls still need a bit of work:

http://fpaste.org/222824/

{{{
DEBUG: Running: dnf repoquery -C --requires --resolve python python-docker-py python-setuptools python-six python3
Error: unrecognized arguments: python-docker-py python-setuptools python-six python3
}}}

That unicode problem is reported here: https://bugzilla.redhat.com/show_bug.cgi?id=1222388

Running the test suite turns out to be more work since the patch needs to be tested under f22 (requires dnf version not available under f21) Have started the work to update the tests, but my time is limited and this is damned slow.

I have pushed a feature branch called "dnf" with this patch + some fixes. With these, the first five tests runs OK, failing on test 6 - obviously getting some unexpected usage output from dnf.

Unless someone else jumps in I will try to return to this be the end of this week.

Patch to match style with the other singular/plural dnf usage
0001-Match-style.patch

I added two more patches there that fix that third 'dnf repoquery' invocation, but the 6th test is still failing (with a different error this time):

{{{
Running tests:
.....F
======================================================================
FAIL: Test the FreeSOLID spec.


Traceback (most recent call last):
File "/home/threebean/devel/FedoraReview/test/test_checks.py", line 413, in test_FreeSOLID
self.run_spec(spec)
File "/home/threebean/devel/FedoraReview/test/fr_testcase.py", line 156, in run_spec
check + ': state is ' + str(state))
AssertionError: 'pass' != 'fail'
- pass
+ fail
CheckIllegalSpecTags: state is pass
-------------------- >> begin captured logging << --------------------
}}}

Hm... this is not a dnf issue, it's a more general f20-f22 transition problem. If you have time, could try to patch the expected value around line 400 in test_checks.py just to walk-around the problem, keeping a focus on dnf issues.

Thanks for the patches, I will push them to the dnf branch later today.

dnf branch rewritten (i. e., rebased). Now passes the test suite.

Thanks for having a look! Will make a release (f22 only) tomorrow.

Fixed in 3f4d74b. f22 release is pending (final freeze).

So this means that fedora-review no longer runs on stock EL7 (haven't tried with the ancient dnf in EPEL7).

Login to comment on this ticket.

Metadata