[devel] pkg-config Requires.private - полчища саранчи и враги народа

Alexey Tourbin at на altlinux.ru
Ср Мар 2 13:43:53 UTC 2011


On Wed, Mar 02, 2011 at 08:50:34AM +0300, Yuri N. Sedunov wrote:
> В Вск, 27/02/2011 в 17:38 +0300, Alexey Tourbin пишет:
> > Новый план выхода из кризиса (реализован в 4.0.4-alt100.22):
> > 1) Оставлять в зависимостях только Requires, а Requires.private убрать.
> > 2) Продувать хедеры через /usr/bin/cpp и смотреть, какие ещё хедеры
> 
> Надуло:
> $ rpmq -R libgtk3vnc-devel
> libgtk3vnc = 0.4.3-alt2
> libgvnc-devel = 0.4.3-alt2
> /usr/include/gtk-vnc-1.0/vncgrabsequence.h  
> libgtk+2-devel  
> pkgconfig(gtk+-3.0) >= 3.0.0

Появилась неправильная зависимость на libgtk+2-devel?
Тут непросто автоматически выбрать между libgtk+2-devel и libgtk+3-devel.
Для получения cflags выполняется pkg-config %buildroot%_pkgconfigdir/*.pc,
шелл сортирует глоб, и по-видимому в cflags сначала идут флаги для gtk2,
а потом уже для gtk3.  Этот случай можно исправить, если сначала
обрабатывать запакованные .pc, а потом уже все остальные .pc в билруде
по глобу (чтобы сначала шли "запакованные" cflags).  Попробую сделать.

Заметил ещё что зависимость на libgtk+3-devel появится в
libavahi-ui-common-devel, не знаю правильно это или нет.
http://git.altlinux.org/beehive/logs/Sisyphus-x86_64/latest/success/avahi-0.6.28-alt6


Подробная информация о списке рассылки Devel