Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 191524 - Catalyst will not build an tinderbox target without a pkgcache_path set
Summary: Catalyst will not build an tinderbox target without a pkgcache_path set
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: Catalyst (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Catalyst Developers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-09-06 18:36 UTC by Daniel van Ham Colchete
Modified: 2007-10-12 00:08 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel van Ham Colchete 2007-09-06 18:36:21 UTC
Running catalyst with a tinderbox target with 2 pkgcache_path entries in the spec file will make it's python code fail.
The tinderbox spec file from the examples have 2 pkgcache_path lines.


Reproducible: Always

Steps to Reproduce:
1. Get a tinderbox.spec from /usr/share/doc/catalyst-2.0.4/examples/tinderbox_template.spec and configure it to compile a package against a ready and tested stage4 target.
2. run catalyst -f tinderbox_template.spec

Actual Results:  
The last lines of the error traceback are:

Caching snapshot to /var/tmp/catalyst/snapshot_cache/20070729/
The autoresume path is /var/tmp/catalyst/tmp/supra-2007.00/.autoresume-tinderbox-pentium4-2007.00/
portage_overlay directories are set to: "/home/catalyst/projeto-supra/portage"
Catalyst aborting....
Traceback (most recent call last):
  File "/usr/bin/catalyst", line 384, in ?
    build_target(addlargs, targetmap)
  File "/usr/bin/catalyst", line 200, in build_target
    mytarget=targetmap[addlargs["target"]](conf_values, addlargs)
  File "/usr/lib/catalyst/modules/tinderbox_target.py", line 14, in __init__
    generic_stage_target.__init__(self,spec,addlargs)
  File "/usr/lib/catalyst/modules/generic_stage_target.py", line 181, in __init__
    print "Location of the package cache is " + self.settings["pkgcache_path"]
KeyError: 'pkgcache_path'


Expected Results:  
It should have started uncompressing the stage4 into the work dir.

A complete spec file to reproduce it:

subarch: pentium4
version_stamp: 2007.00
target: tinderbox
rel_type: supra-2007.00
profile: default-linux/x86/2007.0
snapshot: 20070729
source_subpath: supra-2007.00/stage4-pentium4-2007.00
distcc_hosts:
portage_confdir: /home/catalyst/projeto-supra/portage
portage_overlay: /home/catalyst/projeto-supra/portage
pkgcache_path: /tmp/packages
tinderbox/use: -ipv6 -X -kde -qt -qt3 -qt4 -gtk -gnome mysql sasl apache2 bzip2 gd-external gmp imap pdo-external sqlite3 sqlite jpeg png truetype xml pgsql mysqli
tinderbox/packages: dev-perl/SOAP-Lite
pkgcache_path: 
kerncache_path:
Comment 1 Daniel van Ham Colchete 2007-09-06 18:41:59 UTC
Correction: after doing a few more tests I have a more precise diagnostic. The problem was that my second pkgcache_path parameter was clean. You can have as many pkgcache_path lines as you want, as long as the last one have some dir on it.
Comment 2 Andrew Gaffney (RETIRED) gentoo-dev 2007-09-08 19:19:48 UTC
In order to prevent this kind of problem, catalyst will now die when parsing the spec if you have duplicate keys in the spec file. I've also removed the duplicate pkgcache_path and kerncache_path entries from a few of the example specs.
Comment 3 Chris Gianelloni (RETIRED) gentoo-dev 2007-10-12 00:08:15 UTC
This should be fixed in 2.0.5_pre4.  Please test this version of catalyst (or newer) and report back if it does not work.

Thanks