ini = ConfigParser.ConfigParser()
ini.read("./config.ini")
+buildbot_url = ini.get("general", "buildbot_url")
+
# This is a sample buildmaster config file. It must be installed as
# 'master.cfg' in your buildmaster's base directory.
# slave name and password must be configured on the slave.
from buildbot.buildslave import BuildSlave
+slave_port = 9990
+
+if ini.has_option("general", "port"):
+ slave_port = ini.getint("general", "port")
+
c['slaves'] = []
for section in ini.sections():
# 'slavePortnum' defines the TCP port to listen on for connections from slaves.
# This must match the value configured into the buildslaves (with their
# --master option)
-c['slavePortnum'] = 9990
+c['slavePortnum'] = slave_port
# coalesce builds
c['mergeRequests'] = True
home_dir = os.path.abspath(ini.get("general", "homedir"))
-repo_url = ini.get("repo", "url")
-
rsync_bin_url = ini.get("rsync", "binary_url")
rsync_bin_key = ini.get("rsync", "binary_password")
rsync_src_url = ini.get("rsync", "source_url")
rsync_src_key = ini.get("rsync", "source_password")
+rsync_sdk_url = None
+rsync_sdk_key = None
+rsync_sdk_pat = "lede-sdk-*.tar.xz"
+
+if ini.has_option("rsync", "sdk_url"):
+ rsync_sdk_url = ini.get("rsync", "sdk_url")
+
+if ini.has_option("rsync", "sdk_password"):
+ rsync_sdk_key = ini.get("rsync", "sdk_password")
+
+if ini.has_option("rsync", "sdk_pattern"):
+ rsync_sdk_pat = ini.get("rsync", "sdk_pattern")
+
gpg_keyid = None
gpg_comment = "Unattended build signature"
gpg_passfile = "/dev/null"
factory.addStep(ShellCommand(
name = "cleanold",
description = "Cleaning previous builds",
- command = ["./cleanup.sh", WithProperties("%(slavename)s"), WithProperties("%(buildername)s"), "full"],
+ command = ["./cleanup.sh", buildbot_url, WithProperties("%(slavename)s"), WithProperties("%(buildername)s"), "full"],
haltOnFailure = True,
timeout = 2400))
factory.addStep(ShellCommand(
name = "cleanup",
description = "Cleaning work area",
- command = ["./cleanup.sh", WithProperties("%(slavename)s"), WithProperties("%(buildername)s"), "single"],
+ command = ["./cleanup.sh", buildbot_url, WithProperties("%(slavename)s"), WithProperties("%(buildername)s"), "single"],
haltOnFailure = True,
timeout = 2400))
factory.addStep(ShellCommand(
name = "downloadsdk",
description = "Downloading SDK archive",
- command = ["rsync", "-va", "downloads.lede-project.org::downloads/snapshots/targets/%s/%s/lede-sdk-*.tar.bz2" %(ts[0], ts[1]), "sdk.tar.bz2"],
- haltOnFailure = True))
+ command = ["rsync", "-va", "%s/%s/%s/%s" %(rsync_sdk_url, ts[0], ts[1], rsync_sdk_pat), "sdk.archive"],
+ env={'RSYNC_PASSWORD': rsync_sdk_key},
+ haltOnFailure = True,
+ logEnviron = False))
factory.addStep(ShellCommand(
name = "unpacksdk",
description = "Unpacking SDK archive",
- command = ["tar", "--strip-components=1", "-C", "sdk/", "-vxjf", "sdk.tar.bz2"],
+ command = ["tar", "--strip-components=1", "-C", "sdk/", "-vxf", "sdk.archive"],
haltOnFailure = True))
factory.addStep(FileDownload(mastersrc=home_dir+'/key-build', slavedest="sdk/key-build", mode=0600))
name = "packageupload",
description = "Uploading package files",
workdir = "build/sdk",
- command = ["rsync", "--delete", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-avz", "bin/packages/%s/" %(arch[0]), "%s/packages/%s/" %(rsync_bin_url, arch[0])],
+ command = ["rsync", "--delete", "--checksum", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-avz", "bin/packages/%s/" %(arch[0]), "%s/packages/%s/" %(rsync_bin_url, arch[0])],
env={'RSYNC_PASSWORD': rsync_bin_key},
haltOnFailure = True,
logEnviron = False
name = "sourceupload",
description = "Uploading source archives",
workdir = "build/sdk",
- command = ["rsync", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-avz", "dl/", "%s/" %(rsync_src_url)],
+ command = ["rsync", "--checksum", "--delay-updates", "--partial-dir=.~tmp~%s" %(arch[0]), "-avz", "dl/", "%s/" %(rsync_src_url)],
env={'RSYNC_PASSWORD': rsync_src_key},
haltOnFailure = False,
logEnviron = False
# with an externally-visible host name which the buildbot cannot figure out
# without some help.
-c['buildbotURL'] = ini.get("general", "buildbot_url")
+c['buildbotURL'] = buildbot_url
####### DB URL