diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2016-01-19 18:51:08 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-01-19 21:30:37 +0000 |
commit | 3695962ba4b685f304f1039978cec60d1b1712e3 (patch) | |
tree | 56c9f44db0b48e11d23f1a93cab6f6898ec558a0 /scripts/lib/wic | |
parent | 8ea9a4c0422c9600cd33ec6e815ebcf2d0aad364 (diff) | |
download | openembedded-core-3695962ba4b685f304f1039978cec60d1b1712e3.tar.gz openembedded-core-3695962ba4b685f304f1039978cec60d1b1712e3.tar.bz2 openembedded-core-3695962ba4b685f304f1039978cec60d1b1712e3.zip |
wic: implement search of includes
Used custom argument type to implement search of include
.wks files in canned wks paths. Include files can be
specified either by full path or by name.
[YOCTO #8848]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/wic')
-rw-r--r-- | scripts/lib/wic/ksparser.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index c73a456766..3722799b51 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -25,11 +25,12 @@ # Ed Bartosh <ed.bartosh> (at] linux.intel.com> - +import os import shlex from argparse import ArgumentParser, ArgumentError, ArgumentTypeError from wic.partition import Partition +from wic.utils.misc import find_canned class KickStartError(Exception): pass @@ -78,6 +79,17 @@ def overheadtype(arg): return result +def cannedpathtype(arg): + """ + Custom type for ArgumentParser + Tries to find file in the list of canned wks paths + """ + scripts_path = os.path.abspath(os.path.dirname(__file__) + '../../..') + result = find_canned(scripts_path, arg) + if not result: + raise ArgumentTypeError("file not found: %s" % arg) + return result + class KickStart(object): def __init__(self, confpath): @@ -117,7 +129,7 @@ class KickStart(object): bootloader.add_argument('--source') include = subparsers.add_parser('include') - include.add_argument('path') + include.add_argument('path', type=cannedpathtype) self._parse(parser, confpath) |