On Mon, Oct 01, 2007 at 02:03:59AM +0400, Dmitry V. Levin wrote: > On Sat, Sep 29, 2007 at 09:09:41PM +0400, Alexey Tourbin wrote: > > On Tue, Sep 25, 2007 at 02:24:40AM +0400, Dmitry V. Levin wrote: > > > > Когда пакет собрался, то надежды уступают место действительности. > > > > Например, мы собирали пакет libfoo.src.rpm. Одноименный пакет > > > > libfoo.i586.rpm получит реальную зависимость на libdb-4.4.so. > > > > Теперь встает вопрос, какую зависимость должен получить > > > > libfoo-devel.i586.rpm пакет, если у него в *.pc файле указано > > > > "-ldb-4". Я считаю, что эта зависимость должна быть конкретной: > > > > libdb4.4-devel. То есть соответствовать содержимому чрута, в котором > > > > что-то ещё слинковалось с libdb-4.4.so. > > > > > > Логично. Те немногие варианты, который в этой ситуации приводят к излишне > > > жёсткой зависимости -- это когда -ldb-4 находится в Libs.private (тогда и > > > libdb4-devel будет избыточным) или просто является лишней библиотекой, > > > которую вычищает --as-needed. Вероятно Libs.private лучше обрабатывать > > > только в случае если в пакет упаковывается соответствующая статическая > > > библиотека, а избыточный -ldb-4 можно считать заботой мантейнера. > > > > Что ж ты сразу не сказал что 'pkg-config --libs' подставляет библиотеки > > рекурсивно?! С учетом этого обстоятельства все эти рассуждения > > кардинально меняют смысл. "Схлопывать" транзитивные зависимости нельзя. > > > > Кстати вот > > http://lists.altlinux.org/pipermail/sisyphus/2003-December/031990.html > > С 'pkg-config --libs' приключилась какая-то странная история. > В январе 2004-го (pkg-config-0.15.0-alt3) рекурсия в нашем пакете была > выключена, > в апреле 2005-го (pkg-config-0.17) рекурсия была выключена upstream. > В pkg-config-0.18 рекурсия вновь вернулась, и новый мантейнер пакета, судя > по всему, этого не заметил. > > Я попробую снова выключить рекурсию в 'pkg-config --libs' и посмотрю, как > это повлияет на сборку. Выключил: http://git.altlinux.org/people/ldv/packages/?p=pkg-config.git;a=commit;h=v0.22-15-gd6c3b64 -- ldv