Bug 36421

Summary: apt-get install --reinstall не может переустановить установленный пакет при совпадении provides и conflicts или obsoletes и имени пакета
Product: Sisyphus Reporter: Aleksei Nikiforov <darktemplaralt>
Component: aptAssignee: Ivan Zakharyaschev <imz>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aen, boyarsh, glebfm, imz, lav, ldv, placeholder, rider, sotor
Version: unstable   
Hardware: all   
OS: Linux   

Description Aleksei Nikiforov 2019-03-26 10:59:31 MSK
Воспроизведение:
# apt-get install cups-filters
# apt-get install cups-filters --reinstall
На вопрос ответить "y".

Результат:
# apt-get install cups-filters --reinstall
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
0 будет обновлено, 0 новых установлено, 1 пакетов будет переустановлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/724kB архивов.
После распаковки потребуется дополнительно 0B дискового пространства.
Продолжить? [Y/n] y
        ghostscript-cups конфликтует с cups-filters-1.22.2-alt1.x86_64
        foomatic-filters конфликтует с cups-filters-1.22.2-alt1.x86_64
        ghostscript-cups конфликтует с (установлен) cups-filters-1.22.2-alt1.x86_64
        foomatic-filters конфликтует с (установлен) cups-filters-1.22.2-alt1.x86_64
E: Проверка группы транзакций не удалась


Ожидаемый результат:
Успешная переустановка пакета.


Поведение не консистентно. С одной стороны, такой пакет apt-get позволяет установить, с другой стороны, переустановка не возможна. С обновлением пакета проблем пока не замечал.

$ rpm -q --provides cups-filters
ghostscript-cups
foomatic-filters
cups-filters = 1.22.2-alt1:sisyphus+225163.100.1.1

$ rpm -q --conflicts cups-filters
cups < 1.6.1-alt1
ghostscript-cups
foomatic-filters


Происходит это, похоже, из-за совпадения записей provides и conflicts.

Аналогичные проблемы возникают при попытке переустановить следующие пакеты:
javapackages-tools
libzvbi
python-module-mysqlclient
qmmp1
systemd-sysvinit
firefox-esr
selinux-policy-alt

Вот более полный список их ошибок:
        ghostscript-cups конфликтует с cups-filters-1.22.2-alt1.x86_64
        foomatic-filters конфликтует с cups-filters-1.22.2-alt1.x86_64
        ghostscript-cups конфликтует с (установлен) cups-filters-1.22.2-alt1.x86_64
        foomatic-filters конфликтует с (установлен) cups-filters-1.22.2-alt1.x86_64
        jpackage-utils < 0:5.0.1 конфликтует с javapackages-tools-1:5.0.0-alt1_12jpp8.noarch
        jpackage-utils < 0:5.0.1 конфликтует с (установлен) javapackages-tools-1:5.0.0-alt1_12jpp8.noarch
        libzvbi is obsoleted by libzvbi-0.2.35-alt1.x86_64
        libzvbi is obsoleted by (установлен) libzvbi-0.2.35-alt1.x86_64
        python-module-MySQLdb конфликтует с python-module-mysqlclient-1.4.2.post1-alt1.x86_64
        python-module-MySQLdb конфликтует с (установлен) python-module-mysqlclient-1.4.2.post1-alt1.x86_64
        qmmp < 1:0.12.0-alt0.M80P.svn8288.1 конфликтует с qmmp1-1.2.6-alt1.x86_64
        qmmp < 1:0.12.0-alt0.M80P.svn8288.1 конфликтует с (установлен) qmmp1-1.2.6-alt1.x86_64
        SysVinit конфликтует с systemd-sysvinit-1:241-alt3.noarch
        SysVinit конфликтует с (установлен) systemd-sysvinit-1:241-alt3.noarch
        firefox конфликтует с firefox-esr-60.6.1-alt1.x86_64
        firefox конфликтует с (установлен) firefox-esr-60.6.1-alt1.x86_64
        selinux-policy-altlinux конфликтует с selinux-policy-alt-0.0.43-alt1.noarch
        selinux-policy-altlinux конфликтует с (установлен) selinux-policy-alt-0.0.43-alt1.noarch
Comment 1 Anton Farygin 2019-03-26 11:01:24 MSK
У меня есть ощущение, что раньше такой проблемы не было.
По крайней мере я иногда пользовался reinstall и не сталкивался с таким поведением.

Поправить cups-filters не сложно, но всё-таки для начала хотелось бы понять корректность поведения apt'а.
Comment 2 Anton Farygin 2019-04-19 07:44:05 MSK
Изменений нет.

# apt-get install --reinstall cups-filters
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
0 будет обновлено, 0 новых установлено, 1 пакетов будет переустановлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B/724kB архивов.
После распаковки потребуется дополнительно 0B дискового пространства.
Продолжить? [Y/n] 
        ghostscript-cups конфликтует с cups-filters-1.22.5-alt1.x86_64
        foomatic-filters конфликтует с cups-filters-1.22.5-alt1.x86_64
        ghostscript-cups конфликтует с (установлен) cups-filters-1.22.5-alt1.x86_64
        foomatic-filters конфликтует с (установлен) cups-filters-1.22.5-alt1.x86_64
E: Проверка группы транзакций не удалась