recipetool: create: don't create extra files directory unconditionally

The extra directory next to the recipe should only be created if there
are files to put into it; currently only the npm plugin does this. I
didn't notice the issue earlier because the test was actually able to
succeed under these circumstances if the recipe file came first in the
directory listing, which was a fault in my original oe-selftest test;
apparently on some YP autobuilder machines the order came out reversed.

With this change we can put the oe-selftest test that highlighted the
issue back to the way it was, with an extra check to reinforce that only
a single file should be created.

(From OE-Core rev: b8b778345eb0997c2cd952a1f61fdd2050b6b894)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton
2016-03-14 08:59:03 +13:00
committed by Richard Purdie
parent 8debfea81e
commit 600b7007f6
2 changed files with 12 additions and 9 deletions

View File

@@ -604,13 +604,14 @@ def create_recipe(args):
sys.exit(1)
# Move any extra files the plugins created to a directory next to the recipe
if outfile == '-':
extraoutdir = pn
else:
extraoutdir = os.path.join(os.path.dirname(outfile), pn)
bb.utils.mkdirhier(extraoutdir)
for destfn, extrafile in extrafiles.iteritems():
shutil.move(extrafile, os.path.join(extraoutdir, destfn))
if extrafiles:
if outfile == '-':
extraoutdir = pn
else:
extraoutdir = os.path.join(os.path.dirname(outfile), pn)
bb.utils.mkdirhier(extraoutdir)
for destfn, extrafile in extrafiles.iteritems():
shutil.move(extrafile, os.path.join(extraoutdir, destfn))
lines = lines_before
lines_before = []