[Buildbot-devel] slave os.environ['HOME']
Ryan Raasch
ryan.raasch at gmail.com
Thu Jun 25 19:02:49 UTC 2009
The way of building out of tree is not possible with buildbot, it seems.
A configure script is run
when in /home/build/usr/src-build one runs
/home/build/usr/src/configure. This absolute path stuff is not possible.
Unless a home directory is not used (/opt, /var, ... ) (now that i think
about it).
Or is there another way?
Dustin J. Mitchell wrote:
> On Thu, Jun 25, 2009 at 9:14 AM, Ryan Raasch<ryan.raasch at gmail.com> wrote:
>> To do this, though, i need to find the HOME directory on the slave. I am
>> not that great with python (like it a lot, but moreless newbie).
>
> Maybe you could back up a bit and think about why you need this? I
> don't really understand your description. Do you just need to find a
> common place from which to access the source code, without copying it
> into each build dir?
>
> The problem is that, when the master.cfg is parsed, the slaves aren't
> connected yet. So there's absolutely no way to get a value from the
> slaves into a local variable.
>
> You're right that SVN doesn't accept properties, because it is
> intended to run as the first step.
>
> If my guess is correct, then you don't want to use the SVN step in
> your builders (because you don't want to do a checkout for each
> builder). Instead, you'll need to find some way to atomically update
> your common repository (or a shell command that uses some kind of
> locking to prevent simultaneous updates?) on each buildslave. If you
> can, just make that common repository appear in the same place on
> every slave. Otherwise, since you're using a shell script to update
> the repo, just use $HOME in that shell script. Then each buildfactory
> starts with this "update-the-common-repo" step, probably followed by
> an 'rm -rf foo; mkdir foo' to clean out the build directory, followed
> by the regular steps for your build.
>
> Dustin
>
More information about the devel
mailing list