On Thu, Apr 18, 2013 at 06:15:26PM +0100, Ian Jackson wrote: > Goswin von Brederlow writes ("Re: multiarch and interpreters/runtimes"): > > Co-installability of interpreters is generally not planed and would > > have to be made as custom solutions, i.e. place the interpreter in > > /usr/lib/x86_64-linux-gnu/perl/ and provide /usr/bin/perl as > > alternative. > > I think it's important to distinguish between (a) coinstallability of > interpreter executables for use in #!, or explicit invocation and > (b) coinstallability of the interpreter code as a library which can be > embedded in other applications. > > So for example, you are saying that coinstalling i386 and amd64 > versions of tclsh (which is normally found in /usr/bin) is not > generally planned. But coinstalling i386 and amd64 versions of > libtcl.so _is_ intended and supported by multiarch, and presumably > also of tcl extensions. > > Please correct me if I'm wrong.
You are fully correct there. Having dynamic libraries in /usr/lib/ coinstallable is a simple matter of moving them to the multiarch dir. The problem is indeed only the binary and its #! invocation. I'm not sure what the situation is for plugins with such interpreter libs. If the plugin is a libPlugin.so that is linked against libInterpreter.so then this should just work automatically like any library dependency with a simple Multiarch: same. If it is not linked a simple Depends should do. But don't nail me on it. A specific example might turn out to be more complex and need M-A: allow. So split second thought, suboptimal solution looks like this: Package: interpreter Architecture: any Depends: libinterpreter Multi-Arch: foreign Package: libinterpreter Architecture: any Multi-Arch: same Package: plugin (metapackage) Architecture: any Depends: interpreter, libplugin Multi-Arch: foreign Package: libplugin Architecture: any Depends: libinterpreter Multi-Arch: same Package: app-with-lib Architecture: any Depends: libinterpreter, libplugin Multi-Arch: foreign (optional) Package: app-with-script Architecture: any/all Depends: interpreter, plugin Multi-Arch: foreign (optional) Package: script Architecture: all Depends: interpreter Multi-Arch: foreign (optional) Note: This uses an extra package (plugin) to work around Multi-Arch: allowed not being allowed. > > Anyway, all of this has to wait till after wheezy. So get that out > > first. > > Right. Thanks for the explanation, anyway. > > Ian. MfG Goswin -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130418183535.GA16749@frosties