MultiArch in APT
Summary: Enable APT (and through libapt also the upper stack applications like synaptics, software-center and co) to resolve dependencies according to the MultiArch Spec and therefore enable the user to install non-native packages without the need of a developer to publish biarch packages as a dependency hack.
- C++ programming
MultiArch has basically two big use cases:
- a user might want to install closed source applications (or even open source applications not yet ported to his native arch - which is maybe a bit unlikely in the i386/amd64 case but other cpus can operate with different opcodes as well) compiled for i386 but his distro is a native amd64 installation: This is so far "solved" by more or less working hacks like biarch, ia32-tools and the infamous lib32 and ia32 bulk libraries, but this "solution" is a maintainers nightmare and further more inflexible (to say the least).
- a developer might want to cross build for whatever reason (but mostly because native is to restricted in space/workpower to build from source) so he need a way to install the libraries in a clean way to link correctly against them which is again "solved" by a hacksaw method - in this case called dpkg- and apt-cross.
As you might know MultiArch was a release goal for both Debian "squeeze" and Ubuntu "lucid" but as important core infrastructure haven't implemented support for it so far at least for these releases the goal will be very likely missed/post-pruned (or is already).
APT is one of these tools missing (official) support for it. The goal of the proposal is therefore to enable APT (and his friends) to solve dependencies across architecture borders to get right of all the hacks in the longterm and to be again at a stage in which the user doesn't need to care about the dependency complexity behind his requests but just need to think about what to install next.
The only applier was accepted as GSoC student and did in his own eyes a reasonable job. The joint DebConf presentation of all GSoC involved people should give a good impression of what was achieved and what needs to be done in general and for this project in specific (I was as noted in my application not around, but Arthur Liu did the presentation for me based on my notes and slides). I recommend watching the record and have a deeper look at the slides: Google Summer of Code 2010 at Debian
The summary is that APT made a big step forward into supporting MultiArch as advertised. Still a lot is left to do and i will proceed in working on that, but as noted already in the application APT is only one part of the puzzle, so dpkg needs to get support for it, as well as other tools and packages of course… Take your pick and help squeezing MultiArch into wheezy!
A small summary of what was done in APT can be found in the squeeze transition request for APT, more detailed information can be found in my weekly report to my blog. If further questions are still unanswered please feel free to ask me directly or on the deity@ mailinglist for a tiny bit broader discussion.