On Thu, 31 Mar 2011 14:15:44 +1100, Guido wrote:
Actually, to have the run-time linker find libMyGUI.OgrePlatform.so in %_libdir/MYGUI/, the package adds a file in /etc/ld.so.conf/. Rather pointless, because then it could be stored directly in %_libdir instead.
Sorry for not having noticed this thread until Bruno filed the ticket; MyGui is a multiplatform library that supports binary plugins, and the binary wrapper to the underlying 3d framework is implemented as a plugin as well (Ogre in this case); because of this i decided to create a private directory for MyGui plugins, while the main library libMyGUIEngine.so is under /usr/lib. Unfortunately there were no plugins available for the linux platform, or without legal issues, at the moment of packaging it. The plan was to have this libMyGUI.OgrePlatform.so in a separate subpackage, as well as other plugins while they were coming out.
So, it is planned to really hide this library (and its RPM dependenceis) in a future release?
While the directory may be private (and outside run-time linker's search path), this is not true anymore after extending ld.so.conf. Plus, the library within that directory is treated like a public library instead of a private plugin (backend/module). On F-14:
$ repoquery --whatrequires libMyGUI.OgrePlatform.so mygui-demos-0:3.0.0-0.4.2332svn.fc13.i686 mygui-tools-0:3.0.0-0.4.2332svn.fc13.i686
$ repoquery --whatprovides libMyGUI.OgrePlatform.so mygui-0:3.0.0-0.4.2332svn.fc13.i686
Currently, as it seems, the tools and demos in %_libdir/MYGUI/ subdirs for Tools and Demos are linked with it and create a direct dependency on _any_ libMyGUI.OgrePlatform.so found in ld.so's search path. I find this practice sort of questionable, since the library file name is unusual enough as to create a conflict in %_libdir and justify an own dir.