Some time ago I looked at cross toolchain packages to find how they handle installation of several versions at same time. It was done by using 'update-alternatives' tool and was broken. We fixed it during Ubuntu/Maverick cycle but "u-a" is still in use (just versions are used now to take care of priority so latest gcc is default one).
But this is different then native gcc which is selected by gcc-defaults package - /usr/bin/gcc is symlink to /usr/bin/gcc-DEFAULTVERSION (where DEFAULTVERSION value depends on architecture and distribution). Ok, we have gcc-defaults-armel-cross in Ubuntu but it takes care only of depending on default versions of cross toolchain components.
I filled a bug [1] about it and discussed it with Matthias Klose. The proper way would consists those steps:
- new cross packages will use "u-a remove" to get rid of old alternative stuff (in postinst and prerm) - new gcc-defaults-armel-cross package will provide /usr/bin/arm-linux-gnueabi-APP symlinks - new gcc-defaults-armel-cross will also conflicts with older versions of cross toolchain packages
Getting rid of symlinks was accepted during Emdebian sprint so such change will be done in gcc-4.[3456] source packages. gcc-defaults for other cross architectures then armel will need to be done for Emdebian.
What do you think about such plan?