On Mon, 2 Dec 2019 01:31:51 +0300 Dmitry V. Levin wrote: > 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 либо удалить. На самом деле есть ещё два варианта: 3) Линковать libnss-gost статически там, где это нужно. (При этом нужно следить, чтоб зависимости нигде с libnss не пересекались.) 4) Использовать libnss-gost по-умолчанию вместо libnss. Последний вариант мне нравится больше всего: если бы наши дистрибутивы поддерживали gost из коробки, то это было бы просто киллер-фичей — как на рынке, так и в сообществе. И это касается не только libnss, а всего остального, где добавлена поддержка gost. Но, несмотря на проделанную нами огромную работу, gost из коробки есть только в ядре (спасибо vt!). Нужно и остальные проекты подтягивать. Best regards, Andrew Savchenko