I previously wrote about a possible “rebasing” of Foresight Linux on the Fedora platform. This conjecture was a bit premature it seems as I am completely wrong on this being a possibility 🙂 The best part about me being absolutely wrong on this is that there is still going to be benefits for Foresight and Fedora even without the rebase.
Foresight is toying with the idea of having a sub-project (completely separate from Foresight Linux base) that it has tentatively called ‘boots, a Fedora remix‘ (a play on Dora in Fedora for those of you with kids).
What would happen is that mirrorball, a tool from rPath that ‘sucks in’ repositories, would pull in a Fedora repository into a separate Foresight repository. From there, it is fully consumable by any product/project that is hosted on rBuilder Online from rPath. Conary really is one of the most innovative package managers on the planet and I’ve mentioned it once or twice before (never got around to part II on one of those though). The ability to fully suck in a RPM repository is already being done with CentOS and Scientific Linux on rBuilder Online…even Ubuntu is currently being done as well…so we have proof that it is totally possible. Once imported, Conary takes over the management of said packages.
So what does this give Foresight? A few things:
- Testing of packages in 2 communities
- Developer eyes/chatter in 2 communities
- The ability of Foresight to cherry pick packages from a large base
- Compare and contrast for packages from 2 different sources to track down bugs
So, as I said, I was wrong initially and I hope this clears up what Foresight plans to do. A sub-project will be started that imports the Fedora repository changing them from (rpm to Conary) allowing Foresight to both test and cherry pick packages from a larger base hopefully freeing up a bit more time for Foresight architects. Phew! What a mouthful, run-on-sentence that was!
Why Conary? How does this help Fedora?
I know some of you may be asking Why Conary? What does it have over RPM that Foresight should suck in a repositoroy and change it to Conary packages? The reason this is an absolute necessity is because the tools on which Foresight are built (rBuilder Online) works with Conary only…that means ISO generation and repository hosting are all mandated to be Conary based.
The other interesting part about this is that Conary blends version control with package management. It deals with changesets as packages. Imagine SVN…you have a local changeset that you’re working on and the version inside the SVN repository differs from that. You can then diff the state of your local copy to see how it differs from the remote copy. This allows you to see the changes you’ve made and allows you to see what code may be broken. Also, commits are numbered automagically so that you don’t have to worry about breaking things much because you can rollback to a previous known good state.
The same is true with Conary…you can rollback to previous known good states. You can also diff each changeset locally with the remote repository. Now imagine this with Fedora packages…if something is broken, chances are Foresight will find a fix for it much more quickly than someone in Fedora…a single command can diff the previously known good version with the broken version and find out the shortcoming. Or perhaps a known good verion in Foresight that isn’t Fedora based might be used to diff the Fedora RPM version and find out the differences in them. In all, it’s going to help developers track down problems faster. This helps Fedora…they now have a small number of Foresight developers who will be working with hundreds of popular Fedora RPMs looking to see if they work or are broken.
Most of the benefit will be measurable in Foresight because they’ll be able to use just about any package Fedora creates…but the Foresight community is FULL of very capable developers…guys that really know what they’re doing. If they can make this a collaborative effort Fedora will gain exceptionally smart developers as well…even if testing packages on a different platform, they’ll have eyeballs on these packages and if a fix is found or made for them they will definitely go upstream to Fedora.
Hopefully, this puts things right from my initial wrong. I don’t claim to be an insider for Foresight…I just know a lot of the people involved and ask questions a lot….I also pay attention to the developer mailing list. If you have any questions, please leave a comment and I’ll attempt to track down answers for them 😀