summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/plugins/imager
Commit message (Collapse)AuthorAgeFilesLines
* wic: raise WicError instead of ImageError and CreatorErrorEd Bartosh2017-03-041-3/+3
| | | | | | | | | | There is no need to raise special exceptions. Raising WicError should be enough. (From OE-Core rev: b952076cc9f458c3d5eb03e12dc3ec316a44804c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: raise WicError in wic pluginsEd Bartosh2017-03-041-4/+2
| | | | | | | | | Replaced sys.exit with raising WicError in wic plugins. (From OE-Core rev: 92e8c81c941597eb2b4b61d5c28833e4826888f8) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move errors moduleEd Bartosh2017-03-041-1/+1
| | | | | | | | | Moved from lib/wic/utils/ to lib/wic as this is a core module. (From OE-Core rev: 808c70b81de5c3cfc3dcb01f08213e2ea33b7252) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use wic logger in imager direct pluginEd Bartosh2017-03-041-40/+43
| | | | | | | | | Replaced msger with wic logger in the direct plugin. (From OE-Core rev: adeacb4e600b8438bd9db7e83a5cb4a118d186f3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: move creation of PartitionedImage to __init__Ed Bartosh2017-02-151-4/+4
| | | | | | | | | | Moved creation of PartitionedImage object from DirectPlugin.create method to init. It makes the code a bit more readable and logical. (From OE-Core rev: 9f225ef5620f2e47e762b2fd16fa5f8d6f1f60fd) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: move generation of part.realnum to PartitionedImageEd Bartosh2017-02-151-13/+13
| | | | | | | | | | | | | Moved the code that generates real partition numbers from DirectPlugin to PartitionedImage. The idea is to have all code that works with partitions in PartitionedImage class. (From OE-Core rev: dbd58b0b32288821d9dd5d1a3118cf7c6e8f098a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: add PartitionedImage.prepare methodEd Bartosh2017-02-151-13/+11
| | | | | | | | | | | | | Moved code that calls prepare method of Partition objects from DirectPlugin to PartitionedImage.prepare. The idea is to have all code that works with partitions in PartitionedImage class. (From OE-Core rev: 700aa424f0aa239cf4149eed4bfb1dc7d9677431) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: set bootloader.source in the __init__Ed Bartosh2017-02-151-6/+7
| | | | | | | | | | | Moved setting of bootloader source from do_create method to __init__ as it doesn't have anything to do with image creation. (From OE-Core rev: 361b890da1c7b24de0a62516545e4c164830081d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: move UUID generation to PartitionedImageEd Bartosh2017-02-151-12/+11
| | | | | | | | | | | | | | Moved code that generates partition UUIDs from DirectPlugin to PartitionedImage class as it's more logical to have it there. This allows the code to be reused by other imager plugins. Got rid of having yet another list of partitions in PartitionedImage. Reused the list passed from DirectPlugin. (From OE-Core rev: 20c70dd617d4abfff507e210610a58a9989f7c9b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: add 'realnum' attribute to partitionEd Bartosh2017-02-151-26/+20
| | | | | | | | | | | Replaced call of _get_part_num method with an attribute. This eliminates the need to call the method and loop over partitions every time we need to know realnum for partition. (From OE-Core rev: 96a26b6ddf22346dafa06b00816579439e98445f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: remove useless codeEd Bartosh2017-02-151-3/+1
| | | | | | | | | Removed catching CreatorError and raising it again. (From OE-Core rev: c17353c8ec9ecb52368e08dad999aafc9ac1b734) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: don't catch ImagerErrorEd Bartosh2017-02-151-4/+1
| | | | | | | | | | Don't transform ImagerError exception into warning. Let wic to catch it on the upper level. (From OE-Core rev: 0cc84c81dd4a776aa37c8d1bcdcc3fa3af78d1e4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: remove set_bootimg_dir setterEd Bartosh2017-02-151-9/+0
| | | | | | | | | | Removed java-like setter set_bootimg_dir. It's more pythonic to access public attributes directly. (From OE-Core rev: c2a6ca4883ea59e6492ad3b4aa0e9bc358b87fed) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move PartitionedImage class to direct.pyEd Bartosh2017-02-151-2/+276
| | | | | | | | | | | As PartitionedImage is only used in direct.py it makes sense to move it there. It's easier to maintain (and refactor) it this way. (From OE-Core rev: 2550622371f5c50857e5d58eabab01a1823c6fc3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move disk operations to PartitionImage classEd Bartosh2017-02-151-67/+30
| | | | | | | | | | | | | | | | | | | | | | | | Disk operations were spread over DirectPlugin, DiskImage and Image code making the code hard to understand. Renamed Image class to PartitionedImage. Removed DiskImage class. Moved disk operations to PartitionedImage. There was an implicit support for multiple disks: if different devices were specified in .wks file (e.g. --ondisk sda and --ondisk sdb), wic would theoretically generate multiple images. This is quite confusing option and the code supporting it was broken for a long time. The same effect (multiple output images) can be achieved in obvious and clear way - by using multiple .wks files. This functionality was removed. PartitionedImage works only with one image. This makes the code less complex and easier to maintain. (From OE-Core rev: 4dc9dbfc7fbc16d349a019e8973d50905cd28244) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: remove unused argument scripts_pathEd Bartosh2017-02-151-1/+1
| | | | | | | | | | | | | | There is no need to pass scripts_path from main wic module down the stack as it's not used there. Removed scripts_path argument from DirectPlugin class and wic_create function. (From OE-Core rev: f9f72c506befdff13260f37ded0beaea3aa30fad) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: remove unused importEd Bartosh2017-02-151-2/+1
| | | | | | | | | | Removed unused import of wic.errors module. (From OE-Core rev: 318ba1edfcf0cacf6adae7e1af625dcb43ec3881) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: remove unused plugin attributesEd Bartosh2017-02-151-4/+0
| | | | | | | | | | | Removed unused _disks, _disk_format and _disk_names attributes from DirectPlugin class. (From OE-Core rev: 178df49cf1674bfcf1cb7295d0494c3b23929d22) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use the same partition object in direct and partitionedfsEd Bartosh2017-02-151-8/+1
| | | | | | | | | | | | | | Partition attributes were copied to the dictionary in partitionedfs code, which makes the code hard to follow. Used partition object passed from direct.py module as is in partitionedfs. (From OE-Core rev: 97db24d34847a641868f9ee83aae56f9dd5e0a8a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: get rid of _get_parts getterEd Bartosh2017-02-151-28/+8
| | | | | | | | | | | | | | Replaced _get_parts getter with direct attribute access to self.parts Removed code that implicitly created partition if there are no partitions mentioned in .wks file (From OE-Core rev: 7ece57a80f4002d0d83dc322092e9178380ab509) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: flatten imager class hierarchyEd Bartosh2017-02-051-69/+39
| | | | | | | | | | | | | | | | | | | | | | | wic code is hard to follow due to deep and twiggy class inheritance tree. Flatten imager tree: wic -> wic_create -> Creator -> DirectPlugin -> DirectImageCreator to wic -> wic_create -> DirectPlugin by removing Creator class and creator module merging DirectImageCreator into DirectPlugin Changed APIs to use the same parameters names. Passed parsed command line options as an object down the stack. (From OE-Core rev: 1e28d512341ce470c7afb256a01e597ab87170ca) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct: fix creation of work directoryEd Bartosh2017-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | It was a typo in current code: mktemp was used instead of mkdtemp to create work directory. This is fixed by using mkdtemp. Create work directory as a subdirectory of output directory to make sure both are on the same partition to make moving of result image faster. This also fixes possible disk space issues as mkdtemp uses TMPDIR, TEMP or TMP environment variables to get default value of its 'dir' parameter. Those variables are usually pointing to /tmp, which is not the best location to create huge images. (From OE-Core rev: e6579b4e007ce89000c46c09917fbd3c72f18a73) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanupEd Bartosh2017-02-021-2/+1
| | | | | | | | | | | Fixed indentation, unused imports, trailing lines etc. [YOCTO #10619] (From OE-Core rev: 5fa7768bfb4b6d464c6a812822b0665f52e7bea4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: move oe/misc.py one level upEd Bartosh2017-02-021-1/+1
| | | | | | | | | | | | Flattened directory structure: moved wic/utils/oe/misc.py -> wic/utils/misc.py [YOCTO #10619] (From OE-Core rev: 392532a2748ff2e6412eeb79163662b5168611ce) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: renamd direct_plugin.py -> direct.pyEd Bartosh2017-02-021-0/+0
| | | | | | | | | | | | | As this files is located in plugins/imager subdirectory it's obvious that it's an imager plugin. Renamed to direct.py to be consistent with plugin naming scheme. [YOCTO #10619] (From OE-Core rev: d5db8c2ee91bdd51bfbb2ebf61aea8ff0378d512) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: simplified code of direct_pluginEd Bartosh2017-02-021-22/+2
| | | | | | | | | | | | Removed unused methods. Got rid of get_default_source_plugin and _full_name methods. [YOCTO #10619] (From OE-Core rev: c5706f71dee531557a6b1290665283b8637fff6e) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: pylinted direct_pluginEd Bartosh2017-02-021-15/+7
| | | | | | | | | | | | Fixed wrong continued indentation, unused import and trailing new line pyling warnings. [YOCTO #10619] (From OE-Core rev: e78762a4b52c31357ef29a5b93c53db7190fa4f2) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: improve naming in direct_plugin classesEd Bartosh2017-02-021-40/+22
| | | | | | | | | | | Synchronized attribure names in DirectImageCreator and DirectPlugin for better readability. Simplified code, removed unneeded global variable disk_methods. (From OE-Core rev: b87b9ef84791615636424a224f74386a4aa0c2fa) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: get rid of __rootfs_dir_to_dict methodEd Bartosh2017-02-021-16/+5
| | | | | | | | | | | | Replaced class method __rootfs_dir_to_dict with a list comprehension. [YOCTO #10619] (From OE-Core rev: 266fd31410771db4c06539f7368c196a6d03000a) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: moved content of direct.py to direct_pluginEd Bartosh2017-02-021-16/+380
| | | | | | | | | | | | | This move simplifies directory structure and makes further refactoring easier. The code from direct.py was used only in direct_plugin, so it's safe to move it there. [YOCTO #10619] (From OE-Core rev: a8f5ebb26183faa9af6eb72f4dabfcf83aa1e8d4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: direct_plugin: stop using config managerEd Bartosh2017-02-021-7/+15
| | | | | | | | | | | | | | | | | | | This is a preparation to removing conf.py and config/wic.conf from the codebase. Got rid of using configmgr global object in direct_plugin and direct modules. It was used to implicitly parse kickstart file and set couple of variables. Replaced usage of configmgr by passing parameters directly to the DirectImageCreator. [YOCTO #10619] (From OE-Core rev: 79191119de010acb107f9392a991108728858441) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: implement --bmap optionEd Bartosh2016-05-191-1/+2
| | | | | | | | | | | | This option enables generation of <image>.bmap file for the result image using native bmaptool. [YOCTO #9413] (From OE-Core rev: d64c7b37c40b052510419b4d6629b83319c833e4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix short variable namesEd Bartosh2015-09-031-2/+2
| | | | | | | | | | | | Made short variable names longer and more readable. Fixed pylint warnings "Invalid variable name" and "Invalid argument name". (From OE-Core rev: 872cb0d5d79b26f34e6b35d7be8870d245021be4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use optparse instead of cmdlnEd Bartosh2015-09-031-1/+1
| | | | | | | | | | | | | | | | | cmdln.py https://pypi.python.org/pypi/cmdln was used in creator.py to parse image plugin options and arguments. There is no need in such a sofisticated API to do this simple task. Standard option parser optparse.OptionParser can do it just fine. Modified Creator class to work with option parser. Removed cmdln.py from the wic codebase. (From OE-Core rev: 1e5220f74830b99cf8340a4f6977399b5cf49871) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: unused importsEd Bartosh2015-07-021-3/+1
| | | | | | | | | Fixed pylint warning unused-import (From OE-Core rev: e77fda5fb6cb0a35308e4620ca4602715a471fbe) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add new argument to direct pluginEd Bartosh2015-06-271-1/+3
| | | | | | | | | | Added 'compressor' argument to Direct plugin API to pass a name of compressor utility. (From OE-Core rev: 34c583274c2908351e3a84dd629302f1975f2f0d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add missing docstrings to plugin classesEd Bartosh2015-06-231-0/+9
| | | | | | | | | | | | Docstings from plugin classes are used as part of output of 'wic help plugins'. Adding them makes help page more informative. (From OE-Core rev: d4414b45c81ab539f75a7bb16fc6412c30dfc45f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: bad-classmethod-argumentEd Bartosh2015-06-231-3/+3
| | | | | | | | | | | | Fixed wrong name for the first argument in class methods. Pylint complains about the issue this way: Class method should have 'cls' as first argument (From OE-Core rev: cd7c72d6d5a5110173d0d3f60f2991b1dc30fc26) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: unused importsEd Bartosh2015-04-091-5/+0
| | | | | | | | | Fixed pylint warning 'Unused import' (From OE-Core rev: dfde8bdae3ae151ffed5777b920d24c774e5da2c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove special-case bootimg_dirTom Zanussi2014-10-301-12/+8
| | | | | | | | | | | | | | | | | | | | The first iterations of wic very shortsightedly catered to two specific use-cases and added special-purpose params for those cases so that they could be directly given their corresponding boot artifacts. (hdddir and staging_data_dir). As more use-cases are added, it becomes rather obvious that such a scheme doens't scale, and additionally causes confusion for plugin writers. This removes those special cases and states explicitly in the help text that plugins are responsible for locating their own boot artifacts. (From OE-Core rev: 6ba3eb5ff7c47aee6b3419fb3a348a634fe74ac9) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Rename /mic to /wicTom Zanussi2014-08-111-0/+102
As well as any other stray instances of mic in the codebase that can be removed. We don't really need to carry around legacy naming, and the history is in git. (From OE-Core rev: 598b120406dc1d2b7e377bd1ab6f0acbef034b22) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>