Hi Olivier, > As a starting point, I've compiled a incomplete list of applications > that have a plugin system and where they install their plugins on my > ubuntu intrepid system: > > - rhythmbox: plugins in /usr/lib/rhythmbox/plugins/ > - bzr: plugins in /usr/share/pyshared/bzrlib/plugins/
/usr/share is for data files, bzr is doing it wrong. Consider for example SELinux which definately will not label those as executable by default. I'm pretty sure rpm complains as well about putting executable code there. Also, for multilib installs it will fail since there is no share64. > - banshee: extensions in /usr/lib/banshee-1/Extensions/ > - firefox: extensions in /usr/share/mozilla-extensions/ I have /usr/share/mozilla/extensions, /usr/lib/mozilla/extensions, and /usr/lib64/mozilla/extensions. All of them are empty except for an empty directory in two of them. I would still consider /usr/share wrong in this case. > - thunderbird: extensions in /usr/lib/thunderbird/extensions/ > - totem: plugins in /usr/lib/totem/plugins/ > - eclipse: plugins in /usr/lib/eclipse/plugins/ > Don't hesitate to complete this list or compare the same applications on > other distributions. Flumotion uses $(libdir)/flumotion/python for all its code. I think the recommended location is $(libdir)/... with some systems using a libexecdir (but most seem to have gone back to $(libdir), I think on fedora there is no 64-bit version of that dir) Our (Flumotion) sys.path hacks seem to work fine and allow running a Flumotion uninstalled even when flumotion is also installed on the system (a major no-no with moovida and one of my biggest pet peeves - why should I have to *remove* my stable system install just to hack on moovida ??) Thomas
