[devel] private provides
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Ноя 27 12:49:13 MSK 2007
On Tue, Nov 27, 2007 at 12:12:46PM +0300, Alexey Shabalin wrote:
> Тогда уточняю проблему. Взаимного уничтожения не происходит. Requires
> выставляются, а Provides не ищутся. надо специально выставлять
> skip_requires?
Взаимного уничтожения между подпакетами действительно не происходит.
Взаимное уничтожение пока реализовано только в пределах одного
подпакета.
> В 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
> ^^^^^^^^^^^^^^^^^^^^^^^
Requires обнаруживается в другом подпакете. :( Советую Вам пока ничего
не делать (или же пока заняться перераспилом *-sharp пакетов, если Вы к
этому причастны).
На самом деле это общая проблема -- т.н. private provides, которую мы
недавно обсуждали в частной переписке с avm и ldv. В двух словах,
в ряде случаев нежелательно предоставлять некоторые provides в
репозитарии, но нужно каким-то образом разрешать requires на эти
зависимости в пределах подпакетов.
avm предложил ввести дополнительный [prviate] флаг который можно
приписывать к зависимостям в find-provides и find-requires, и хакнуть
librpm, чтобы он воспринимал этот "флаг" специальным образом. Это
решение не понравилось мне по разным причинам, прежде всего потому, что
это работает только в пределах одного подпакета, но даже не для всех
подпакетов, собранных из одного исходного пакета (в чём и состоит
проблема в данном случае).
Я в свою очередь предложил сводить зависимости на приватные библиотеки
к зависимостям на файлы. В некоторых случаях это работает совершенно
прозрачно и не дает неприятных побочных эффектов.
Я подумаю, можно ли это как-то сделать в rpm-build-mono. У меня сейчас
не совсем готово решение по сведению приватных зависимостей к
зависимостям на файлы, о котором я пишу, и я ещё немного сомневаюсь,
всё ли там "чисто" получается. Не знаю, можно ли будет захачить
rpm-build-mono без новой сборки rpm-build. Посмотрю.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20071127/d5640e7f/attachment-0002.bin>
Подробная информация о списке рассылки Devel