From: Jo-Philipp Wich Date: Mon, 6 Feb 2017 12:30:09 +0000 (+0100) Subject: phase2: rely on rsync to merge updated SDK components X-Git-Tag: v1~179 X-Git-Url: http://git.openwrt.org/?p=buildbot.git;a=commitdiff_plain;h=2615ef07ba8545f3dbec4d31b40e801e8fe1f541 phase2: rely on rsync to merge updated SDK components Relying on the file modtime is unreliable so we cannot trust tar's --keep-newer-files to properly overwrite changed SDK components. Extract into a different directory instead and use rsync with checksum mode to replace updated SDK files. Signed-off-by: Jo-Philipp Wich --- diff --git a/phase2/master.cfg b/phase2/master.cfg index c46de83..b60417a 100644 --- a/phase2/master.cfg +++ b/phase2/master.cfg @@ -278,7 +278,13 @@ for arch in arches: factory.addStep(ShellCommand( name = "unpacksdk", description = "Unpacking SDK archive", - command = ["tar", "--keep-newer-files", "--strip-components=1", "-C", "sdk/", "-vxf", "sdk.archive"], + command = "rm -rf sdk_update && mkdir sdk_update && tar --strip-components=1 -C sdk_update/ -vxf sdk.archive", + haltOnFailure = True)) + + factory.addStep(ShellCommand( + name = "updatesdk", + description = "Updating SDK", + command = "rsync --checksum -av sdk_update/ sdk/ && rm -rf sdk_update", haltOnFailure = True)) factory.addStep(FileDownload(mastersrc=home_dir+'/key-build', slavedest="sdk/key-build", mode=0600))