[devel] сборка пакета, опирающаяся на свойства бранча
Vitaly Lipatov
lav на altlinux.ru
Пт Ноя 20 22:20:43 MSK 2020
Mikhail Novosyolov писал 20.11.20 21:32:
...
> Да это то же самое
>
> %bcond_without foo
>
> %if %{with foo}
> <...>
> %endif
>
> Такая конструкция эквивалентна rpmbuild --with=foo (with и without
> реверсированы в %bcond_with(out)), можно при этом сделать rpmbuild
> --without=foo для отключения foo.
>
> В пакете branding-configs / distro-release задается глобальный для
> "бранча" список переключалок:
> %bcond_without selinux
> %bcond_with foo
> и т.д.
> Далее в спеках можно подтягивать эти глобальные значения.
Ага...
> Как я понимаю, это именно то, что Вы описали для vulkan. Приведет к
> тому, что лет через 5 будет огромный список таких глобальных
> переключалок, подавляющее большинство которых не нужно будет для
> актуальных бранчей, но они будут тянуться годами, на весь репозиторий
> будет полтора пакета, их использующих, в большинстве из которых они
> будут и не нужны к тому времени. А еще будет сложный процесс
> согласования добавления переключалок, скорее всего.
Спасибо за опыт. У меня тоже опыт поддержки таких штук.
Устраивать это надо иначе:
в условном rpm-macros-branch-config для _старых_ бранчей отключается то,
что там не поддерживается. Таким образом эти настройки потом умирают
вместе с бранчем.
Да, будет требоваться обновлять в поддерживаемых бранчах этот пакет при
появлении чего-то в Сизифе, что требует условной сборки.
Например, я бы хотел для p8/c8:
# отсутствие ffmpeg
%def_without ffmpeg
# отсутствие vulkan и использующих его библиотек
%def_without vulkan
# отсутствие faudio
%def_without faudio
То есть это не свойство бранча, а ретроспективный сожалеющий взгляд на
то, чего там нет.
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel