[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Getting rid of update-alternative in cross toolchain packages



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?

1. https://bugs.launchpad.net/bugs/676454


Reply to: