[devel] распознавание бранча -> %_priority_distbranch

Mikhail Novosyolov mikhailnov на altlinux.org
Пт Ноя 20 19:47:43 MSK 2020


20.11.2020 19:26, Vitaly Lipatov пишет:
> Dmitry V. Levin писал 20.11.20 18:20:
> ...
>>> Ну и в продолжение темы - может быть сделать общесистемный конфиг в
>>> отдельном пакете, в котором будет собственно этот самый branch в том или
>>> ином виде, таким образом, что бы его можно было распознавать и
>>> использовать в спеках.
>>
>> Тогда этот пакет должен быть первым, который собирается в новый бранч.
>> Сейчас таким пакетом является altlinux-release-$branch.
> И %_distro_version, от которого обсуждение пошло в эту сторону, предоставляется rpm-build-intro и заполняется по информации от distro_info, получаемой из /etc/altlinux-release, находящегося в altlinux-release-$branch.
>
> Но тогда уж надо обсуждать, почему rpm-build не может нам гарантировать присутствие пригодной для сравнения информации о бранче.
>
> Конечно, конструкции вида
> %if 0%{?fedora} && 0%{?fedora} < 19
>  --vendor="fedora"    \
> %endif
>
> выглядят развесисто. Но у них есть простой макрос fedora с версией.
>
> И на самом деле важна не версия. А важна определённая фича, которая есть в бранче или нет.
> Например, вместо
> %if %_vendor == "alt" && (%_distro_version == "p9" || %_distro_version == "Sisyphus")
> BuildRequires: libvulkan-devel
> %endif
>
> Я бы хотел писать
> %if_have vulkan
> BuildRequires: libvulkan-devel
> %endif
>
> а не гадать, в каком же бранче есть vulkan, а в каком ещё нет.

Опыт другого дистрибутива показывает, что про эти фичи - переключалки типа %bcond_with vulkan на весь репозиторий - никто не помнит и не использует.

vulkan теперь будет везде, точно ли есть смысл рождать переключалку ради рудимента - отсутствия vulkan в древних бранчах?



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