Bug 35195

Summary: Неудовлетворенные зависимости
Product: Branch p8 Reporter: hasculdr
Component: emacs24-X11Assignee: Andrey Cherepanov <cas>
Status: CLOSED WONTFIX QA Contact: qa-p8 <qa-p8>
Severity: normal    
Priority: P3 CC: grenka, imz, vseleznv
Version: не указана   
Hardware: all   
OS: Linux   
Bug Depends on: 35625, 35626    
Bug Blocks:    

Description hasculdr 2018-07-30 14:26:48 MSK
При выполнении
# apt-get install emacs24-X11
получаю
Следующие пакеты имеют неудовлетворенные зависимости:
  emacs24-X11: Для установки требует: emacs24-common (= 24.5-alt16)
E: Извините, `битые' пакеты

Если emacs24-common установить "вручную", emacs24-X11 (и *-gtk3, который мне и
был нужен) устанавливается.
PS. Графический интерфейс установки пакетов вообще зависает из-за такой
ситуации.
Comment 1 Ivan Zakharyaschev 2018-11-20 14:07:46 MSK
Очень похоже на проблему с новыми жёсткими зависимостями, конечно, но дело может быть и в другом. (Требуется проверить. Вероятно, у этого пакета ещё нет новых жёстких зависимостей...)
Comment 2 Vladimir D. Seleznev 2018-11-20 20:33:13 MSK
(In reply to comment #1)
> Очень похоже на проблему с новыми жёсткими зависимостями, конечно, но дело
> может быть и в другом. (Требуется проверить. Вероятно, у этого пакета ещё нет
> новых жёстких зависимостей...)

У этого пакета нет новых жёстких зависимостей.
Comment 3 Ivan Zakharyaschev 2018-11-20 20:38:47 MSK
Ну примерно понятно, как это происходит, и что бы я исправил в пакетах emacs??-*.

Хотя это можно считать ошибкой apt, но можно облегчить apt-у жизнь, поправив пакеты emacs??-*

Как это происходит:

$ hsh --ini --apt-config=/home/imz/.hasher/p8/apt.conf --without-stuff ~/hasher/
$ ~/hasher/aptbox/apt-get install emacs24-X11
...
MI2c: mark emacs24-X11
MI2c:  target emacs-X11-program
MI2c:   mark emacs25-X11-motif
MI2c:    target emacs25-X11
MI2c:     mark emacs25-X11
MI2c:      target emacs25-common
MI2c:       mark emacs25-common
MI2c:        target emacs-speedbar AMB
MI2c:        target emacs-tramp AMB
MI2c:        target emacs25-gnus
MI2c:         mark emacs25-gnus
MI2c:          delete emacs24-gnus
MI2c:        delete emacs24-common
MI2c:      delete emacs24-X11
...

Во-первых, я бы уж поставил Requires и Provides на emacs24-X11-program (с номером версии!).

Во-вторых, я бы убрал никому не нужные и вредные Provides (с не тем номером версии) из всех пакетов emacs??-*. Для чего это кто-то ставил?.. Наверное, по образцу Obsoletes: XXX Provides: XXX , чтобы новая версия заменяла у людей старую. Оставьте лучше только Obsoletes, если хотите.

Provides такой не нужен для работы apt-а AFAIU, а в таком случае только вреден. (Наверное, этот образец хорош, когда не хочется нарушать зависимые пакеты на старое имя, которым не важно, какой это пакет, но у нас таких не ожидается для emacs24-common: им либо именно эта версия нужна, либо у них напсано другое в Requires.)

Например:

> Обновлено Владимир Селезнев около 6 часа назад
> $ rpm -qR emacs24-X11
> emacs24-common = 24.5-alt16
> emacs-X11-program
^^^^^^^^^^^^^^^^
Уточнить!

> rpmlib(PayloadIsLzma)
> $ rpm -q --provides emacs24-common
> /usr/lib/emacs
> emacs-common = 24.5-alt16
> emacs21-common = 24.5-alt16

Убрать!

> emacs22-common = 24.5-alt16

Убрать!

> emacs23-common = 24.5-alt16

Убрать!

> emacs-ses = 24.5-alt16
> emacs-url = 24.5-alt16
> emacs24-common = 24.5-alt16

И убрать такие Provides из всех возможных emacs??-* во всех бранчах.
Comment 4 Ivan Zakharyaschev 2018-11-20 20:40:29 MSK
В чём рабость obsoletes я тоже не понимаю, кстати, если вся эта схема с номером версии в имени пакета была задумана именно для того, чтобы люди могли одновременно иметь несколько версий Emacs и пользоваться привычной им.

Obsoletes, получается, тоже надо ото всюду убрать.
Comment 5 Grigory Ustinov 2019-11-15 17:03:26 MSK
Данная проблема решена в p9, в p8 обновление такого ключего пакета как apt практически невозможно.