Derived Distributions

The possibilities for creating derived distributions are immense, but a few simple examples can show some of the power of creating derived distributions.

The simplest example of a derived distribution is the 100% derived distribution. If you merely want control over deployment of an existing distribution, just shadow the distribution's release stage (//rel) into your own repository. You will end up with something like: /conary.rpath.com@rpl:devel//rel//conary.example.com@rpl:myrel (hence, //myrel). Then, whenever a group on //rel passes your acceptance tests, you shadow it onto //myrel.

Of course, if you need to, you can create shadows of //myrel for staged work, and you can then use clone to promote those shadows back to //myrel when you are done. Changes you make might include adding references to some unique troves from your own repository, or to shadows in your repository from other repositories.

You could create a private corporate distribution, with your repository inaccessible from outside, that contains your internally developed software, or third-party proprietary software to which you have sufficient license. (A source trove doesn't necessarily have to contain source files; it could contain an archive of binary files which are installed into the %(destdir)s.) You could create a distribution in which everything is identical to the parent, except that you have your own kernel with special patches that support hardware you use locally that is not yet integrated into the standard kernel, and it has two extra packages which provide user-space control for that hardware.

It is also possible to make significant changes. For example, Foresight Linux is built from the same development branch as rPath Linux, but about 20% of its troves are either specific to Foresight Linux or are shadows that are changed in some way in order to meet Foresight's different goals as a distribution; rPath Linux is meant to be very ``vanilla,'' with few patches relative to upstream packages and therefore easy to branch from, while Foresight Linux is intended to provide the latest innovations in GNOME desktop technology and optimize the rest of the distribution to support this role.