[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