Metro Improvements

This is the approved revision of this page, as well as being the most recent.

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