[devel] vala policy?

Alexey Shabalin a.shabalin на gmail.com
Пт Мар 16 23:27:55 MSK 2012


16 марта 2012 г. 22:56 пользователь Alexander Bokovoy написал:
> 2012/3/16 Dmitry V. Levin <ldv на altlinux.org>:
>> On Fri, Mar 16, 2012 at 07:39:11PM +0400, Yuri N. Sedunov wrote:
>>> В Птн, 16/03/2012 в 19:20 +0400, Alexey Shabalin пишет:
>>> > 16 марта 2012 г. 18:45 пользователь Dmitry V. Levin написал:
>>>
>>> > Теперь для сборки многих пакетов от проекта Gnome, как правило нужны и
>>> > vapi файлы наравне с *.h и lib*.so.
>>> > Повторюсь, только для сборки.
>>> > Согласись, что не все *.h нужны для сборки конкретного пакета. Иногда
>>> > нужен только один из нескольких десятков.
>>> > Поэтому % не покажут всю картину.
>>> > Сейчас, я предполагаю (точных данных нет), около 20% devel-пакетов от
>>>
>>> Где-то около 1%, если быть чуть точнее.
>>
>> 20% и 1% это очень разные оценки.  Как можно получить более точную оценку?
>> У нас есть логи сборки всех пакетов, из которых видно, какие пакеты
>> устанавливались в сборочную среду.  Возможно, там есть информация о том,
>> использовались ли vapi-файлы во время сборки?
> Честно говоря, проблема не стоит выеденного яйца и вот почему.
>
> vapi-файлы обрабатываются только компилятором vala. Если какое-то
> приложение требует vapi-файлы для сборки, оно содержит в себе
> компоненты, написанные на Vala. Это значит, что у такого приложения в
> пакете всегда будет
>    BuildRequires: vala
> и он вытянет необходимую инфраструктуру для сборки.
>
> Поэтому добавлять в соответствующие libfoo-devel, содержащие
> vapi-файлы, обязательную зависимость на vala необходимости совсем нет.
> vapi-файлы могут спокойно лежать в этих libfoo-devel, а зависимость
> можно было бы добавить на пакет, содержащий каталог
> /usr/share/vala/vapi. Этот каталог можно было бы сделать принадлежащим
> какому-нибудь совсем общему пакету, vapi-common, требуемому и пакетом
> vala, по аналогии с emacs-common, например. Более того, эту
> зависимость можно было бы сделать автоматически вычисляемой -- при
> имеющейся инфраструктуре автоматического вычисления зависимостей это
> довольно просто. Фактически, все, что нужно -- это генерировать
>   Requires: vapi-common
> если встречается непустое содержимое /usr/share/vala/vapi в процессе
> установки. Ну и добавить
>   Provides: vapi(имя)
> для каждого vapi-файла.

мне кажется vapi-common - лишняя сущьность.

> Написание такого вычислителя зависимостей займет менее часа, а для его
> исполнения никакая vala не нужна.

Доброе утро :)
С 2011-06-03 существует rpm-build-vala, зависимости давно вычисляются.
$rpm -q --provides libgrilo-devel
pkgconfig(grilo-0.1) = 0.1.18
pkgconfig(grilo-net-0.1) = 0.1.18
vapi(grilo-0.1)
vapi(grilo-net-0.1)
libgrilo-devel = 0.1.18-alt1

> Нарезать на подпакеты можно, конечно, но особого смысла нарезки на
> пакеты из одного-двух файлов в данном случае я не только не вижу, но и
> не совсем понимаю чем это облегчит жизнь пользователей.

Я собственно и поднял вопрос о целесообразности нарезки.
Спасибо за поддержку.
Может к Вам Юра прислушается.

-- 
Alexey Shabalin


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