Google Summer of Code/2013/Ideas/Catalyst

{{GSoCIdea Catalyst is Gentoo's stage building software which automates the building of Gentoo's release media. Unfortunately it's software base is in need of some major updating. A rewrite has been started a couple of times. The most recent catalyst rewrite branch will be the starting point for future work. Catalyst is written in a combination of python and bash, much like it's package manager portage. Problems with the original code include, not being installed to python's site-packages, poor code organization (growing pains), hard coded paths making changes difficult, not using what are now built-in python features and modules, etc.. An initial restructure has been done with some code split into smaller logical files/modules. Also some of the hard coded paths have been made configurable.
 * Catalyst|

Completion of code re-write

 * 1) Migrate more code to use python built-in's rather than it's own code.  ie: ConfigParser, argsparse,...
 * 2) Make more variables configurable, remove all remaining hard coded paths.
 * 3) Modularize the code further where it makes sense and reduce code duplication.
 * 4) Update or create docstrings for all functions and classes.
 * 5) Add more inline code comments to explain why something is done the way it is.
 * 6) Update portions of the code to match new features in portage, compression utilities, etc.
 * 7) Add more options for image types produced.
 * 8) Add more target types, like an arch testing target,...
 * 9) Separate out the command line code from the main operational api. This allows for the creation of alternate frontends or embedding catalyst's operation into other possible tasks.
 * 10) debug!, debug!, debug!

Documentation

 * 1) Produce user instruction documentation about how to create/use the different target types
 * 2) Instructions for image generation options.
 * 3) Instructions for user configurable variables and how they might affect what is produced.
 * 4) Document anything else that may come up.


 * [mailto:dolsen@gentoo.org Brian Dolbec ]
 * gentoo-catalyst mail list


 * Python
 * Bash
 * Git}}