=8<================================================================= файл /usr/share/gdb/python/gdb из устанавливаемого пакета gdb-8.2.50.20180917-alt1.x86_64 конфликтует с файлом из пакета gdb-7.9-alt4.x86_64 E: Ошибка во время исполнения транзакции E: Handler silently failed [1] 15619 exit 100 apt-get dist-upgrade =8<=================================================================
*** Bug 34858 has been marked as a duplicate of this bug. ***
файл /usr/share/gdb/python/gdb из устанавливаемого пакета gdb-8.2.50.20180917-alt2.x86_64 конфликтует с файлом из пакета gdb-7.9-alt3.x86_64
Для обхода этой ошибки нужно предпринять какие-то действия на стороне rpm/rpm-build.
Я так понимаю, это сюда же? https://bugzilla.altlinux.org/show_bug.cgi?id=31878
*** Bug 31878 has been marked as a duplicate of this bug. ***
Воспроизводится на rpm 4.13 и чинится средствами, которых в 2018 году не было. Проверка в контейнере Sisyphus (rpm 4.13.0.1-alt44): поставлен gdb 7.9-alt3 из архива p8 (там /usr/share/gdb/python/gdb — симлинк на …/python2.7/site-packages/gdb), затем apt-get install gdb (17.2.0.32.4f981313519-alt1, где это каталог): file /usr/share/gdb/python/gdb from install of gdb-17.2.0.32.4f981313519-alt1.x86_64 conflicts with file from package gdb-7.9-alt3.x86_64 E: Error while running transaction Обход из alt/gdb.spec:207-213 (%pre удаляет симлинк; добавлен в 8.2.50.20180917-alt3/alt4, задания 233277/233343, с пометкой "works for rpm-4.0.4, not for rpm-4.13") не срабатывает: проверка файловых конфликтов выполняется до %pre. Корень — #34619 в rpm; инструмент для таких случаев — %pretrans, появившийся в rpm-build 4.0.4.185 (#36628, https://www.altlinux.org/RPM/pretrans). Рецепт проверен на тестовом пакете (симлинк → каталог) на том же rpm 4.13: без %pretrans — тот же конфликт, с %pretrans обновление проходит и через rpm -Uvh, и через apt-get install. Примерная замена %pre в alt/gdb.spec:207-213 (на самом gdb не собирал): %pretrans -p <lua> -- gdb < 8.2.50.20180917-alt1 shipped a symlink here (ALT#35492) path = "%_datadir/gdb/python/gdb" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end Практическая значимость невелика — обновление с gdb 7.9 (2016–2018 гг.), но ошибка реальна и снимается шестью строками.