+
+def gsm_cells_factory():
+ path_env = {
+ "PATH": os.environ["BUILDBOT_PATH_GSMCells"] + ":${PATH}",
+ "IN_BUILDBOT": "yes",
+ }
+ master_env = {
+ "HTACCESS": '''
+ Options +FollowSymLinks
+ IndexIgnore *
+ '''
+ }
+ for k, v in os.environ.items():
+ if k.startswith("BUILDBOT_GSM_CELLS_"):
+ path_env[k[len("BUILDBOT_GSM_CELLS_"):]] = v
+
+ script = os.environ["BUILDBOT_PROJECT_DIR"] + "/scripts/lacells_download"
+ factory = util.BuildFactory()
+ factory.addStep(steps.ShellCommand(name="download files",
+ logEnviron=False, haltOnFailure=True, command=[script], env=path_env))
+ factory.addStep(steps.ShellCommand(name="give read access to all files",
+ logEnviron=False, haltOnFailure=True,
+ command="chmod a+r lacells.db", env=path_env))
+ factory.addStep(steps.FileUpload(workersrc="lacells.db",
+ masterdest=(E.GSMCELLS_RELEASE_PATH+"/lacells.db"), url=(E.GSMCELLS_RELEASE_URL+"/lacells.db")))
+ factory.addStep(steps.MasterShellCommand(command="touch {}/.duplicity-ignore".format(E.GSMCELLS_RELEASE_PATH)))
+ factory.addStep(steps.MasterShellCommand(command='echo "$HTACCESS" > {}/.htaccess'.format(E.GSMCELLS_RELEASE_PATH),
+ env=master_env))
+ factory.addStep(steps.MasterShellCommand(command="ln -sf lacells.db {}/lacells.db.new".format(E.GSMCELLS_RELEASE_PATH)))
+ factory.addStep(steps.MasterShellCommand(command="chmod -R a+rX {}".format(E.GSMCELLS_RELEASE_PATH)))
+
+ return util.BuilderConfig(name="GSMCells_build", workernames=["generic-worker-immae-eu"], factory=factory)