Bug 1021162

Summary: createrepo 0.10 seems to break mash
Product: [Fedora] Fedora Reporter: Kevin Fenzi <kevin>
Component: createrepoAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bruno, bugzilla, lmacken, packaging-team-maint, zpavlas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: createrepo-0.10-1.fc19 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-30 01:53:50 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Kevin Fenzi 2013-10-20 01:58:58 UTC
With the update of createrepo to 0.10 in rawhide on 2013-10-18, the 2013-10-19 rawhide compose failed. 

See: 
http://kojipkgs.fedoraproject.org/mash/rawhide-20131019/logs/mash.log

...
AttributeError: 'MetaDataConfig' object has no attribute 'workers'
Traceback (most recent call last):
  File "/usr/bin/mash", line 100, in <module>
    main()
  File "/usr/bin/mash", line 77, in main
    rc = themash.doCompose()
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 421, in doCompose
    repocache = repocache, arch = arch)
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 249, in _write_files
    status = self._makeMetadata(repo_path, repocache, arch, comps, previous = previous_path)
  File "/usr/lib/python2.7/site-packages/mash/__init__.py", line 135, in _makeMetadata
    md.run(path)
  File "/usr/lib/python2.7/site-packages/mash/metadata.py", line 247, in run
    self.obj.run(path)
  File "/usr/lib/python2.7/site-packages/mash/metadata.py", line 199, in run
    self.repomatic.doPkgMetadata()
  File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 410, in doPkgMetadata
    self.writeMetadataDocs(packages)
  File "/usr/lib/python2.7/site-packages/createrepo/__init__.py", line 619, in writeMetadataDocs
    if self.conf.workers < 1:
...

If there's something that needs to be adjusted in mash, we can move this bug there. 

We should try and get this fixed ASAP as rawhide daily composes are blocked until it's fixed.

Comment 1 Michael Schwendt 2013-10-20 21:30:17 UTC
createrepo-0.9.9-23.fc20.noarch initializes that value to 1 with the comment "number of workers to fork off to grab metadata from the pkgs".
/usr/lib/python2.7/site-packages/createrepo/__init__.py

Doing that also in 0.10 _might_ be sufficient.


--- __init__.py.ORIG	2013-10-20 23:27:09.115048405 +0200
+++ __init__.py	2013-10-20 23:27:23.954255124 +0200
@@ -110,6 +110,7 @@
         self.collapse_glibc_requires = True
         self.worker_cmd = '/usr/share/createrepo/worker.py'
         #self.worker_cmd = './worker.py' # helpful when testing
+        self.workers = 1
         self.retain_old_md = 0
         self.compress_type = 'compat'

Comment 2 Zdeněk Pavlas 2013-10-21 08:30:29 UTC
Right, thanks for reporting this. I've noticed there are two default values for "workers", and the one from the constructor is never used, so I've removed it.  But API users skip the cli processing, ouch. I'll fix it immediately.

Comment 3 Kevin Fenzi 2013-10-21 20:21:50 UTC
Thanks for the quick fix. 

I re-ran rawhide compose today and it's just about finished now, so I would say this is fixed. 

Feel free to close or keep open if you want to track other branches or something. :)

Comment 4 Fedora Update System 2013-10-22 07:32:34 UTC
createrepo-0.10-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/createrepo-0.10-1.fc19

Comment 5 Fedora Update System 2013-10-23 03:35:10 UTC
Package createrepo-0.10-1.fc19:
* should fix your issue,
* was pushed to the Fedora 19 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing createrepo-0.10-1.fc19'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-19735/createrepo-0.10-1.fc19
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2013-10-30 01:53:50 UTC
createrepo-0.10-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.