From: Jo-Philipp Wich Date: Wed, 20 Jul 2016 13:01:12 +0000 (+0200) Subject: phase1: handle source directory with libc suffix X-Git-Tag: v1~256 X-Git-Url: http://git.openwrt.org/?p=buildbot.git;a=commitdiff_plain;h=aac9d35b96a0d59ad351e679b799030ab7647f83 phase1: handle source directory with libc suffix The ARC architectures use "generic-uClibc" instead of the expected "generic" as subtarget directory name, leading to errors in the rsync step because the expected directory cannot be found. Extract the libc flavor from the generated .config and decide whether to use a directory suffix based on the value obtained in order to let ARC uploads complete successfully. Signed-off-by: Jo-Philipp Wich --- diff --git a/phase1/master.cfg b/phase1/master.cfg index 5e51466..e916aad 100644 --- a/phase1/master.cfg +++ b/phase1/master.cfg @@ -312,7 +312,7 @@ EOT''' %(ts[0], ts[0], ts[1]) )) command = ["make", "defconfig"] )) - # check arch / libc + # check arch factory.addStep(ShellCommand( name = "checkarch", description = "Checking architecture", @@ -323,15 +323,12 @@ EOT''' %(ts[0], ts[0], ts[1]) )) haltOnFailure = True )) - factory.addStep(ShellCommand( - name = "checklibc", - description = "Checking libc flavor", - command = ["grep", "-sq", 'CONFIG_LIBC="musl"', ".config"], - logEnviron = False, - want_stdout = False, - want_stderr = False, - haltOnFailure = True - )) + # find libc suffix + factory.addStep(SetProperty( + name = "libc", + property = "libc", + description = "Finding libc suffix", + command = ["sed", "-ne", '/^CONFIG_LIBC=/ { s!^CONFIG_LIBC="\\(.*\\)"!\\1!; s!^musl$!!; s!.\\+!-&!p }', ".config"])) # install build key factory.addStep(FileDownload(mastersrc=home_dir+'/key-build', slavedest="key-build", mode=0600)) @@ -438,7 +435,7 @@ EOT''' %(ts[0], ts[0], ts[1]) )) factory.addStep(ShellCommand( name = "targetupload", description = "Uploading target files", - command=["rsync", "--delete", "--delay-updates", "--partial-dir=.~tmp~%s~%s" %(ts[0], ts[1]), "-avz", "bin/targets/%s/%s/" %(ts[0], ts[1]), "%s/targets/%s/%s/" %(rsync_bin_url, ts[0], ts[1])], + command=["rsync", "--delete", "--delay-updates", "--partial-dir=.~tmp~%s~%s" %(ts[0], ts[1]), "-avz", "bin/targets/%s/%s%s/" %(ts[0], ts[1], WithProperties("%(libc)")), "%s/targets/%s/%s/" %(rsync_bin_url, ts[0], ts[1])], env={'RSYNC_PASSWORD': rsync_bin_key}, haltOnFailure = True, logEnviron = False