Bug 44102

Summary: Более читабельный текст ошибки от apt-get
Product: Sisyphus Reporter: serpiph <serpiph>
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: boyarsh, glebfm, imz, ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   

Description serpiph 2022-10-21 11:01:32 MSK
Было бы здорово, если apt-get писал в своих ошибках имя, эпоху и версию пакета так, чтобы этот текст можно было бы скопипастить в следующую команду апта. Например:

# apt-get install firmware-linux
...
файл /lib/firmware/qcom/LENOVO/21BX из устанавливаемого пакета
firmware-linux=20221017-alt1.noarch конфликтует с файлом из пакета
firmware-linux=20220902-alt1.noarch.

# apt-get firmware-linux=20220902-alt1.noarch- firmware-linux=20221017-alt1.noarch
...
Comment 1 Ivan Zakharyaschev 2022-10-25 09:46:42 MSK
Конфликты на уровне файлов может обнаружить только rpm, так что это скорее к нему пожелание, но само по себе звучит разумно, но технически не очень естественно. (Предложения по реализации welcome.)
Comment 2 serpiph 2022-10-25 10:12:27 MSK
Согласен, конфликты разбирает библиотека rpm. Предложение к выводу apt, чтобы он вместо 'name-version.arch' выдавал такое название, которое можно вставить в его же строку, чтобы руками разрулить проблему. Например 'name=version', если этого достаточно для идентификации конкретного пакета. Или 'name=epoch:version', если нужна ещё и эпоха. В качестве примера привёл вариант для firmware-linux.
Я попробую посмотреть код apt, где формируется текст этого сообщения, но, боюсь, изучение с нуля apt и rpm займёт много времени.