Bug 229616 - KeyError: <yum.yumRepo.YumRepository object at 0x997e4ac>
KeyError: <yum.yumRepo.YumRepository object at 0x997e4ac>
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: pungi (Show other bugs)
rawhide
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: David Cantrell
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-21 23:26 EST by John Reiser
Modified: 2013-01-09 20:35 EST (History)
0 users

See Also:
Fixed In Version: pungi-0.2.6-1.fc7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-02-22 22:47:36 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description John Reiser 2007-02-21 23:26:42 EST
Description of problem: pungi quit unexpectedly with cryptic error message. 


Version-Release number of selected component (if applicable):
pungi-0.2.4-1.fc7


How reproducible:
haven't tried

Steps to Reproduce:
1. pungi -c /etc/pungi/pungi.conf
2.
3.
  
Actual results:
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 102, in main
    mygather.downloadSRPMs()
  File "/usr/lib/python2.5/site-packages/pypungi/gather.py", line 251, in
downloadSRPMs
    self.doSackSetup(archlist=['src'])
  File "/usr/lib/python2.5/site-packages/yum/__init__.py", line 352, in doSackSetup
    self.pkgSack.excludeArchs(archlist)
  File "/usr/lib/python2.5/site-packages/yum/packageSack.py", line 331, in
excludeArchs
    sack.excludeArchs(archlist)
  File "/usr/lib/python2.5/site-packages/yum/sqlitesack.py", line 588, in
excludeArchs
    self.delPackage(obj)
  File "/usr/lib/python2.5/site-packages/yum/sqlitesack.py", line 191, in delPackage
    self.excludes[repo][obj.pkgId] = 1
KeyError: <yum.yumRepo.YumRepository object at 0x997e4ac>


Expected results:
successful creation of .iso

Additional info:
pungi]$ du -s *
2099724 cache
124     development
512     logs

comps-fc7.xml, f7-classic.i386, f7-classic.manifest as of Wednesday 2007-02-21:
$ md5sum $HOME/Desktop/comps-fc7.xml $HOME/Desktop/f7*
4dd1713c18de4f5c4d970d0e24e13344  /home/jreiser/Desktop/comps-fc7.xml
ba7318ee9f2b0a28cbdbda3cdfff3f5a  /home/jreiser/Desktop/f7-classic.i386
76104b94826f2894761bbdb8750838a3  /home/jreiser/Desktop/f7-classic.manifest
$ 
-----/etc/pungi/pungi.conf
# Pungi config file
#

[default]
product_name = Fedora Core
product_path = Fedora
iso_basename = FC
comps =    /home/jreiser/Desktop/comps-fc7.xml
manifest = /home/jreiser/Desktop/f7-classic.manifest
yumconf =  /home/jreiser/Desktop/yum.conf.rawhide.i386
destdir =  /home/jreiser/srv/pungi
cachedir = /home/jreiser/srv/pungi/cache
arch = i386
version = development
discs = 1
getsource = Yes
-----
Comment 1 Jesse Keating 2007-02-22 07:29:37 EST
To be honest, I haven't tried gathering source in a while.  Can you try without
that and see what you get?
Comment 2 John Reiser 2007-02-22 10:20:29 EST
I changed to "getsource = no" in /etc/pungi/pungi.conf.  Then:
-----
# pungi -c /etc/pungi/pungi.conf
Copying release note file RELEASE-NOTES-en_US.html
Copying release note file README-BURNING-ISOS-en_US.txt
Copying release note file fedora.css
Copying release note file GPL
Copying release note file eula.txt
Copying release note file RPM-GPG-KEY
Copying release note file RPM-GPG-KEY-fedora-legacy
Copying release note file RPM-GPG-KEY-fedora
Copying release note file RPM-GPG-KEY-fedora-extras
Copying release note file RPM-GPG-KEY-fedora-test
Copying release note file RPM-GPG-KEY-rawhide
Copying release note file RPM-GPG-KEY-fedora-rawhide
Copying release note file RPM-GPG-KEY-beta
Copying release note dir stylesheet-images
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 114, in main
    mypungi.doSplittree()
  File "/usr/lib/python2.5/site-packages/pypungi/pungi.py", line 160, in doSplittree
    output = timber.main()
  File "/usr/lib/anaconda-runtime/splittree.py", line 393, in main
    self.createSplitDirs()
  File "/usr/lib/anaconda-runtime/splittree.py", line 236, in createSplitDirs
    self.createDiscInfo(i)
  File "/usr/lib/anaconda-runtime/splittree.py", line 151, in createDiscInfo
    raise RuntimeError, "CRITICAL ERROR : self.real_arch is not the same as
