[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