| Summary: | tracebacks and doesn't propagate the error | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Bill Nottingham <notting> |
| Component: | createrepo | Assignee: | Luke Macken <lmacken> |
| Status: | CLOSED UPSTREAM | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | james.antill, kevin, lmacken, pfrields, rvokal |
| 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-01-27 19:09:09 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
I'll note it's not just the metadata... the packages aren't in the created repo either. (perl-5 for example). I can fix the 'tracebacks aren't fatal' problem. the specific traceback appears to be from changelog_limit config value being set to something odd. 1. fixed the changelog_limit issue 2. non-zero exit values from any worker are now a fatal error for the whole createrepo process. (In reply to comment #1) > I'll note it's not just the metadata... the packages aren't in the created repo > either. > (perl-5 for example). This is due to mash's multilib solver that removes RPMs that are in the fully depsolved set - if the package isn't in the actual repodata, it will get removed. That should be "aren't in the fully depsolved set", of course. |
Description of problem: 1) the new createrepo tracebacks in the worker: Worker 0: Traceback (most recent call last): Worker 0: File "/usr/share/createrepo/worker.py", line 99, in <module> Worker 0: main(sys.argv[1:]) Worker 0: File "/usr/share/createrepo/worker.py", line 87, in main Worker 0: globalopts.get('clog_limit', None))) Worker 0: File "/usr/lib/python2.7/site-packages/yum/packages.py", line 1220, in xml_dump_other_metadata Worker 0: msg += "%s\n</package>\n" % misc.to_unicode(self._dump_changelog(c log_limit)) Worker 0: File "/usr/lib/python2.7/site-packages/yum/packages.py", line 1186, in _dump_changelog Worker 0: clogs = self.changelog[:clog_limit] Worker 0: TypeError: slice indices must be integers or None or have an __index__ method 2) these errors aren't propagated: [root@nostromo os]# createrepo -d --verbose . Spawning worker 0 with 70 pkgs Worker 0: reading Packages/g/gcc-gfortran-4.4.4-10.fc13.i686.rpm Worker 0: Traceback (most recent call last): Worker 0: File "/usr/share/createrepo/worker.py", line 99, in <module> Worker 0: main(sys.argv[1:]) Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Starting other db creation: Thu Jan 27 13:02:58 2011 Ending other db creation: Thu Jan 27 13:02:58 2011 Starting filelists db creation: Thu Jan 27 13:02:58 2011 Ending filelists db creation: Thu Jan 27 13:02:58 2011 Starting primary db creation: Thu Jan 27 13:02:58 2011 Ending primary db creation: Thu Jan 27 13:02:58 2011 Sqlite DBs complete [root@nostromo os]# echo $? 0 Version-Release number of selected component (if applicable): createrepo-0.9.9-1.fc15.noarch How reproducible: 100% Steps to Reproduce: 1. rawhide Actual results: Random stuff falls out of the repo metadata. (Which makes the mash depsolve & daily depcheck mail that uses this repodata return very strange results)