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

Dmitry V. Levin ldv на altlinux.org
Пн Дек 2 12:19:17 MSK 2019


On Mon, Dec 02, 2019 at 10:20:40AM +0300, Paul Wolneykien wrote:
> В Mon, 2 Dec 2019 01:31:51 +0300, Dmitry V. Levin пишет:
> > On Mon, Dec 02, 2019 at 01:10:30AM +0300, Paul Wolneykien wrote:
> > > В Sun, 1 Dec 2019 14:46:28 +0300, Dmitry V. Levin пишет:  
> > > > On Sun, Dec 01, 2019 at 11:25:08AM +0000, manowar на altlinux.org wrote:  
> > > > > Воскресенье, 1 декабря 2019 г получено от Dmitry V. Levin:    
> > > > > > On Sun, Dec 01, 2019 at 07:30:51AM +0000, manowar на altlinux.org wrote:    
> > > > > > > Воскресенье, 1 декабря 2019 г получено от Dmitry V. Levin:
> > > > > > >   
> > > > > > > > On Sun, Dec 01, 2019 at 12:47:34AM +0300, Dmitry V. Levin
> > > > > > > > wrote:    
> > > > > > > > > Hi,
> > > > > > > > > 
> > > > > > > > > Кто сломал сборку всех этих пакетов?    
> > > > > > > > 
> > > > > > > > Очевидно, это был пакет nss-gost:
> > > > > > > > $ comm -12 <(rpmquery --provides -p
> > > > > > > > Sisyphus/files/x86_64/RPMS/libnss-3.47.0-alt1.x86_64.rpm
> > > > > > > > |sort) <(rpmquery --provides -p
> > > > > > > > Sisyphus/files/x86_64/RPMS/libnss-gost-3.47.0-alt1.gost1.2.x86_64.rpm
> > > > > > > > |sort) |wc -l 124
> > > > > > > > 
> > > > > > > > Альтернативные провайдеры являются источником ошибок, и
> > > > > > > > пакет nss-gost - очередное тому напоминание.    
> > > > > > > 
> > > > > > > Я убрал явное дублирование Provides. Полегчало?    
> > > > > > 
> > > > > > В libnss-gost ничего не изменилось:    
> > > > > 
> > > > > Тогда я не понимаю, какой именно Provides ломает сборку. Можно
> > > > > где-нибудь посмотреть полный лог сборки сломавшихся пакетов?    
> > > > 
> > > > Все они ломают сборку, там же библиотека, это пересечение должно
> > > > быть пустым. То, что находится в libnss-gost, не должно быть
> > > > libnss.
> > > > 
> > > > Это даже не вопрос сборки, достаточно попробовать установить
> > > > пакеты, которые нужны для сборочной среды.  
> > > 
> > >   Да, в самом деле, установка среды спотыкается на выборе
> > > libnss-gost-devel для pkgconfig(nss). Но эту проблему несложно
> > > обойти соответствующим изменением *.pc внутри libnss-gost-devel.
> > > Может быть проблема имеет больше одного решения, и не нужно
> > > избавляться от всех пересечений между libnss и libnss-gost?  
> > 

> > Вы делаете пакет с альтернативной реализацией той же самой библиотеки,
> > которая уже реализована в пакете libnss, с тем же soname, которое в
> > libnss, и всё ещё надеетесь, что это может работать?  Нет, конечно,
> > это не может работать.  Альтернативные реализации soname не работают,
> > apt выберет не ту библиотеку, которую надо пользователю.
> 
>   Подожди, у меня вот не сходятся как раз эти два факта:
> 
>     а) альтернативные реализации soname не работают и
>     б) apt выберет не ту библиотеку.
> 
>   Это же разные вещи.

Это одно и то же в том смысле, что из-за (б) мы фактически имеем (а).
Вот, полюбуйтесь:

$ echo libnss-gost |LC_COLLATE=C join -11 -22 -o2.1 - /beehive/stats/Sisyphus-x86_64/ufb-2 |wc -l
778
$ echo libnss |LC_COLLATE=C join -11 -22 -o2.1 - /beehive/stats/Sisyphus-x86_64/ufb-2 |wc -l
1392

> Я исходил из того, чтобы поддержка ГОСТ
> появлялась бы в Firefox (и других браузерах и программах, работающих
> через NSS) очень простым способом: пользователь устанавливает вместо
> штатной libnss пакет libnss-gost. (Сейчас патч для firefox просто
> микроскопический и я думаю что вполне можно включить его в основную
> версию пакета firefox.) Согласись, что это было бы проще и для
> пользователя, и для поддержки пакетов.
> 
>   И тут выясняется, что заменить одну библиотеку на другую можно --
> слинкованнная с ней программа продолжит работать, --- но нет гарантии,
> что apt выберет по умолчанию libnss, а не libnss-gost, так? Т.е.
> альтернативные реализации soname работают с программами, которые

В каждый момент времени работает только одна реализация soname.
При известной аккуратности реализации взаимозаменяемые, что позволяет,
например, обновлять библиотеки - это по сути замена одной реализации
на другую, более новую (или менее новую).

> используют данные библиотеки, но "не работают" с apt. Неужели
> действительно нет способа объяснить apt, что от него требуется?

apt можно сконфигурировать таким образом, чтобы он при прочих равных
выбирал libnss, а не libnss-gost, но тогда пользователям, которые захотят
поставить libnss-gost, придётся переконфигурировать apt, чтобы он выбирал
libnss-gost.

А если есть готовность конфигурировать apt, тогда лучше собирать это добро
в недавно созданный apt component под названием gostcrypto, там уже есть
openssh и openvpn.

Коллеги, расскажите, пожалуйста, как правильно собирать пакеты в gostcrypto.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20191202/78c82f08/attachment-0001.bin>


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