[yocto] [yocto-autobuilder][PATCH] PublishArtifacts.py: fix file check to work under dash
Joshua Lock
joshua.g.lock at linux.intel.com
Mon Aug 22 03:28:05 PDT 2016
On Sat, 2016-08-20 at 15:50 -0700, Bill Randle wrote:
> An earlier patch (ed3857990) to check for existing msd5sum files
> worked
> fine when tested under bash, but failed with an error message about
> [[
> not found when run under dash. Updated the test to not rely on
> bashisms.
>
> Signed-off-by: Bill Randle <william.c.randle at intel.com>
> ---
> lib/python2.7/site-
> packages/autobuilder/buildsteps/PublishArtifacts.py | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/lib/python2.7/site-
> packages/autobuilder/buildsteps/PublishArtifacts.py
> b/lib/python2.7/site-
> packages/autobuilder/buildsteps/PublishArtifacts.py
> index d8b554f..58048f0 100644
> --- a/lib/python2.7/site-
> packages/autobuilder/buildsteps/PublishArtifacts.py
> +++ b/lib/python2.7/site-
> packages/autobuilder/buildsteps/PublishArtifacts.py
> @@ -259,8 +259,9 @@ class PublishArtifacts(ShellCommand):
> def generateMD5cmd(self, artifact, deploy_dir):
> cmd = ""
> if os.environ.get('GEN_IMG_MD5') == "True":
> + # crufty test for existing md5sum file required for dash
> shell
> cmd += "for x in `find " + deploy_dir + " -maxdepth 5
> -type f`;"
> - cmd += "do if [[ $x != *.md5sum ]]; then md5sum $x >> "
> + "$x.md5sum; fi; done;"
> + cmd += "do echo ${x} | grep -q '\.md5sum'; if [ $? -ne 0
> ]; then md5sum $x >> " + "$x.md5sum; fi; done;"
> return cmd
Rather than a "crufty" test, how about using POSIX sh parameter
expansion, i.e.
$ foo="blah.bar"
$ if [ ${foo##*.} == bar ]; then echo "bar!"; fi
bar!
Therefore, the patch would be something like (untested):
cmd += "if [ ${x##*.} == .md5sum ]; then md5sum $x >> $x.md5sum; fi"
Regards,
Joshua
>
> def getDeployNames(self, artifact, buildername):
More information about the yocto
mailing list