[devel] *.pc -devel
Alexey Tourbin
at на altlinux.ru
Чт Сен 20 02:22:21 MSD 2007
On Tue, Sep 18, 2007 at 02:44:39PM +0300, Michael Shigorin wrote:
> On Mon, Sep 17, 2007 at 09:36:31AM +0400, Alexey Tourbin wrote:
> > > > > ДАННОЕ ИЗМЕНЕНИЕ, и не одно оно, ОКОНЧАТЕЛЬНО ПЕРЕВОДИТ *.pc ФАЙЛЫ
> > > > > В СТАТУС "ДЛЯ *-devel ПАКЕТОВ". Уважаемые товарищи maintaner'ы!
> > > > > Кладите *.pc файл в *-devel подпакет, либо не пакуйте его вообще,
> > > > > до тех пор, пока он кому-нибудь не понадобится.
> > > > Вот это бы хорошо в sisyphus_check, для начала как warning.
> > > +1
> > Чево плюс один, берите и делайте.
>
> Тоже мне бином Ньютона. Заодно добавил tests/:
> http://git.altlinux.org/people/mike/packages/?p=sisyphus_check.git;a=commitdiff;h=560f46b205749c2963231330a32eb20c895f12f1
>
> PS: спасибо led@ за возвратное снимание меня с ручника
> по части теста на -devel. :)
Ох. Я наверное всё-таки поспешил сделать вывод, что все *.pc файлы
нужно вынести в -devel пакеты. Это не всегда решает проблему.
А проблема в неопределенной семантике pkgconfig зависимостей.
То есть там нет расслоения на BuildRequires, Requires: lib%name.so.0
и Requires: lib%name-devel. Я об этом писал.
То есть сейчас появляется искушение решить некоторый класс
псевдо-проблем, не до конца поняв суть дела.
Так что мне пока остается только, противореча самому себе,
предостерегать от псевдо-решений псевдо-проблем. Сначала нужно
хорошо подумать, если есть такая возможность.
Переформулирую критерий включений *.pc файлов в пакеты.
Файлы *.pc, как правило, должны входить в -devel пакеты.
Это соответствует превалирующей семантике lib%name-devel.
С другой стороны, pkgconfig зависимости иногда "снижаются"
вниз по топологии пакетов до уровня /usr/bin. Если *.pc файл находится
в таком не-devel пакете, то ТРЕБУЕТСЯ, чтобы зависимости этого *.pc
файла, в том числе транзитивные, не содержали каких-либо -devel пакетов.
*.pc файл без зависимостей заведомо удовлетворяет этому требованию.
Зависимости *.pc файлов можно подчистить вручную, если они
альтернативным образом хорошо обнаруживаются (при помощи find-requires).
Зависимости же с семантикой BuildRequires нужно вычищать в безусловном
порядке.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20070920/71f61348/attachment.bin
Подробная информация о списке рассылки Devel