Не заменяет libfido2-1.14.0-alt1.x86_64, установленный например в дистрибутиве ALT Workstation K 11.1.1, обновлённом до sisyphus: # apt-get install libfido2_1 \ -o Debug::pkgProblemResolver=1 \ -o Debug::pkgRemoveDepends=1 \ -o Debug::pkgMarkInstall=1 \ -o Debug::pkgMark-shallow=1 > Чтение списков пакетов... > Построение дерева зависимостей... > set the pkg's mark to 'install' & the to-be-installed version to the candidate: libfido2_1 1.16.0-alt2:sisyphus+393717.300.2.1@1756709188 > the pkg isn't broken & is already marked for install: libfido2_1 1.16.0-alt2:sisyphus+393717.300.2.1@1756709188 > nothing more to do > Starting > Starting 2 > Done > Следующие НОВЫЕ пакеты будут установлены: > libfido2_1 > 0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено. > Необходимо получить 0B/85,8kB архивов. > После распаковки потребуется дополнительно 251kB дискового пространства. > Совершаем изменения... > Подготовка... ################################# [100%] > файл /usr/lib64/libfido2.so.1 из устанавливаемого пакета libfido2_1-1.16.0-alt2.x86_64 конфликтует с файлом из пакета libfido2-1.14.0-alt1.x86_64 > E: Ошибка во время исполнения транзакции
У пакета есть мантейнер? Этот баг ломает обновление с p11 на Sisyphus, а следовательно на p12 тоже.
libfido2-1.16.0-alt3 -> sisyphus: Tue Jan 20 2026 Anton Zhukharev <ancieg@altlinux> 1.16.0-alt3 - Fix upgrading after 1.16.0-alt1 (ALT#56956).
Только, обсолетить нужно не %name , а libfido2, т.к. 1-й может поменяться и фикс отедет, а 2-й нет.
(In reply to Sergey V Turchin from comment #3) > Только, обсолетить нужно не %name , а libfido2, т.к. 1-й может поменяться и > фикс отедет, а 2-й нет. Здесь 2 в конце относится к имени стандарта - FIDO2. 3 будет при появлении стандарта FIDO3 и это будет уже совсем другая история. Пока менять %name на libfido2 не буду.
(Ответ для Anton Zhukharev на комментарий #4) > Здесь 2 в конце относится к имени стандарта - FIDO2. > 3 будет при появлении стандарта FIDO3 и это будет уже совсем другая история. Когда будет другая история, эти 2 строки с Provides/Obsoletes будет _необходимо_ убрать. > Пока менять %name на libfido2 не буду. Т.е. ничего не понял. Меняй.
(In reply to Sergey V Turchin from comment #5) > (Ответ для Anton Zhukharev на комментарий #4) > > Здесь 2 в конце относится к имени стандарта - FIDO2. > > 3 будет при появлении стандарта FIDO3 и это будет уже совсем другая история. > Когда будет другая история, эти 2 строки с Provides/Obsoletes будет > _необходимо_ убрать. > > > Пока менять %name на libfido2 не буду. > Т.е. ничего не понял. Меняй. Я понял о чем речь, сегодня сделаю.
(Ответ для Anton Zhukharev на комментарий #6) > Я понял о чем речь, сегодня сделаю. ?
> Я понял о чем речь, сегодня сделаю. Ok
(In reply to Sergey V Turchin from comment #7) > (Ответ для Anton Zhukharev на комментарий #6) > > Я понял о чем речь, сегодня сделаю. > ? Как я понимаю, речь о потенциальной поломке соместимости при обновлении и необходимостью вводить в репозиторий два разных libfido2.
(Ответ для Sergey V Turchin на комментарий #3) > Только, обсолетить нужно не %name , а libfido2, т.к. 1-й может поменяться и > фикс отедет, а 2-й нет.
Имя src.rpm может быть вообще любым. Хоть с потолка завтра возьмётся, если мантейнеру по любой причине понадобилось, но имена уже собранных ранее пакетов это не поменяет.
libfido2-1.16.0-alt4 -> sisyphus: Wed Jan 21 2026 Anton Zhukharev <ancieg@altlinux> 1.16.0-alt4 - Unbound library name and source package name (ALT#56956).
Ты сделал ровно то же самое.
(In reply to Sergey V Turchin from comment #13) > Ты сделал ровно то же самое. (In reply to Sergey V Turchin from comment #13) > Ты сделал ровно то же самое. Нет, я добавил макрос %libname, который равен libfido2 и используется для обозначения названия библиотеки, а не пакета. Когда случится разъез, то %libname останется тот же, но поменяется %name и %abiversion.
Created attachment 20536 [details] libfido2.spec.patch Вот, хотя бы так.
Я читал новый spec и увидел только "шило на мыло".
(Ответ для Sergey V Turchin на комментарий #16) > Я читал новый spec и увидел только "шило на мыло". Т.е. как не было привязки к обсолетящемуся пакету, так и нет.
(In reply to Sergey V Turchin from comment #15) > Created attachment 20536 [details] > libfido2.spec.patch > > Вот, хотя бы так. А зачем мне это в спеке нужно будет, когда изменится %abiversion? Я бы предпочел просто удалить две эти строки после такого обновления. (In reply to Sergey V Turchin from comment #17) > (Ответ для Sergey V Turchin на комментарий #16) > > Я читал новый spec и увидел только "шило на мыло". > Т.е. как не было привязки к обсолетящемуся пакету, так и нет. Я, конечно, ещё ни разу до этого не сталкивался с разрывом пакета на два по причине несовместимости + изменения SOVERSION, но не совсем понимаю о какой конкретно сейчас связи идёт речь. Обсолетится (заменяется) libfido2 < 1.16.0-alt4 (на libfido2_1). И обновление с p11 до sisyphus работает, начиная с -alt3 - я лично проверил: пакет libfido2 при обновлении заменился на libfido2_1 (который точно также предоставляет зависимость libfido2, но другой версии). И при дальнейшем обновлении это все работать будет, так как libfido2_1 предоставляет libfido2, у которого версия растет и обсолетится более старая версия именно зависимости libfido2. А когда случится разрыв, то будет ситуация такая: появится, например, libfido2_2 (из исходного пакета libfido2), предоставляющий libfido2 = 2.0.0-alt1 и останется libfido2_1 (из исходного пакета, например, libfido2_1), предоставляющий libfido2 = 1.16.0-alt4. Тут же все хорошо - две (и даже более) одноименные зависимости с разными версиями спокойно существуют в репозитории. И apt будет пытаться выбирать по возможности наибольшую версию, даже если система с p11 до sisyphus обновляется. Что не так то? В общем я не понимаю что конкретно сейчас требуется.
(Ответ для Anton Zhukharev на комментарий #18) > А зачем мне это в спеке нужно будет, когда изменится %abiversion? Чтобы не забыть, раз уж сделал новый макрос, а не как я предлагал изначально. > Я бы предпочел просто удалить две эти строки после такого обновления. Тогда на кой было изгаляться? Это можно было сделать и раньше(в моём изначальном варианте), но теперь, когда, можно автоматом, это стало неразумно.
libfido2-1.16.0-alt5 -> sisyphus: Thu Jan 22 2026 Anton Zhukharev <ancieg@altlinux> 1.16.0-alt5 - Removed libfido2 obsoletion for future ABI version change (ALT#56956).
6 лишних символов было абсолютно бессмысленно добавлять(разве что, чтоб кого-то запутать), но ок.