recipetool.newappend: add -e/--edit argument

(From OE-Core rev: 2bd518fe3a8cb0022a816a7d1ac8d9a3dedee6d9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Christopher Larson 2016-02-09 16:12:06 -07:00 committed by Richard Purdie
parent 252f97ec92
commit 6fab5fc1bb

View File

@ -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')