Bug 1046456

Summary: [abrt] koji-builder: packages.py:384:__getitem__:TypeError: getattr(): attribute name must be string
Product: [Fedora] Fedora Reporter: cee1 <fykcee1>
Component: kojiAssignee: Dennis Gilmore <dennis>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: dennis, kevin, mikem
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/1ab70363d13b5d1246c1e643fb25965f9f6f766d
Whiteboard: abrt_hash:289e8f9c56f4ed38aaf453a750456b65c2d07cb6
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-26 22:42:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: dso_list
none
File: environ none

Description cee1 2013-12-25 12:11:03 UTC
Description of problem:
'://' in pkg, the pkg should implement __contains__ method:

def __contains__(self, key):
	return hasattr(self, key)

Version-Release number of selected component:
koji-builder-1.8.0-2.fc20

Additional info:
reporter:       libreport-2.1.10
cmdline:        /usr/bin/python /usr/libexec/kojid/mergerepos -a x86 -b /mnt/koji/repos/dist-test-build/6/x86/blocklist -o /tmp/koji/tasks/16/16/repo -g /mnt/koji/repos/dist-test-build/6/groups/comps.xml -r file:///tmp/koji/tasks/16/16/repo_6_premerge/ -r http://mirrors.163.com/fedora/releases/19/Everything/x86_64/os/
executable:     /usr/libexec/kojid/mergerepos
kernel:         3.12.5-302.fc20.x86_64
runlevel:       N 5
type:           Python
uid:            0

Truncated backtrace:
packages.py:384:__getitem__:TypeError: getattr(): attribute name must be string

Traceback (most recent call last):
  File "/usr/libexec/kojid/mergerepos", line 262, in <module>
    main(sys.argv[1:])
  File "/usr/libexec/kojid/mergerepos", line 257, in main
    merge.write_metadata()
  File "/usr/libexec/kojid/mergerepos", line 237, in write_metadata
    mdgen.doPkgMetadata()
  File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 405, in doPkgMetadata
    if '://' in pkg: # remote
  File "/usr/lib/python2.7/site-packages/yum/packages.py", line 384, in __getitem__
    return getattr(self, key)
TypeError: getattr(): attribute name must be string

Local variables in innermost frame:
self: <YumAvailablePackageSqlite : 0ad-data-0.0.13-1.fc19.noarch (0x1725150)>
key: 0

Comment 1 cee1 2013-12-25 12:11:09 UTC
Created attachment 841469 [details]
File: backtrace

Comment 2 cee1 2013-12-25 12:11:13 UTC
Created attachment 841470 [details]
File: dso_list

Comment 3 cee1 2013-12-25 12:11:18 UTC
Created attachment 841471 [details]
File: environ

Comment 4 Kevin Fenzi 2014-01-28 21:35:04 UTC
related/perhaps dupe of bug 1056270 ?

Comment 5 Mike McLean 2014-02-26 22:42:10 UTC
Closing as dup. If you apply the fixed createrepo and still see the error, then reopen.

*** This bug has been marked as a duplicate of bug 1056270 ***