[devel] vala policy?
Alexander Bokovoy
ab на altlinux.org
Сб Мар 17 00:53:53 MSK 2012
2012/3/16 Alexey Shabalin <a.shabalin на gmail.com>:
>>>> > Теперь для сборки многих пакетов от проекта 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 - лишняя сущьность.
Возможно, что и не очень лишняя, особенно если апстрим все-таки
уговорят вынести vapi файлы в отдельный проект.
>> Написание такого вычислителя зависимостей займет менее часа, а для его
>> исполнения никакая 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
Тем более.
--
/ Alexander Bokovoy
Подробная информация о списке рассылки Devel