From a48630b12afa733040953768f086c949796e8f2c Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Fri, 22 Apr 2016 12:31:59 +0300 Subject: wic: add --system-id wks option Added new option --system-id to wks parser. The option will be used to set partition system id. [YOCTO #9096] (From OE-Core rev: b9c56b1c95cd1d0fd809d257e0cd05a50c481bed) Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/lib/wic/ksparser.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'scripts/lib/wic/ksparser.py') diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index 8c3f80882c..10d0d7c115 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -92,6 +92,24 @@ def cannedpathtype(arg): raise ArgumentTypeError("file not found: %s" % arg) return result +def systemidtype(arg): + """ + Custom type for ArgumentParser + Checks if the argument sutisfies system id requirements, + i.e. if it's one byte long integer > 0 + """ + error = "Invalid system type: %s. must be hex "\ + "between 0x1 and 0xFF" % arg + try: + result = int(arg, 16) + except ValueError: + raise ArgumentTypeError(error) + + if result <= 0 or result > 0xff: + raise ArgumentTypeError(error) + + return arg + class KickStart(object): """"Kickstart parser implementation.""" @@ -121,6 +139,7 @@ class KickStart(object): part.add_argument('--size', type=sizetype, default=0) part.add_argument('--source') part.add_argument('--sourceparams') + part.add_argument('--system-id', type=systemidtype) part.add_argument('--use-uuid', action='store_true') part.add_argument('--uuid') -- cgit v1.2.3-54-g00ecf