Bug 433555 - Mash multilib problems with yum 3.0.x / EL5
Summary: Mash multilib problems with yum 3.0.x / EL5
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: mash
Version: rawhide
Hardware: x86_64
OS: Linux
low
low
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-02-19 23:42 UTC by Peter Pramberger
Modified: 2014-03-17 03:12 UTC (History)
2 users (show)

Fixed In Version: mash-0.5.20-1.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-04-29 20:49:24 UTC


Attachments (Terms of Use)
Fix (519 bytes, patch)
2008-02-19 23:42 UTC, Peter Pramberger
no flags Details | Diff

Description Peter Pramberger 2008-02-19 23:42:32 UTC
Description of problem:

Using mash for a multilib-relevant arch (eg. x86_64) produces a stacktrace,
regardless what builds are included:

Traceback (most recent call last):
  File "/usr/bin/mash", line 82, in ?
    main()
  File "/usr/bin/mash", line 70, in main
    rc = themash.doMultilib()
  File "/usr/lib/python2.4/site-packages/mash/__init__.py", line 417, in doMultilib
    pid = self.doDepSolveAndMultilib(arch, cachedir)
  File "/usr/lib/python2.4/site-packages/mash/__init__.py", line 367, in
doDepSolveAndMultilib
    yumbase.doSackFilelistPopulate()
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 434, in
doSackFilelistPopulate
    if 'filelists' in repo.sack.added[repo]:
KeyError: <yum.yumRepo.YumRepository object at 0x19590790>
mash failed in /data/mash/buildsys-el5


Version-Release number of selected component (if applicable):

Tested with 0.2.10 and yum 3.0.5 on RHEL5.


How reproducible:

Always; Run mash on EL5 (yum 3.0.x) with arch x86_64 included.


Actual results:

See above stacktrace.


Additional info:

After some debugging it seems that this problem is related to the yum-API. See
below for some debug output:

yconfig = 
[main]
debuglevel=9
pkgpolicy=newest
exactarch=0
gpgcheck=0
reposdir=/dev/null
cachedir=/yumcache
installroot=/tmp/mash-buildsys-el5/buildsys-el5-x86_64.tmp
logfile=/yum.log

[buildsys-el5-x86_64]
name=buildsys-el5
baseurl=file:///data/mash/buildsys-el5/x86_64
enabled=1

doSackSetup: archlist = ('amd64', 'ia32e', 'x86_64', 'noarch'), thisrepo =
buildsys-el5
findRepos: pattern = buildsys-el5
findRepos: item = buildsys-el5
findRepos: name = buildsys-el5-x86_64
findRepos: repos = {'buildsys-el5-x86_64': <yum.yumRepo.YumRepository object at
0x2aaaaf129210>}
findRepos: result = []
Setting up Package Sacks
populateSack: which = [], with = metadata, myrepos = []
filelist = []
mash done in /data/mash/buildsys-el5

As you can see, is findRepos() from yum/repos.py never matching the repository
from the generated yum config and therefore returning nothing. For some reason
is the repository name not taken from the "name" attribute, but from the config
header.

Has this been found anywhere else or is this specific to this yum version?

Comment 1 Peter Pramberger 2008-02-19 23:42:32 UTC
Created attachment 295356 [details]
Fix

Comment 2 Bill Nottingham 2008-02-20 20:20:00 UTC
Added in git for upstream, will probably make its way into EPEL soon.

Comment 3 Peter Pramberger 2008-02-21 10:41:54 UTC
Well, to be honest I've to correct my above description.

The yum-API is not causing the problem. I've just done the same test with 3.2.7,
and findRepos() there behaves identical. The only difference is, that this
version seems to somewhere later populates the repo list itself so it doesn't
propagate to mash.

And "name" is not the repo name, but a human readable string describing the
repository.

Comment 4 Bill Nottingham 2008-02-21 18:27:38 UTC
Well, it's only an API problem in that mash was using it wrong. :)

Comment 5 Bill Nottingham 2008-04-11 14:03:17 UTC
Fixed in 0.2.10-2. Sorry about the delay.

Comment 6 Fedora Update System 2008-04-11 14:18:35 UTC
mash-0.2.10-2.fc8 has been submitted as an update for Fedora 8

Comment 7 Fedora Update System 2008-04-29 20:49:17 UTC
mash-0.2.10-3.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 8 Fedora Update System 2010-05-07 17:53:55 UTC
mash-0.5.16-1.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/mash-0.5.16-1.el5

Comment 9 Fedora Update System 2010-09-28 16:18:56 UTC
mash-0.5.20-1.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/mash-0.5.20-1.el5

Comment 10 Fedora Update System 2010-10-13 05:57:17 UTC
mash-0.5.20-1.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.