]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
recipetool.newappend: add -e/--edit argument
authorChristopher Larson <chris_larson@mentor.com>
Tue, 9 Feb 2016 23:12:06 +0000 (16:12 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 11 Feb 2016 12:27:29 +0000 (12:27 +0000)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
scripts/lib/recipetool/newappend.py

index f9b8d85ecf90602ba4ea170883ac6bb281caf7a6..5625a8ed529c610928283fdc4394e65d11e6d7a7 100644 (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')