[devel] I: SharedLibsPolicy update (libjxl update)
Vitaly Lipatov
lav на altlinux.ru
Ср Фев 28 00:17:37 MSK 2024
Anton Farygin писал(а) 23.2.24 12:56:
> Всем привет.
>
> Глядя на то, с каким трудом Юра собирал
> https://packages.altlinux.org/ru/sisyphus/srpms/libjxl/ я понял, что
> SharedLibsPolicy тяжела для осознания даже опытными ментейнерами с
> большим стажем.
>
> Дополнил SharedLibsPolicy двумя условиями, про выполнение которых часто
> забывают ментейнеры, делая ошибки сборки shared библиотек в отдельные
> подпакеты.
>
...
> Думаю что надо добить SharedLibsPolicy до стадии утверждённой политики
> и внести проверки на обязательное соответствие policy в сборочную
> систему.
Согласен, что для массово используемых (т.е. известных) библиотек это
просто необходимо, особенно когда они имеют внешних пользователей или
стали де факто частью Linux-системы.
Но я бы предложил обсудить применение требования policy не ко всем
библиотекам, а ко всем, имеющим больше 3 (т.е. много) пользователей
(пакетов) в репозитории.
Предполагаю, что существует много как бы внутренних библиотек,
упакованных в пакеты lib*, потому что таковы требования — выделять
библиотеки, даже если у них и нет отдельных пользователей. И для них
лишние сложности ни к чему.
Кстати говоря, у нас не все пакеты с библиотеками имеют префикс lib, а
мы уже хотим суффикс обязательный сделать. Например, вот zlib, bzlib.
Или в проверке на соответствие policy будет добавлен список исключений?
Также вот, например, libxxhash:
$ epm --short wd libxxhash
$ apt-cache whatdepends libxxhash
libxxhash-devel
telegram-desktop
texlive
stress-ng
rsync
rpcs3
radare2
python3-module-xxhash
lighttpd
kitty
flycast
dolphin-emu
borg
libblack_hole_solver1
Вроде бы пора добавлять версию? С другой стороны, мы долгое время
отличались от других систем, что они добавляли soname в название пакета,
а мы нет.
Кажется, что основной критерий — это то, возможно ли одновременное
существование актуальных приложений, требующих разные версии библиотек.
И если при наличии замкнутого репозитория долгое время удавалось это
обходить удалением пакетов, обновлением всех под новую версию (с
проблемами), то при наличии внешних пользователей к необходимости
присутствия в системе всех ожидаемых ими библиотек (а это может быть и
5-7 лет существования приложения) стоит отнестись серьёзнее.
Например, допускать одновременное существование в репозитории libssl1.1
и libssl3.
Или вот например правильно собрать libevent:
https://bugzilla.altlinux.org/47040
--
С уважением,
Виталий Липатов,
ALT Linux Team
Подробная информация о списке рассылки Devel