On Tue, Nov 27, 2007 at 12:49:13PM +0300, Alexey Tourbin wrote: > Взаимного уничтожения между подпакетами действительно не происходит. > Взаимное уничтожение пока реализовано только в пределах одного > подпакета. > > > В PROVIDES у beagle > > /usr/lib/beagle/libbeagleglue.so.0 > > pkgconfig(beagle-0.0) > > pkgconfig(beagle-daemon) > > pkgconfig(beagle-ui-0.0) > > beagle > > > > В PROVIDES у beagle-gui > > /usr/lib/beagle/libbeagleuiglue.so.0 > > beagle-gui > > > > НО !!! > > Вот REQUIRENAME для beagle: > > -- skip -- > > mono(ICSharpCode.SharpZipLib) = 2.84.0.0 > > mono(Images) = 0.0.0.0 - это в beagle-gui > > ^^^^^^^^^^^^^^^^^^^^^^^ Ситуация здесь очень плохая из-за того, что все эти *.dll файлы лежат в разных подкаталогах -- /usr/lib/beagle/Beagle.dll /usr/lib/beagle/Filters/Filters.dll /usr/lib/beagle/Backends/EvolutionBackends.dll Если бы они все лежали в одном каталоге, то можно было бы просто вместо зависимости mono(private_dll) писать зависимость на /этот/каталог/private.dll. Впрочем, в /usr/lib/rpm/mono.req уже есть один хак для beagle -- как раз из-за того, что в нём моновский код лежит в разных подкаталогах. Наверное, можно будет этот хак несколько обобщить.