Metro Improvements

Introduction

This page documents potential improvements to Metro.

Improvements

It would be helpful to move Metro away from being just a bunch of config files. Right now, the config files drive Metro. It would be better to focus on documenting the Python API, and then the config files become a means of populating the API with data, but direct python commands could always be executed instead. Then the config exists to populate the API with data.

API

Add data element

Add file

Specify template for arbitrary file in chroot (to make it easy to modify any file)

Chroot and execution API

Cleanup API

Packaging API

Get rid of multi-targets and replace with python API calls

Use API to create new metro front-end to replace ezbuild.sh

metro with real command-line arguments, like -m or --multi to enable multi-mode, -b or --build to specify build, etc.

Other Improvements

LiveCD support

Kernel build and Initramfs support (for testing as well as pre-built packages)

General pre-built package support

Sandbox support

Metro does not currently properly handle simultaneous snapshot creation