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 нужно вычищать в безусловном порядке.