self.arch"
RuntimeError: CRITICAL ERROR : self.real_arch is not the same as self.arch
-----

The actual discrepant values of arch and real_arch are not evident from the message.

pungi.conf:arch = i386
yum.conf.i386:exactarch=1
/home/jreiser/Desktop/f7-classic.i386:arch = i386
/home/jreiser/Desktop/yum.conf.rawhide.i386:exactarch=1

So where was arch set to [presumably] x86_64 ?
Comment 3 Jesse Keating 2007-02-22 10:28:52 EST
Actually I took a closer look at your configs.  You're using the classic
manifest, but only asking for one CD, without setting CD size to something
large.  That won't work.  If you're trying to compose classic, please use the
configs from http://people.redhat.com/jkeating/f7-test2/
Comment 4 John Reiser 2007-02-22 10:37:39 EST
That's where I got the config files f7-classic.i386, f7-classic.manifest,
comps-fc7.xml, and pungi.conf.  I retrieved again; the new copies are the same
as the old (except my pungi.conf has "arch = i386".)

What is the syntax for "setting CD size to something large" 
Comment 5 Jesse Keating 2007-02-22 11:15:13 EST
Perhaps I didn't make it clear, instead of -c /etc/pungi/pungi.conf  you would
use -c /etc/pungi/f7-classic.i386
Comment 6 John Reiser 2007-02-22 12:00:51 EST
OK, but now I get "IndexError: list index out of range" apparently because:
du: cannot access `/srv/pungi/development/6.91/Classic/i386/os-disc0': No such
file or directory

## I moved the .../srv directory to /srv to make config files simpler,
## and changed to "version = 6.91".  I added "setarch i386" to evade trouble.
## I also removed the 'development' and 'work' directories before starting here:
-----
# setarch i386 pungi -c f7-classic.i386
Copying release note file RELEASE-NOTES-en_US.html
Copying release note file README-BURNING-ISOS-en_US.txt
Copying release note file fedora.css
Copying release note file GPL
Copying release note file eula.txt
Copying release note file RPM-GPG-KEY
Copying release note file RPM-GPG-KEY-fedora-legacy
Copying release note file RPM-GPG-KEY-fedora
Copying release note file RPM-GPG-KEY-fedora-extras
Copying release note file RPM-GPG-KEY-fedora-test
Copying release note file RPM-GPG-KEY-rawhide
Copying release note file RPM-GPG-KEY-fedora-rawhide
Copying release note file RPM-GPG-KEY-beta
Copying release note dir stylesheet-images
du: cannot access `/srv/pungi/development/6.91/Classic/i386/os-disc0': No such
file or directory
Traceback (most recent call last):
  File "/usr/bin/pungi", line 179, in <module>
    main()
  File "/usr/bin/pungi", line 114, in main
    mypungi.doSplittree()
  File "/usr/lib/python2.5/site-packages/pypungi/pungi.py", line 160, in doSplittree
    output = timber.main()
  File "/usr/lib/anaconda-runtime/splittree.py", line 394, in main
    self.splitRPMS()
  File "/usr/lib/anaconda-runtime/splittree.py", line 301, in splitRPMS
    curused = self.getSize("%s-disc%s" % (self.dist_dir, disc), blocksize=1)
  File "/usr/lib/anaconda-runtime/splittree.py", line 113, in getSize
    thesize = long(string.split(thesize)[0])
IndexError: list index out of range
----

The files in /srv/pungi/development/6.91/Classic/i386 are:
$ ls
os  os-disc1

Comment 7 Jesse Keating 2007-02-22 15:11:24 EST
heh, I just noticed what version you're running, and realized something went
haywire in the Extras push script which pushed out an older version of pungi. 
Pungi should be version 0.2.6, not 0.2.4.  Working with the Extras team to get
the right version out there.
Comment 8 Jesse Keating 2007-02-22 22:47:36 EST
pungi-0.2.6-1.fc7.noarch.rpm should be available now in extras, and should solve
your problem.

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