diff options
author | Christopher Larson <chris_larson@mentor.com> | 2016-02-09 16:12:06 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-11 12:27:29 +0000 |
commit | 2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9 (patch) | |
tree | 8abd29f9d2d2fcc0056c6274ed6c7722e8829bef /scripts/lib | |
parent | c0f8be26f5a82b546e066511a405306f40bfe1a8 (diff) | |
download | openembedded-core-2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9.tar.gz openembedded-core-2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9.tar.bz2 openembedded-core-2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9.zip |
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/lib')
-rw-r--r-- | scripts/lib/recipetool/newappend.py | 14 |
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') |