From: Beth Flanagan <[email protected]> On systems with very high load sometimes the system still thinks the build dir is there. I've only seen this once, but a sync here ensures that the system knows that build has been moved.
Signed-off-by: Beth Flanagan <[email protected]> --- .../buildbot/steps/source/yoctogit.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/source/yoctogit.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/source/yoctogit.py index 4e1a334..c6b8258 100644 --- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/source/yoctogit.py +++ b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/steps/source/yoctogit.py @@ -204,6 +204,7 @@ class YoctoGit(Source): return elif self.method == 'movecopy': yield self.movecopy() + yield self._sync() yield self._srccopy() return @@ -269,6 +270,23 @@ class YoctoGit(Source): d.addCallback(lambda _: self.incremental()) return d + def _sync(self): + cmd = buildstep.RemoteShellCommand(self.workdir, + 'sync', + env=self.env, + logEnviron=self.logEnviron, + timeout=self.timeout) + cmd.useLog(self.stdio_log, False) + log.msg("syncing filesystem") + d = self.runCommand(cmd) + def evaluateCommand(cmd): + if cmd.didFail(): + log.msg("Source step failed while running command %s" % cmd) + raise buildstep.BuildStepFailed() + d.addCallback(lambda _: evaluateCommand(cmd)) + return d + + def movecopy(self): # This relies on an external method of cleaning up the todir, like a cron job # it can be rather disk space intensive. -- 1.8.1.2 -- _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
