On Tue, Sep 25, 2007 at 02:01:14AM +0400, Alexey Tourbin wrote: > On Tue, Sep 25, 2007 at 01:30:02AM +0400, Dmitry V. Levin wrote: > > > 1) pkgconfiglib.req: это упомянуто в changelog'е. Зависимости *-devel > > > пакетов (c *.pc файлом) будут жестко цементироваться по (сборочной) > > > хост-среде (т.е. по хешеровскому чруту). Пока это скорее хорошо, > > > чем плохо: зависимости между *-devel пакетами не должны быть слишком > > > "виртуальными". А именно, например, -ldb-4 должно давать зависимость > > > на libdb4.4-devel, а не libdb4-devel. > > > > Зачем? В своё время я даже buildreq substitution rules реализовал для > > того, чтобы добиться обратного эффекта. Чем зависимость на libdb4.4-devel > > лучше зависимости на libdb4-devel? > > Приведи контр-пример, когда зависимость на lib%name-devel нежелательна, > а желателен ее "более виртуальный" аналог. > > Подвижность BuildRequires зависимостей нужна для того, чтобы осуществить > возможность as-is пересборки src.rpm пакета в "контрлируемо"-другой > среде. В частности, BuildRequires зависимость на libdb4-devel выражает > надежду, что данный src.rpm пакет удастся собрать с любым другим > libdb4.?-devel пакетом (вероятно, наиболее свежим). Да. > Когда пакет собрался, то надежды уступают место действительности. > Например, мы собирали пакет 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 можно считать заботой мантейнера. -- ldv