aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
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-20 17:07:13 +0000
commit50a3dc5b2de4f04efa7cf392b6703c2bcaf118ff (patch)
treef34a020923c551e07d8e14b72f9d3e4afdfff2cc /scripts
parent15ea18041419fe239b64b388e429020153bb28ed (diff)
downloadopenembedded-core-contrib-50a3dc5b2de4f04efa7cf392b6703c2bcaf118ff.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] (From OE-Core rev: 3695962ba4b685f304f1039978cec60d1b1712e3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-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)