Improvements to linaro-media-create

Registered by James Westby

linaro-media-create has frequent bugs due to not being very maintainable. This session will discuss ways to change the code to make it more maintainable and reliable. In addition there may be usability improvements that can be made at the same time.

Blueprint information

Status:
Complete
Approver:
Guilherme Salgado
Priority:
High
Drafter:
James Westby
Direction:
Approved
Assignee:
Guilherme Salgado
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Guilherme Salgado
Completed by
Guilherme Salgado

Related branches

Sprints

Whiteboard

[dmart]
An observation from my side (feel free to jettison, especially if this has already been discussed and fixes are already planned) :

Currently, we don't seem to have reproducible testing and can't guarantee the stability of releases, since the components required to deploy a release (rootfses, hwpacks and linaro-image-tools) are all released independently, with no checkpointing or synchronisation.

For reproducing old test failures, the current situation involves making an intelligent (i.e., unreliable) guess about which versions to combine.

Ideally, all these components should form a single released entity, and the user can choose which subcomponents they use from that release, but should not be encouraged to combine mismatched versions (at least, not by accident).

Work items for 11.05:
port create_boot_cmd to python: DONE
come up with a plan to make the new python functions accessible to the system l-m-c or the one in a dev tree: DONE
change debian packaging to install the new .py files: DONE
[martin-ohlson] port unpack_binary_tarball to python: DONE
port ensure_command to python: DONE
[martin-ohlson] port check_device to python: DONE
port install_hwpack to python: DONE
port cleanup_* to python: DONE
port create_partitions to python: DONE
port populate_boot to python: DONE
port populate_rootfs to python: DONE
port setup_sizes, calculatesize and get_device_by_id to python: DONE
port prepare_partitions: DONE
port command-line arg parsing to python: DONE
port the remaining shell code to python: DONE

move board-specific constants/functions to a single place: DONE
maybe merge related functionality from multiple python modules into a single one: DONE

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.