Currently, Styrene uses a bunch of methods in styrene.bundle.NativeBundle to do this. Making each class of distributable output file a module that operates on a bundle tree is better: we may want to add new dist file types in future.
One obvious new type of output is #9's source code bundles. These would only use information in the bundle tree rather than the binary files in it. A source archive getter routine would need to iterate through the list of installed packages and attempt to get their code from the repository.