aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-01-19 18:51:08 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-19 21:30:37 +0000
commit3695962ba4b685f304f1039978cec60d1b1712e3 (patch)
tree56c9f44db0b48e11d23f1a93cab6f6898ec558a0
parent8ea9a4c0422c9600cd33ec6e815ebcf2d0aad364 (diff)
downloadopenembedded-core-contrib-3695962ba4b685f304f1039978cec60d1b1712e3.tar.gz
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>
-rw-r--r--scripts/lib/wic/ksparser.py16
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)