[Buildbot-devel] Re: Buildbot-devel digest, Vol 1 #33 - 3 msgs
Ed Hartnett
ed at unidata.ucar.edu
Thu Jan 22 14:48:35 UTC 2004
buildbot-devel-request at lists.sourceforge.net writes:
>
> 2 - When I run this bot from the webpage, the configure step doesn't
> work:
>
>
>
> command './configure' in dir '.'
>
> Upon execvpe ./configure ['./configure'] in environment id 141045236:
> Traceback (most recent call last):
> File "/usr/lib/python2.2/site-packages/twisted/internet/process.py", line 502, in __init__
> os.execvpe(command, args, environment)
> File "/usr/src/build/317580-i386/install/usr/lib/python2.2/os.py", line 308, in execvpe
> _execvpe(file, args, env)
> File "/usr/src/build/317580-i386/install/usr/lib/python2.2/os.py", line 325, in _execvpe
> apply(func, (file,) + argrest)
> OSError: [Errno 2] No such file or directory
> program finished with exit code 1
>
> What the heck?
>
> Any suggestions would be helpful. Thanks!
>
> Ed
>
Well I got it working, but I had to mess around with workdir to do it,
and I don't know why.
What is workdir anyway? Who sets it, ultimately?
Is it the top level under which the cvs calls get the module? In whcih
case, workdir + "/" + cvsmodule is where the ./configure must be run,
not workdir...
Here's what I did, which now builds a tagged release of my package:
taggedbuildfacory.py:
from buildbot.process.base import ConfigurableBuildFactory, CVS, \
Configure, Compile, Test, ShellCommand
class RmCommand(ShellCommand):
"""I just need to override the name member."""
name = "rm"
class TaggedBuildFactory(ConfigurableBuildFactory):
def __init__(self, cvsroot, cvsmodule, tag, configure="configure", configureEnv={}, compile="make all",
test="make check", workdir="."):
steps = []
steps.append((RmCommand, {'workdir': workdir,
'command': "rm -rf "+cvsmodule}))
steps.append((ShellCommand, {'workdir': workdir,
'command': "cvs -d "+cvsroot+" co -r "+tag+" "+cvsmodule}))
new_workdir = workdir + "/" + cvsmodule
steps.append((Configure, {'workdir': new_workdir,
'command': configure,
'env': configureEnv}))
steps.append((Compile, {'workdir': new_workdir,
'command': compile}))
steps.append((Test, {'workdir': new_workdir,
'command': test}))
self.steps = steps
In master.cfg:
f_all = TaggedBuildFactory(repository, cvsmodule, "netcdf-3_5_1-beta13",
configure="./configure",
configureEnv={'FC': 'g77', 'CXX':'g++', 'CPPFLAGS':'-Df2cFortran', 'F90':''},
test="make test", workdir="/home/ed/BuildBot/rodney_all")
More information about the devel
mailing list