Fedora-review broken in F-21

Jerry James loganjerry at gmail.com
Thu Jan 22 20:31:24 UTC 2015


I don't know for sure, but I suspect the new version of mock that was
just pushed out in F-21 updates broke fedora-review.  At least,
fedora-review is now broken, and I don't see any other recent updates
that seem likely to be the cause of the problem.  Here's what happens
when I try to use fedora-review now:

$ fedora-review -b 1180698 -m fedora-rawhide-x86_64
INFO: Processing bugzilla bug: 1180698
INFO: Getting .spec and .srpm Urls from : 1180698
INFO:   --> SRPM url:
https://smani.fedorapeople.org/review/sflphone-1.4.1-1.fc22.src.rpm
INFO:   --> Spec url: https://smani.fedorapeople.org/review/sflphone.spec
INFO: Using review directory: /home/jamesjer/1180698-sflphone
INFO: Downloading .spec and .srpm files
RPM version 4.12.0.1
Copyright (C) 1998-2002 - Red Hat, Inc.
This program may be freely redistributed under the terms of the GNU GPL

Usage: rpm [-afgpcdLlsiv?] [-a|--all] [-f|--file] [-g|--group]
        [-p|--package] [--pkgid] [--hdrid] [--triggeredby] [--whatrequires]
        [--whatprovides] [--nomanifest] [-c|--configfiles] [-d|--docfiles]
        [-L|--licensefiles] [--dump] [-l|--list] [--queryformat=QUERYFORMAT]
        [-s|--state] [--nofiledigest] [--nofiles] [--nodeps] [--noscript]
        [--allfiles] [--allmatches] [--badreloc] [-e|--erase=<package>+]
        [--excludedocs] [--excludepath=<path>] [--force]
        [-F|--freshen=<packagefile>+] [-h|--hash] [--ignorearch]
        [--ignoreos] [--ignoresize] [-i|--install] [--justdb] [--nodeps]
        [--nofiledigest] [--nocontexts] [--noorder] [--noscripts]
        [--notriggers] [--oldpackage] [--percent] [--prefix=<dir>]
        [--relocate=<old>=<new>] [--replacefiles] [--replacepkgs] [--test]
        [-U|--upgrade=<packagefile>+] [--reinstall=<packagefile>+]
        [-D|--define='MACRO EXPR'] [--undefine=MACRO] [-E|--eval='EXPR']
        [--macros=<FILE:...>] [--noplugins] [--nodigest] [--nosignature]
        [--rcfile=<FILE:...>] [-r|--root=ROOT] [--dbpath=DIRECTORY]
        [--querytags] [--showrc] [--quiet] [-v|--verbose] [--version]
        [-?|--help] [--usage] [--scripts] [--setperms] [--setugids]
        [--conflicts] [--obsoletes] [--provides] [--requires]
        [--recommends] [--suggests] [--supplements] [--enhances] [--info]
        [--changelog] [--xml] [--triggers] [--last] [--dupes]
        [--filesbypkg] [--fileclass] [--filecolor] [--fscontext]
        [--fileprovide] [--filerequire] [--filecaps]
ERROR: Exception down the road...(logs in
/home/jamesjer/.cache/fedora-review.log)

The log file ends like this:

01-22 10:52 root         DEBUG    Url download completed: 11.092
01-22 10:52 root         DEBUG    Exception down the road...
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py",
line 232, in run
    self._do_run(outfile)
  File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py",
line 222, in _do_run
    self._do_report(outfile)
  File "/usr/lib/python2.7/site-packages/FedoraReview/review_helper.py",
line 96, 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 105, in _run_checks
    self.checks = Checks(spec, srpm)
  File "/usr/lib/python2.7/site-packages/FedoraReview/checks.py", line
271, in __init__
    self.spec = SpecFile(spec_file, self.flags)
  File "/usr/lib/python2.7/site-packages/FedoraReview/spec_file.py",
line 91, in __init__
    update_macros()
  File "/usr/lib/python2.7/site-packages/FedoraReview/spec_file.py",
line 65, in update_macros
    expanded = Mock.get_macro(macro, self, flags)
  File "/usr/lib/python2.7/site-packages/FedoraReview/mock.py", line
346, in get_macro
    self._macros = self._get_default_macros()
  File "/usr/lib/python2.7/site-packages/FedoraReview/mock.py", line
134, in _get_default_macros
    values = self._rpm_eval(tags).split()
  File "/usr/lib/python2.7/site-packages/FedoraReview/mock.py", line
259, in _rpm_eval
    return check_output(cmd).decode('utf-8').strip()
  File "/usr/lib64/python2.7/subprocess.py", line 573, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['mock', '-r', 'fedora-rawhide-x86_64',
'--no-cleanup-after', '--no-clean',
'--resultdir=/home/jamesjer/1180698-sflphone/results', '--quiet',
'--shell', 'rpm --eval \\"%dist %fedora %epel %buildarch %_libdir
%_isa %arch\\"']' returned non-zero exit status 9
01-22 10:52 root         ERROR    Exception down the road...(logs in
/home/jamesjer/.cache/fedora-review.log)
01-22 10:52 root         DEBUG    Report completed:  17.601 seconds

And this patch fixes it:

--- /usr/lib/python2.7/site-packages/FedoraReview/mock.py.orig
2014-07-14 07:09:48.000000000 -0600
+++ /usr/lib/python2.7/site-packages/FedoraReview/mock.py 2015-01-22
13:19:40.532733703 -0700
@@ -255,7 +255,7 @@
     def _rpm_eval(self, arg):
         ''' Run rpm --eval <arg> inside mock, return output. '''
         cmd = self._mock_cmd()
-        cmd.extend(['--quiet', '--shell', 'rpm --eval \\"' + arg + '\\"'])
+        cmd.extend(['--quiet', '--shell', 'rpm --eval \"' + arg + '\"'])
         return check_output(cmd).decode('utf-8').strip()

 # Last (cached?) output from rpmlint, list of lines.

Just a heads up for you other package reviewers.
-- 
Jerry James
http://www.jamezone.org/


More information about the devel mailing list