Bug 714832

Summary: "fedpkg lint" broken for arch-specific packages
Product: [Fedora] Fedora Reporter: Christian Krause <chkr>
Component: fedora-packagerAssignee: David Cantrell <dcantrell>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: dcantrell, dennis, rhbugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-18 17:39:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Christian Krause 2011-06-20 23:52:39 UTC
Description of problem:
"fedpkg lint" is broken for arch-specific packages. Even after successfully building the package locally, a subsequent call of "fedpkg lint" fails with the following error message:
"Could not run rpmlint: Need to build the rpms first"

Version-Release number of selected component (if applicable):
fedora-packager-0.5.9.2-1.fc15.noarch

How reproducible:
100%

Steps to Reproduce:
1. fedpkg clone -a xbindkeys
(you can use any other package which does not only generate noarch RPMs)
2. cd xbindkeys; fedpkg local
3. fedpkg lint
  
Actual results:
"Could not run rpmlint: Need to build the rpms first"

Expected results:
rpmlint check for all built RPMs.

Additional info:
/usr/lib/python2.7/site-packages/pyfedpkg/__init__.py:

- lint(): checks whether the built binaries exists in the arch-specific paths, the list of archs is created in _get_build_arches_form_srpm() based on self.localarch
- self.localarch is set by _getlocalarch() which is calling "rpm --eval %{_arch}"
- "rpm --eval %{_arch}" reports "i386" and so the list of architectures which are used in lint() contains "i386"
- however, "fedpkg local"/rpmbuild places puts the packages in "i686/" and so the mentioned check fails

- as a workaround a symlink like i386->i686 can be used

However, I'm not sure who is at fault here: fedpkg, rpm or probably a configuration option of them...

Comment 1 Christian Krause 2011-08-28 15:15:27 UTC
*ping*

Any news regarding this bug report?

Comment 2 Jesse Keating 2011-09-01 00:15:23 UTC
Sorry, I've been busy with other tasks.

Recently there was a patch submitted upstream that overhauled some of the lint functionality, and I think that will resolve this issue too.  The patch went upstream, and the developer was going to work on backporting it to the F15/F16 version of fedpkg.

Comment 3 Christian Krause 2011-11-18 17:39:13 UTC
Seems to be fixed in F16 and F15 in the meantime.