[devel] rpm-build 4.0.4-alt78+ RC
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Сен 25 02:24:40 MSD 2007
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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/20070925/b7b81402/attachment-0002.bin>
Подробная информация о списке рассылки Devel