
Frederik Eaton
So, the whole point of wigwam, and a feature of toast, is to allow things to be installed in multiple different "roots" ("playpens" in wigwam). The idea is that you may want to install, say, a web server and a bunch of its dependencies in one root, so that it can be tested and deployed in a completely encapsulated and reliable manner. You may want to test it independently of different versions of the same things in other roots, or you may want to deploy it side-by-side with an older version on a front-end server so that it is possible to seamlessly switch between old and new versions. If all roots share a package database, then you end up having to give the things which are installed in those roots separate version numbers in order to keep the package registrations from overwriting each other.
I see. Gentoo has this sort of thing as well. I had thought that in such cases, GHC itself would be installed in the same "root" as this version of Cabal and the packages that you want to test, in which case, ghc-pkg would use a different package database. Is that not the case? BTW, Debian takes this a step further, with its use of chroot on its build servers, I believe. Conveniently for upstream authors and packagers, using chroot doesn't require altering all of the packages which you would want to test in such a way. peace, isaac