On Tue, May 16, 2006 at 02:11:08PM +0200, Olaf van der Spek wrote: > That's great. Could you tell me how to use those so that script A uses > python 2.3 and script B uses python 2.4 without modifying the scripts?
That's trivial. Create a wrapper that somehow decides which python version to run and launches the application using the right interpreter. Install the wrapper as /usr/bin/python instead of the current symlink and you're done. No kernel support, no dpkg support, no apt support is needed. However, you can take this idea further: provided you have multiarched binaries, you could create a small file system using FUSE that generates such a wrapper on-the-fly based on the requested file name, and you could mount this file system as /usr/bin. Voila. The _real_ difficulties for supporting multiarched binaries are: - Transitioning every single binary from /usr/bin to /usr/lib/$ARCH/bin. Looking at the current /usr/X11R6 transition this is less than trivial. There may be tricks like moving the old /usr/bin to /usr/lib/fallback_arch/bin before mounting the "wrapper" filesystem over /usr/bin, and redirect every writes to /usr/bin to /usr/lib/fallback_arch/bin; that may fool dpkg enough so package management continues to work during the transition. - Decide which version/architecture to run if the user requests /usr/bin/blah. With the FUSE approach this can be made a per-user decision if someone dares to go through all the implications of a setuid program seeing a different /usr/bin/foo than a non-setuid program. Gabor -- --------------------------------------------------------- MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences --------------------------------------------------------- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]