[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