[devel] [cyber] I: Sisyphus-20191130 x86_64 beehive_status: +14 -7 (727)

Alexey V. Vissarionov gremlin на altlinux.org
Пн Дек 2 10:50:12 MSK 2019


On 2019-12-02 14:34:34 +0700, Антон Мидюков wrote:

 >>> Вы делаете пакет с альтернативной реализацией той же самой
 >>> библиотеки, которая уже реализована в пакете libnss, с тем
 >>> же soname
 >>> apt выберет не ту библиотеку, которую надо пользователю.
 >> Подожди, у меня вот не сходятся как раз эти два факта:
 >> а) альтернативные реализации soname не работают и
 >> б) apt выберет не ту библиотеку.
 >> пользователь устанавливает вместо штатной libnss пакет
 >> libnss-gost. [...] Согласись, что это было бы проще и для
 >> пользователя, и для поддержки пакетов.
 >> И тут выясняется, что заменить одну библиотеку на другую
 >> можно -- слинкованнная с ней программа продолжит работать,
 >> --- но нет гарантии, что apt выберет по умолчанию libnss,
 >> а не libnss-gost, так? Т.е. альтернативные реализации soname
 >> работают с программами, которые используют данные библиотеки,
 >> но "не работают" с apt. Неужели действительно нет способа
 >> объяснить apt, что от него требуется?

2 PW: про apt с уверенностью сказать не могу, а RPM такое вполне
понимает.

 > А что, если собирать libnss-gost вместе с libnss из одного srpm?
 > Библиотеки класть в %_libdir/libnss/ и %_libdir/libnss-gost
 > А уже симлинки на библиотеки в %_libdir переключать через
 > альтернативы.
   ^^^^^^^^^^^^
Кто как, а я вообще не вижу смысла в этом поделии. Если очень надо,
лучше в каждом пакете сделать %package с соответствующим симлинком,
и пусть эти симлинки просто конфликтуют между собой. А где припрет,
там можно прибить гвоздями явное имя целевого файла, а не симлинка.

 > Правда не уверен, что так с библиотеками возможно.

Технически это возможно. Но сильно подозреваю, что админы, которым
придется с этим работать, тебя проклянут :-)


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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