aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2016-02-09 16:12:06 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-11 12:27:29 +0000
commit2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9 (patch)
tree8abd29f9d2d2fcc0056c6274ed6c7722e8829bef /scripts
parentc0f8be26f5a82b546e066511a405306f40bfe1a8 (diff)
downloadopenembedded-core-contrib-2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9.tar.gz
recipetool.newappend: add -e/--edit argument
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lib/recipetool/newappend.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/lib/recipetool/newappend.py b/scripts/lib/recipetool/newappend.py
index f9b8d85ecf..5625a8ed52 100644
--- a/scripts/lib/recipetool/newappend.py
+++ b/scripts/lib/recipetool/newappend.py
@@ -25,6 +25,7 @@ import errno
import logging
import os
import re
+import subprocess
import sys
@@ -89,17 +90,26 @@ def newappend(args):
bb.utils.mkdirhier(os.path.dirname(append_path))
try:
- open(append_path, 'a')
+ open(append_path, 'a').close()
except (OSError, IOError) as exc:
logger.critical(str(exc))
return 1
- print(append_path)
+ if args.edit:
+ editor = os.getenv('VISUAL', os.getenv('EDITOR', 'vi'))
+ try:
+ return subprocess.check_call([editor, append_path, recipe_path])
+ except OSError as exc:
+ logger.error("Execution of editor '%s' failed: %s", editor, exc)
+ return 1
+ else:
+ print(append_path)
def register_commands(subparsers):
parser = subparsers.add_parser('newappend',
help='Create a bbappend for the specified target in the specified layer')
+ parser.add_argument('-e', '--edit', help='Edit the new append. This obeys $VISUAL if set, otherwise $EDITOR, otherwise vi.', action='store_true')
parser.add_argument('-w', '--wildcard-version', help='Use wildcard to make the bbappend apply to any recipe version', action='store_true')
parser.add_argument('destlayer', help='Base directory of the destination layer to write the bbappend to', type=layer)
parser.add_argument('target', help='Target recipe/provide to append')