* [PATCH 1/6] wic: improved usage text
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
2015-08-03 13:51 ` [PATCH 2/6] wic: Improve 'wic help overview' content Ed Bartosh
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
Made command line specification less confusing.
Reformatted usage output.
[YOCTO #7938]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/lib/image/help.py | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/scripts/lib/image/help.py b/scripts/lib/image/help.py
index 0666d80..a14ef20 100644
--- a/scripts/lib/image/help.py
+++ b/scripts/lib/image/help.py
@@ -101,19 +101,17 @@ wic_usage = """
Create a customized OpenEmbedded image
- usage: wic [--version] [--help] COMMAND [ARGS]
+ usage: wic [--version] | [--help] | [COMMAND [ARGS]]
Current 'wic' commands are:
+ help Show help for command or one of the topics (see below)
create Create a new OpenEmbedded image
list List available values for options and image properties
Help topics:
- overview wic overview - General overview of wic
- plugins wic plugins - Overview and API
- kickstart wic kickstart - wic kickstart reference
-
- See 'wic help <COMMAND or HELP TOPIC>' for more information on a specific
- command or help topic.
+ overview wic overview - General overview of wic
+ plugins wic plugins - Overview and API
+ kickstart wic kickstart - wic kickstart reference
"""
wic_help_usage = """
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/6] wic: Improve 'wic help overview' content
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
2015-08-03 13:51 ` [PATCH 1/6] wic: improved usage text Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
2015-08-03 13:51 ` [PATCH 3/6] wic: Report recipe name for native commands Ed Bartosh
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
Included full console output and example of the .wks file
into the 'wic help overview' content.
Used qemux86-64 machine instead of crownbay to make example
working without cloning additional layers.
[YOCTO #7940]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/lib/image/help.py | 33 ++++++++++++++++++++++++---------
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/scripts/lib/image/help.py b/scripts/lib/image/help.py
index a14ef20..5fa5836 100644
--- a/scripts/lib/image/help.py
+++ b/scripts/lib/image/help.py
@@ -616,18 +616,33 @@ DESCRIPTION
and also uses the -o option to have wic create the output
somewhere other than the default /var/tmp/wic:
- $ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir
- /home/trz/yocto/build/tmp/work/crownbay/core-image-minimal/1.0-r0/rootfs
- --bootimg-dir /home/trz/yocto/build/tmp/sysroots/crownbay/usr/share
- --kernel-dir /home/trz/yocto/build/tmp/sysroots/crownbay/usr/src/kernel
- --native-sysroot /home/trz/yocto/build/tmp/sysroots/x86_64-linux
+ $ wic create ./test.wks -o ./out --rootfs-dir
+ tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs
+ --bootimg-dir tmp/sysroots/qemux86-64/usr/share
+ --kernel-dir tmp/deploy/images/qemux86-64
+ --native-sysroot tmp/sysroots/x86_64-linux
- Creating image(s)...
+ Creating image(s)...
- Info: The new image(s) can be found here:
- /home/trz/testwic/build/test-201309260032-sda.direct
+ Info: The new image(s) can be found here:
+ out/build/test-201507211313-sda.direct
+
+ The following build artifacts were used to create the image(s):
+ ROOTFS_DIR: tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs
+ BOOTIMG_DIR: tmp/sysroots/qemux86-64/usr/share
+ KERNEL_DIR: tmp/deploy/images/qemux86-64
+ NATIVE_SYSROOT: tmp/sysroots/x86_64-linux
+
+ The image(s) were created using OE kickstart file:
+ ./test.wks
+
+ Here is a content of test.wks:
+
+ part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024
+ part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024
+
+ bootloader --timeout=0 --append="rootwait rootfstype=ext3 video=vesafb vga=0x318 console=tty0"
- ...
Finally, here's an example of the actual partition language
commands used to generate the mkefidisk image i.e. these are the
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 3/6] wic: Report recipe name for native commands
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
2015-08-03 13:51 ` [PATCH 1/6] wic: improved usage text Ed Bartosh
2015-08-03 13:51 ` [PATCH 2/6] wic: Improve 'wic help overview' content Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
2015-08-03 13:51 ` [PATCH 4/6] wic: code cleanup: remove unused code Ed Bartosh
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
exec_native_cmd was modified to report recipe to build
native programs.
Pairs executable->recipe are hardcoded as it's not possible
to obtain this information automatically.
[YOCTO #7631]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/lib/wic/utils/oe/misc.py | 29 ++++++++++++++++++++++++++---
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index 4978745..af831d3 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -30,6 +30,21 @@ from collections import defaultdict
from wic import msger
from wic.utils import runner
+# executable -> recipe pairs for exec_native_cmd
+NATIVE_RECIPES = {"mcopy": "mtools",
+ "mkdosfs": "dosfstools",
+ "mkfs.btrfs": "btrfs-tools",
+ "mkfs.ext2": "e2fsprogs",
+ "mkfs.ext3": "e2fsprogs",
+ "mkfs.ext4": "e2fsprogs",
+ "mkfs.vfat": "dosfstools",
+ "mksquashfs": "squashfs-tools",
+ "mkswqp": "util-linux",
+ "parted": "parted",
+ "sgdisk": "gptfdisk",
+ "syslinux": "syslinux"
+ }
+
def __exec_cmd(cmd_and_args, as_shell=False, catch=3):
"""
Execute command, catching stderr, stdout
@@ -85,9 +100,17 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3):
rc, out = __exec_cmd(native_cmd_and_args, True, catch)
if rc == 127: # shell command-not-found
- msger.error("A native program %s required to build the image "
- "was not found (see details above). Please make sure "
- "it's installed and try again." % args[0])
+ prog = args[0]
+ msg = "A native program %s required to build the image "\
+ "was not found (see details above).\n\n" % prog
+ recipe = NATIVE_RECIPES.get(prog)
+ if recipe:
+ msg += "Please bake it with 'bitbake %s-native' "\
+ "and try again.\n" % recipe
+ else:
+ msg += "Wic failed to find a recipe to build native %s. Please "\
+ "file a bug against wic.\n" % prog
+ msger.error(msg)
if out:
msger.debug('"%s" output: %s' % (args[0], out))
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 4/6] wic: code cleanup: remove unused code
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
` (2 preceding siblings ...)
2015-08-03 13:51 ` [PATCH 3/6] wic: Report recipe name for native commands Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
2015-08-03 13:51 ` [PATCH 5/6] wic: code cleanup: pylint misc.py Ed Bartosh
2015-08-03 13:51 ` [PATCH 6/6] wic: release 0.2.0 Ed Bartosh
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
Removed unused global variable wks_vars and 2 unused functions
get_wks_var and add_wks_var.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/lib/wic/utils/oe/misc.py | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index af831d3..0fa8a53 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -120,17 +120,6 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3):
return (rc, out)
-# kickstart doesn't support variable substution in commands, so this
-# is our current simplistic scheme for supporting that
-
-wks_vars = dict()
-
-def get_wks_var(key):
- return wks_vars[key]
-
-def add_wks_var(key, val):
- wks_vars[key] = val
-
BOOTDD_EXTRA_SPACE = 16384
_BITBAKE_VARS = defaultdict(dict)
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 5/6] wic: code cleanup: pylint misc.py
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
` (3 preceding siblings ...)
2015-08-03 13:51 ` [PATCH 4/6] wic: code cleanup: remove unused code Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
2015-08-03 13:51 ` [PATCH 6/6] wic: release 0.2.0 Ed Bartosh
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
Fixed pylint warnings.
Increased pylint score from 8.02 to 9.40.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/lib/wic/utils/oe/misc.py | 40 +++++++++++++++++++++-------------------
1 file changed, 21 insertions(+), 19 deletions(-)
diff --git a/scripts/lib/wic/utils/oe/misc.py b/scripts/lib/wic/utils/oe/misc.py
index 0fa8a53..d399f2a 100644
--- a/scripts/lib/wic/utils/oe/misc.py
+++ b/scripts/lib/wic/utils/oe/misc.py
@@ -24,6 +24,7 @@
# AUTHORS
# Tom Zanussi <tom.zanussi (at] linux.intel.com>
#
+"""Miscellaneous functions."""
from collections import defaultdict
@@ -56,14 +57,14 @@ def __exec_cmd(cmd_and_args, as_shell=False, catch=3):
msger.debug(args)
if as_shell:
- rc, out = runner.runtool(cmd_and_args, catch)
+ ret, out = runner.runtool(cmd_and_args, catch)
else:
- rc, out = runner.runtool(args, catch)
+ ret, out = runner.runtool(args, catch)
out = out.strip()
msger.debug("__exec_cmd: output for %s (rc = %d): %s" % \
- (cmd_and_args, rc, out))
+ (cmd_and_args, ret, out))
- return (rc, out)
+ return (ret, out)
def exec_cmd(cmd_and_args, as_shell=False, catch=3):
@@ -72,10 +73,11 @@ def exec_cmd(cmd_and_args, as_shell=False, catch=3):
Exits if rc non-zero
"""
- rc, out = __exec_cmd(cmd_and_args, as_shell, catch)
+ ret, out = __exec_cmd(cmd_and_args, as_shell, catch)
- if rc != 0:
- msger.error("exec_cmd: %s returned '%s' instead of 0" % (cmd_and_args, rc))
+ if ret != 0:
+ msger.error("exec_cmd: %s returned '%s' instead of 0" % \
+ (cmd_and_args, ret))
return out
@@ -97,9 +99,9 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3):
args = cmd_and_args.split()
msger.debug(args)
- rc, out = __exec_cmd(native_cmd_and_args, True, catch)
+ ret, out = __exec_cmd(native_cmd_and_args, True, catch)
- if rc == 127: # shell command-not-found
+ if ret == 127: # shell command-not-found
prog = args[0]
msg = "A native program %s required to build the image "\
"was not found (see details above).\n\n" % prog
@@ -114,11 +116,11 @@ def exec_native_cmd(cmd_and_args, native_sysroot, catch=3):
if out:
msger.debug('"%s" output: %s' % (args[0], out))
- if rc != 0:
+ if ret != 0:
msger.error("exec_cmd: '%s' returned '%s' instead of 0" % \
- (cmd_and_args, rc))
+ (cmd_and_args, ret))
- return (rc, out)
+ return ret, out
BOOTDD_EXTRA_SPACE = 16384
@@ -137,10 +139,10 @@ def get_bitbake_var(var, image=None):
log_level = msger.get_loglevel()
msger.set_loglevel('normal')
- rc, lines = __exec_cmd(cmd)
+ ret, lines = __exec_cmd(cmd)
msger.set_loglevel(log_level)
- if rc:
+ if ret:
print "Couldn't get '%s' output." % cmd
print "Bitbake failed with error:\n%s\n" % lines
return
@@ -176,14 +178,14 @@ def parse_sourceparams(sourceparams):
params = sourceparams.split(',')
if params:
- for p in params:
- if not p:
+ for par in params:
+ if not par:
continue
- if not '=' in p:
- key = p
+ if not '=' in par:
+ key = par
val = None
else:
- key, val = p.split('=')
+ key, val = par.split('=')
params_dict[key] = val
return params_dict
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 6/6] wic: release 0.2.0
2015-08-03 13:51 [PATCH 0/6] wic: finalize 0.2.0 Ed Bartosh
` (4 preceding siblings ...)
2015-08-03 13:51 ` [PATCH 5/6] wic: code cleanup: pylint misc.py Ed Bartosh
@ 2015-08-03 13:51 ` Ed Bartosh
5 siblings, 0 replies; 7+ messages in thread
From: Ed Bartosh @ 2015-08-03 13:51 UTC (permalink / raw)
To: openembedded-core
Major changes in 0.2.0:
- implemented UUID support
- fixed support of GPT partition tables
- implemented running bitbake from wic
- implemented image compressing
- started testing with oe-selftest. implemented 17 test cases
- used native tools (parted, mkfs, mtools, etc)
- usability and documentation fixes
- code clenup
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/wic | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/wic b/scripts/wic
index 9435ce0..c1d3003 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -29,7 +29,7 @@
# Tom Zanussi <tom.zanussi (at] linux.intel.com>
#
-__version__ = "0.1.0"
+__version__ = "0.2.0"
# Python Standard Library modules
import os
--
2.1.4
^ permalink raw reply related [flat|nested] 7+ messages in thread