Bug 433555

Summary: Mash multilib problems with yum 3.0.x / EL5
Product: [Fedora] Fedora Reporter: Peter Pramberger <peter>
Component: mashAssignee: Bill Nottingham <notting>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: dcantrell, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: mash-0.5.20-1.el5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-29 20:49:24 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
Fix none

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.