From: grygorii tertychnyi Date: Fri, 1 Nov 2019 07:10:43 +0000 (+0200) Subject: archiver: avoid empty incfile in ar_recipe X-Git-Tag: uninative-2.8~1134 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=3b393da7d2d15de12e2a8a9c11591078b40b188a;p=openembedded-core.git archiver: avoid empty incfile in ar_recipe do_ar_recipe fails on perf recipe on line: include ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'perf-perl.inc', '', d)} 1. "${...}" part expands into empty string 2. bb.utils.which() takes empty string and returns first directory name from bbpath 3. shutil.copy() fails on copying directory: Exception: IsADirectoryError: [Errno 21] Is a directory: ...... Hence, check "incfile" variable on each step. Signed-off-by: grygorii tertychnyi Signed-off-by: Richard Purdie --- diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass index 093e2d95af..7c46cff91f 100644 --- a/meta/classes/archiver.bbclass +++ b/meta/classes/archiver.bbclass @@ -441,9 +441,10 @@ python do_ar_recipe () { incfile = include_re.match(line).group(1) if incfile: incfile = d.expand(incfile) + if incfile: incfile = bb.utils.which(bbpath, incfile) - if incfile: - shutil.copy(incfile, outdir) + if incfile: + shutil.copy(incfile, outdir) create_tarball(d, outdir, 'recipe', d.getVar('ARCHIVER_OUTDIR')) bb.utils.remove(outdir, recurse=True)