diff options
Diffstat (limited to 'scripts/lib')
| -rw-r--r-- | scripts/lib/wic/engine.py | 21 | ||||
| -rw-r--r-- | scripts/lib/wic/partition.py | 46 | ||||
| -rw-r--r-- | scripts/lib/wic/utils/misc.py | 6 | ||||
| -rw-r--r-- | scripts/lib/wic/utils/runner.py | 6 |
4 files changed, 36 insertions, 43 deletions
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index 2ccd5107f3..38a68ed340 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py | |||
| @@ -30,8 +30,8 @@ | |||
| 30 | 30 | ||
| 31 | import logging | 31 | import logging |
| 32 | import os | 32 | import os |
| 33 | import sys | ||
| 34 | 33 | ||
| 34 | from wic.errors import WicError | ||
| 35 | from wic.plugin import pluginmgr | 35 | from wic.plugin import pluginmgr |
| 36 | from wic.utils.misc import get_bitbake_var | 36 | from wic.utils.misc import get_bitbake_var |
| 37 | 37 | ||
| @@ -44,8 +44,7 @@ def verify_build_env(): | |||
| 44 | Returns True if it is, false otherwise | 44 | Returns True if it is, false otherwise |
| 45 | """ | 45 | """ |
| 46 | if not os.environ.get("BUILDDIR"): | 46 | if not os.environ.get("BUILDDIR"): |
| 47 | logger.error("BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)") | 47 | raise WicError("BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)") |
| 48 | sys.exit(1) | ||
| 49 | 48 | ||
| 50 | return True | 49 | return True |
| 51 | 50 | ||
| @@ -180,8 +179,7 @@ def wic_create(wks_file, rootfs_dir, bootimg_dir, kernel_dir, | |||
| 180 | try: | 179 | try: |
| 181 | oe_builddir = os.environ["BUILDDIR"] | 180 | oe_builddir = os.environ["BUILDDIR"] |
| 182 | except KeyError: | 181 | except KeyError: |
| 183 | logger.error("BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)") | 182 | raise WicError("BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)") |
| 184 | sys.exit(1) | ||
| 185 | 183 | ||
| 186 | if not os.path.exists(options.outdir): | 184 | if not os.path.exists(options.outdir): |
| 187 | os.makedirs(options.outdir) | 185 | os.makedirs(options.outdir) |
| @@ -189,8 +187,7 @@ def wic_create(wks_file, rootfs_dir, bootimg_dir, kernel_dir, | |||
| 189 | pname = 'direct' | 187 | pname = 'direct' |
| 190 | plugin_class = pluginmgr.get_plugins('imager').get(pname) | 188 | plugin_class = pluginmgr.get_plugins('imager').get(pname) |
| 191 | if not plugin_class: | 189 | if not plugin_class: |
| 192 | logger.error('Unknown plugin: %s', pname) | 190 | raise WicError('Unknown plugin: %s' % pname) |
| 193 | sys.exit(1) | ||
| 194 | 191 | ||
| 195 | plugin = plugin_class(wks_file, rootfs_dir, bootimg_dir, kernel_dir, | 192 | plugin = plugin_class(wks_file, rootfs_dir, bootimg_dir, kernel_dir, |
| 196 | native_sysroot, oe_builddir, options) | 193 | native_sysroot, oe_builddir, options) |
| @@ -217,11 +214,11 @@ def wic_list(args, scripts_path): | |||
| 217 | wks_file = args[0] | 214 | wks_file = args[0] |
| 218 | fullpath = find_canned_image(scripts_path, wks_file) | 215 | fullpath = find_canned_image(scripts_path, wks_file) |
| 219 | if not fullpath: | 216 | if not fullpath: |
| 220 | logger.error("No image named %s found, exiting. " | 217 | raise WicError("No image named %s found, exiting. " |
| 221 | "(Use 'wic list images' to list available images, or " | 218 | "(Use 'wic list images' to list available images, " |
| 222 | "specify a fully-qualified OE kickstart (.wks) " | 219 | "or specify a fully-qualified OE kickstart (.wks) " |
| 223 | "filename)\n", wks_file) | 220 | "filename)" % wks_file) |
| 224 | sys.exit(1) | 221 | |
| 225 | list_canned_image_help(scripts_path, fullpath) | 222 | list_canned_image_help(scripts_path, fullpath) |
| 226 | return True | 223 | return True |
| 227 | 224 | ||
diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index a68dc6fd6d..e100377933 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py | |||
| @@ -26,9 +26,9 @@ | |||
| 26 | 26 | ||
| 27 | import logging | 27 | import logging |
| 28 | import os | 28 | import os |
| 29 | import sys | ||
| 30 | import tempfile | 29 | import tempfile |
| 31 | 30 | ||
| 31 | from wic.errors import WicError | ||
| 32 | from wic.utils.misc import exec_cmd, exec_native_cmd, get_bitbake_var | 32 | from wic.utils.misc import exec_cmd, exec_native_cmd, get_bitbake_var |
| 33 | from wic.plugin import pluginmgr | 33 | from wic.plugin import pluginmgr |
| 34 | 34 | ||
| @@ -99,9 +99,9 @@ class Partition(): | |||
| 99 | if self.fixed_size: | 99 | if self.fixed_size: |
| 100 | rootfs_size = self.fixed_size | 100 | rootfs_size = self.fixed_size |
| 101 | if actual_rootfs_size > rootfs_size: | 101 | if actual_rootfs_size > rootfs_size: |
| 102 | logger.error("Actual rootfs size (%d kB) is larger than allowed size %d kB", | 102 | raise WicError("Actual rootfs size (%d kB) is larger than " |
| 103 | actual_rootfs_size, rootfs_size) | 103 | "allowed size %d kB" % |
| 104 | sys.exit(1) | 104 | (actual_rootfs_size, rootfs_size)) |
| 105 | else: | 105 | else: |
| 106 | extra_blocks = self.get_extra_block_count(actual_rootfs_size) | 106 | extra_blocks = self.get_extra_block_count(actual_rootfs_size) |
| 107 | if extra_blocks < self.extra_space: | 107 | if extra_blocks < self.extra_space: |
| @@ -132,10 +132,10 @@ class Partition(): | |||
| 132 | """ | 132 | """ |
| 133 | if not self.source: | 133 | if not self.source: |
| 134 | if not self.size and not self.fixed_size: | 134 | if not self.size and not self.fixed_size: |
| 135 | logger.error("The %s partition has a size of zero. Please " | 135 | raise WicError("The %s partition has a size of zero. Please " |
| 136 | "specify a non-zero --size/--fixed-size for that " | 136 | "specify a non-zero --size/--fixed-size for that " |
| 137 | "partition.", self.mountpoint) | 137 | "partition." % self.mountpoint) |
| 138 | sys.exit(1) | 138 | |
| 139 | if self.fstype and self.fstype == "swap": | 139 | if self.fstype and self.fstype == "swap": |
| 140 | self.prepare_swap_partition(cr_workdir, oe_builddir, | 140 | self.prepare_swap_partition(cr_workdir, oe_builddir, |
| 141 | native_sysroot) | 141 | native_sysroot) |
| @@ -157,12 +157,11 @@ class Partition(): | |||
| 157 | plugins = pluginmgr.get_source_plugins() | 157 | plugins = pluginmgr.get_source_plugins() |
| 158 | 158 | ||
| 159 | if self.source not in plugins: | 159 | if self.source not in plugins: |
| 160 | logger.error("The '%s' --source specified for %s doesn't exist.\n\t" | 160 | raise WicError("The '%s' --source specified for %s doesn't exist.\n\t" |
| 161 | "See 'wic list source-plugins' for a list of available" | 161 | "See 'wic list source-plugins' for a list of available" |
| 162 | " --sources.\n\tSee 'wic help source-plugins' for " | 162 | " --sources.\n\tSee 'wic help source-plugins' for " |
| 163 | "details on adding a new source plugin.", | 163 | "details on adding a new source plugin." % |
| 164 | self.source, self.mountpoint) | 164 | (self.source, self.mountpoint)) |
| 165 | sys.exit(1) | ||
| 166 | 165 | ||
| 167 | srcparams_dict = {} | 166 | srcparams_dict = {} |
| 168 | if self.sourceparams: | 167 | if self.sourceparams: |
| @@ -192,16 +191,14 @@ class Partition(): | |||
| 192 | # further processing required Partition.size to be an integer, make | 191 | # further processing required Partition.size to be an integer, make |
| 193 | # sure that it is one | 192 | # sure that it is one |
| 194 | if not isinstance(self.size, int): | 193 | if not isinstance(self.size, int): |
| 195 | logger.error("Partition %s internal size is not an integer. " | 194 | raise WicError("Partition %s internal size is not an integer. " |
| 196 | "This a bug in source plugin %s and needs to be fixed.", | 195 | "This a bug in source plugin %s and needs to be fixed." % |
| 197 | self.mountpoint, self.source) | 196 | (self.mountpoint, self.source)) |
| 198 | sys.exit(1) | ||
| 199 | 197 | ||
| 200 | if self.fixed_size and self.size > self.fixed_size: | 198 | if self.fixed_size and self.size > self.fixed_size: |
| 201 | logger.error("File system image of partition %s is larger (%d kB) " | 199 | raise WicError("File system image of partition %s is " |
| 202 | "than its allowed size %d kB", | 200 | "larger (%d kB) than its allowed size %d kB" % |
| 203 | self.mountpoint, self.size, self.fixed_size) | 201 | (self.mountpoint, self.size, self.fixed_size)) |
| 204 | sys.exit(1) | ||
| 205 | 202 | ||
| 206 | def prepare_rootfs_from_fs_image(self, cr_workdir, oe_builddir, | 203 | def prepare_rootfs_from_fs_image(self, cr_workdir, oe_builddir, |
| 207 | rootfs_dir): | 204 | rootfs_dir): |
| @@ -241,9 +238,8 @@ class Partition(): | |||
| 241 | os.remove(rootfs) | 238 | os.remove(rootfs) |
| 242 | 239 | ||
| 243 | if not self.fstype: | 240 | if not self.fstype: |
| 244 | logger.error("File system for partition %s not specified in kickstart, " | 241 | raise WicError("File system for partition %s not specified in " |
| 245 | "use --fstype option", self.mountpoint) | 242 | "kickstart, use --fstype option" % self.mountpoint) |
| 246 | sys.exit(1) | ||
| 247 | 243 | ||
| 248 | # Get rootfs size from bitbake variable if it's not set in .ks file | 244 | # Get rootfs size from bitbake variable if it's not set in .ks file |
| 249 | if not self.size: | 245 | if not self.size: |
diff --git a/scripts/lib/wic/utils/misc.py b/scripts/lib/wic/utils/misc.py index b7b835afbb..94fdab2669 100644 --- a/scripts/lib/wic/utils/misc.py +++ b/scripts/lib/wic/utils/misc.py | |||
| @@ -33,6 +33,7 @@ import re | |||
| 33 | from collections import defaultdict | 33 | from collections import defaultdict |
| 34 | from distutils import spawn | 34 | from distutils import spawn |
| 35 | 35 | ||
| 36 | from wic.errors import WicError | ||
| 36 | from wic.utils import runner | 37 | from wic.utils import runner |
| 37 | 38 | ||
| 38 | logger = logging.getLogger('wic') | 39 | logger = logging.getLogger('wic') |
| @@ -74,9 +75,8 @@ def _exec_cmd(cmd_and_args, as_shell=False, catch=3): | |||
| 74 | ret, out = runner.runtool(args, catch) | 75 | ret, out = runner.runtool(args, catch) |
| 75 | out = out.strip() | 76 | out = out.strip() |
| 76 | if ret != 0: | 77 | if ret != 0: |
| 77 | logger.error("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \ | 78 | raise WicError("_exec_cmd: %s returned '%s' instead of 0\noutput: %s" % \ |
| 78 | (cmd_and_args, ret, out)) | 79 | (cmd_and_args, ret, out)) |
| 79 | sys.exit(1) | ||
| 80 | 80 | ||
| 81 | logger.debug("_exec_cmd: output for %s (rc = %d): %s", | 81 | logger.debug("_exec_cmd: output for %s (rc = %d): %s", |
| 82 | cmd_and_args, ret, out) | 82 | cmd_and_args, ret, out) |
diff --git a/scripts/lib/wic/utils/runner.py b/scripts/lib/wic/utils/runner.py index d27dcc7afd..5ede1929a3 100644 --- a/scripts/lib/wic/utils/runner.py +++ b/scripts/lib/wic/utils/runner.py | |||
| @@ -18,7 +18,8 @@ | |||
| 18 | import logging | 18 | import logging |
| 19 | import os | 19 | import os |
| 20 | import subprocess | 20 | import subprocess |
| 21 | import sys | 21 | |
| 22 | from wic.errors import WicError | ||
| 22 | 23 | ||
| 23 | logger = logging.getLogger('wic') | 24 | logger = logging.getLogger('wic') |
| 24 | 25 | ||
| @@ -72,8 +73,7 @@ def runtool(cmdln_or_args, catch=1): | |||
| 72 | except OSError as err: | 73 | except OSError as err: |
| 73 | if err.errno == 2: | 74 | if err.errno == 2: |
| 74 | # [Errno 2] No such file or directory | 75 | # [Errno 2] No such file or directory |
| 75 | logger.error('Cannot run command: %s, lost dependency?', cmd) | 76 | raise WicError('Cannot run command: %s, lost dependency?' % cmd) |
| 76 | sys.exit(1) | ||
| 77 | else: | 77 | else: |
| 78 | raise # relay | 78 | raise # relay |
| 79 | finally: | 79 | finally: |
