Instant DIY Backports!
Yeah, you heard me. For the past two weeks I’ve been working in Ruby on Rails to write a easy to use frontend to Backports. Basically it’ll be a simple 5-box form where you fill in a package name, where to backport from, where to backport to, and optionally an e-mail address (so you can be notified when the build finishes. or if I get my tuition bill I’ll sell your e-mails to the deposed prince of nigeria). Then, the server automatically attempts to perform a backport and if it succeeds, you will get a APT repository where you can grab backported packages.
What is the practical impact of this? Well:
- Currently, I’d venture to saw a good 40% of Backports requests are packages that don’t even build to begin with, or are otherwise not valid. This system could help users determine what is a valid backport and what is not, and hence save Backports time and effort.
- Furthermore, it will catalog all backports in one easy to access location.
- People with slow computers don’t have to waste time building packages
- People who are console-shy don’t have to learn how to use prevu
- We save millions of tons of carbon dioxide emissions by not duplicating backports builds (err, maybe not)
- Got a backport that’s too risky to go into official repositories, but you want it personally? No problem! Build it on our servers and downlod the package.
As you can see from this list, it’ll be a welcome helper to the Backports developers and Ubuntu users alike. Right now the code is already fully functional and a few of you out there have done some closed beta testing of it. I’ve located a server to host this on and will bring it online for a public beta in the coming days. The UI is butt ugly though, so deal with it or start spamming me with CSS stylesheets.
For the future, there’s some features I’d like to implement on it:
- Ability to do multi-step backports, such as first backporting libtorrent, then backporting rtorrent based on newer libtorrent.
- More sorting/visualizing methods
- Effective purging algorithm for stale packages or builds.
- A Digg-like voting mechanism for deciding if a package is a good backport choice or not.