On 10/19/05, Dan Williams <dcbw(a)redhat.com> wrote:
On Tue, 2005-10-18 at 22:21 -0400, Chris Weyl wrote:
> Ok! So, after a couple... intense;)... hours of hacking at my plague
> config files, here's what I've come up with for server/builder/target.
> This is the result of both looking at the default configs that are
> generated, looking at the code, and repetitively starting the
> server/builder and waiting for it to complain when it doesn't find
> something it expects :)
Yeah, we should really package up default config files that show how to
do stuff. I think Dennis Gilmore has done so for Sparc.
I think that's an excellent idea; I know I've been guessing alot.
> However, it still doesn't build from CVS correctly. So I
include
> these files here in the hopes the error of my ways will be shown to
> me, and also so others may glean what they will from them :) (server
> names have been replaced, so as to protect the innocent.) To make
> things a little simpler while figuring it all out, I only have one
> target cfg defined: fedora-3-i386-core.
Hmm, any errors in the logs or the emails that it sends when the build
fails?
Hmm, I wasn't reading those -- didn't realize they contained
information not logged.
So I looked at the last one, saw that it was trying to build from a
path that doesn't exist in CVS, corrected cvs_alias (per your
comments) and that fixed that problem.
Something that might help is to turn on debugging info
in /usr/share/plague/server/PackageJob.py, near the top. You'll see a
line that says "DEBUG = False". Change that to "DEBUG = True" (note
the
capital T) and you should get prints of all the commands the server is
running to check stuff out from CVS.
That did help a touch. Now, when building from a CVS tag, it tells me
that it's changing to the checked out directory, and running "make
srpm" in it. Both these commands work (that is, as root I can execute
them w/o problem), but the next thing logged to plague-server.log is:
=====================
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.4/threading.py", line 442, in __bootstrap
self.run()
File "/usr/share/plague/server/PackageJob.py", line 82, in run
self._pkg_job.process()
File "/usr/share/plague/server/PackageJob.py", line 509, in process
if func():
File "/usr/share/plague/server/PackageJob.py", line 377, in _stage_prep
(self.archjobs, pkg_arches, allowed_arches) = self.arch_handling(hdr)
File "/usr/share/plague/server/PackageJob.py", line 185, in arch_handling
addl_arches = self._target_cfg.addl_pkg_arches()[self.name]
TypeError: list indices must be integers
=====================
I'm thinking I have something wrong (or missing?) in a config file somewhere...?
Here's a short walk through the CVS code in plague, hopefully
that will
help us figure out what's going on for you...
[...snip...]
cmd = 'cd %s; %s srpm' % (srpm_dir, MAKE_CMD)
debugprint("%d: Running %s in %s" % (self.uid, cmd, srpm_dir))
s, o = commands.getstatusoutput(cmd)
if s != 0:
# Don't include download progress lines in output
lines = o.split('\n')
output_lines = []
for line in lines:
if line.find('..........') == -1 and len(line) > 0:
output_lines.append(line)
o = string.join(output_lines, '\n')
msg = "Error: could not make srpm for %s - output was:\n\n%s" %
(self._source, o)
raise PrepError(msg)
srpmpath = None
Hmmmmm..... It would seem to be somewhere in here that the exception
is being thrown. I think; not sure if the above messages point
elsewhere..
-Chris