diff options
| author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-09-22 17:21:28 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-23 09:53:16 +0100 |
| commit | a35ad723ce9ef75f8a7d66c05179fe0eb0e50f73 (patch) | |
| tree | 8c1f8cbc409a06033d478e99650397399bdd55de /scripts/lib | |
| parent | 30c7e7ac41ba201d41613d1482abeebdbd05ae46 (diff) | |
| download | poky-a35ad723ce9ef75f8a7d66c05179fe0eb0e50f73.tar.gz | |
recipetool: create: fix creating empty shell functions
The shell considers empty functions to be a syntax error, so for
template shell functions that contain only comments (or no lines at all)
then add a : to act as a no-op which avoids the syntax error.
(From OE-Core rev: ff14d9e5b935b99b2efde479515e54c02ba58f6e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
| -rw-r--r-- | scripts/lib/recipetool/create.py | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index c4754dbcdd..99d9cc850e 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py | |||
| @@ -46,10 +46,26 @@ class RecipeHandler(): | |||
| 46 | results.extend(glob.glob(os.path.join(path, spec))) | 46 | results.extend(glob.glob(os.path.join(path, spec))) |
| 47 | return results | 47 | return results |
| 48 | 48 | ||
| 49 | def genfunction(self, outlines, funcname, content): | 49 | def genfunction(self, outlines, funcname, content, python=False, forcespace=False): |
| 50 | outlines.append('%s () {' % funcname) | 50 | if python: |
| 51 | prefix = 'python ' | ||
| 52 | else: | ||
| 53 | prefix = '' | ||
| 54 | outlines.append('%s%s () {' % (prefix, funcname)) | ||
| 55 | if python or forcespace: | ||
| 56 | indent = ' ' | ||
| 57 | else: | ||
| 58 | indent = '\t' | ||
| 59 | addnoop = not python | ||
| 51 | for line in content: | 60 | for line in content: |
| 52 | outlines.append('\t%s' % line) | 61 | outlines.append('%s%s' % (indent, line)) |
| 62 | if addnoop: | ||
| 63 | strippedline = line.lstrip() | ||
| 64 | if strippedline and not strippedline.startswith('#'): | ||
| 65 | addnoop = False | ||
| 66 | if addnoop: | ||
| 67 | # Without this there'll be a syntax error | ||
| 68 | outlines.append('%s:' % indent) | ||
| 53 | outlines.append('}') | 69 | outlines.append('}') |
| 54 | outlines.append('') | 70 | outlines.append('') |
| 55 | 71 | ||
