[oe-commits] [openembedded-core] 01/82: recipetool: create: don't create extra files directory unconditionally

git at git.openembedded.org git at git.openembedded.org
Sun Mar 20 07:52:11 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit b8b778345eb0997c2cd952a1f61fdd2050b6b894
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Mon Mar 14 08:59:03 2016 +1300

    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.
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/lib/oeqa/selftest/recipetool.py |  6 ++++--
 scripts/lib/recipetool/create.py     | 15 ++++++++-------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/meta/lib/oeqa/selftest/recipetool.py b/meta/lib/oeqa/selftest/recipetool.py
index 72ee110..a04ee87 100644
--- a/meta/lib/oeqa/selftest/recipetool.py
+++ b/meta/lib/oeqa/selftest/recipetool.py
@@ -410,9 +410,11 @@ class RecipetoolTests(RecipetoolBase):
         srcuri = 'http://www.dest-unreach.org/socat/download/socat-%s.tar.bz2' % pv
         result = runCmd('recipetool create %s -o %s' % (srcuri, temprecipe))
         dirlist = os.listdir(temprecipe)
-        if len(dirlist) < 1 or not os.path.isfile(os.path.join(temprecipe, 'socat_%s.bb' % pv)):
+        if len(dirlist) > 1:
+            self.fail('recipetool created more than just one file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist)))
+        if len(dirlist) < 1 or not os.path.isfile(os.path.join(temprecipe, dirlist[0])):
             self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist)))
-        self.assertIn('socat_%s.bb' % pv, dirlist, 'Recipe file incorrectly named')
+        self.assertEqual(dirlist[0], 'socat_%s.bb' % pv, 'Recipe file incorrectly named')
         checkvars = {}
         checkvars['LICENSE'] = set(['Unknown', 'GPLv2'])
         checkvars['LIC_FILES_CHKSUM'] = set(['file://COPYING.OpenSSL;md5=5c9bccc77f67a8328ef4ebaf468116f4', 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'])
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 1649e40..bb9fb9b 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -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 = []

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list