| Summary: | Refactor wic codebase | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Ed Bartosh <eduard.bartosh> |
| Component: | Scripts and Tools | Assignee: | Ed Bartosh <eduard.bartosh> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Medium | CC: | bluelightning, ross.burton |
| Version: | unspecified | ||
| Target Milestone: | 2.3 M3 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | LET | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Ed Bartosh
2016-11-08 09:55:49 UTC
one more point from bug 10816: runner/exec code duplicates the other wrapping of subprocess done elsewhere in bitbake and oe-core This would be nice, trying to trace the flow for that other recent issue took longer than it might have :) It felt a bit more like a c++ or java codebase -- more OOP than is usually seen in pythonic code, which tends to be more pragmatic and multi-paradigm. one more area to lock at is configuration management. Code in conf.py and empty configuration file in config/wic.conf are very confusing. I think they should be removed. If we need this functionality we can implement it in much cleaner way. First set of changes has been sent for review: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132117.html flatten image class hierarchy: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132246.html Simplified interfaces of DirectPlugin and underlying set of APIs located in partitionedfs module. Removed one of two different structures for partitioning info: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132430.html Moved partition operations to PartitionedImage: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132558.html Removed msger in favor of logging. Improved error handling: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132782.html Refactored plugin system: http://lists.openembedded.org/pipermail/openembedded-core/2017-February/132854.html I'm going to resolve this bug when all above mentioned patchset are merged. However, there is still some work left on this area - make use of ArgumentParser: bug #9636 - refactor engine.py and help.py - replace plugin code that configures bootloaders with using configuration files (--configfile .wks option) - refactor source plugins - get rid of custom runner module in favor of using subprocess - move the rest of the code from utils/ subdirectory to lib/wic/utils.py I'm going to address this when I have time and put it here as a reminder and in a hope that other people want to join me with this. all patches have been merged to poky master |