Bug 35562 - Не обновляет при наличии установленных старых библиотек с зависимостями на них в установленных пакетах
: Не обновляет при наличии установленных старых библиотек с зависимостями на ни...
Status: NEW
: Sisyphus
(All bugs in Sisyphus/apt)
: unstable
: all Linux
: P3 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2018-10-30 17:47 by
Modified: 2018-12-18 11:08 (History)


Attachments
10-dist-upgrade.txt (6.85 KB, text/plain)
2018-10-30 17:48, Sergey V Turchin
no flags Details
20-remove-libavformat57.txt (2.82 KB, text/plain)
2018-10-30 17:48, Sergey V Turchin
no flags Details
30-dist-upgrade.txt (979 bytes, text/plain)
2018-10-30 17:49, Sergey V Turchin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2018-10-30 17:47:19
Если в системе остались старые пакеты(больше нет в репозитории), которые
конфликтуют с новыми сборками, то обновление не происходит.
------- Comment #1 From 2018-10-30 17:48:24 -------
Created an attachment (id=7832) [details]
10-dist-upgrade.txt
------- Comment #2 From 2018-10-30 17:48:54 -------
Created an attachment (id=7833) [details]
20-remove-libavformat57.txt
------- Comment #3 From 2018-10-30 17:49:17 -------
Created an attachment (id=7834) [details]
30-dist-upgrade.txt
------- Comment #4 From 2018-10-31 11:19:04 -------
Это наверняка хорошенько всплывёт при обновлении с p8 до p9.
------- Comment #5 From 2018-10-31 11:22:19 -------
если в репозиторий положить те самые старые библиотеки, собранные в новом
окружении - то apt'у в значительной степени полегчает.
------- Comment #6 From 2018-10-31 11:25:27 -------
А если поднять приоритет целевому репозиторию?
------- Comment #7 From 2018-10-31 11:31:13 -------
А я всё мечтаю оторвать
http://git.altlinux.org/gears/a/apt.git?p=apt.git;a=commit;h=e2184306b28908f208869b791d1bb0550c659674
;-)
------- Comment #8 From 2018-10-31 11:32:49 -------
Попробуй apt/preferences настроить как здесь описано:

https://bugzilla.altlinux.org/show_bug.cgi?id=35529
------- Comment #9 From 2018-10-31 14:56:19 -------
(В ответ на комментарий №8)
> Попробуй apt/preferences
С Pin 1001 стало ещё хуже.
------- Comment #10 From 2018-10-31 14:58:31 -------
Если без apt/preferences было как 10-dist-upgrade.txt, то с Pin 1100 стало так
же, плюс предлагает даунгрейдить 4 пакета.
------- Comment #11 From 2018-10-31 15:06:58 -------
Я похоже тоже нарвался на эту же проблему на своём ноутбуке на свежем Sisyphus:

apt/preferences не помогают

# apt-get -o Debug::pkgProblemResolver=yes dist-upgrade 
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Starting
Starting 2
Investigating libavformat57
Package libavformat57 has broken dep on librtmp.so.0()(64bit)
  Considering librtmp 0 as a solution to libavformat57 4
  Re-Instated librtmp
  Added librtmp to the remove list
  Fixing libavformat57 via keep of librtmp
Investigating librtmp-debuginfo
Package librtmp-debuginfo has broken dep on
.sisyphus.215767.100.1.1-librtmp-2.4-alt2
  Considering librtmp 0 as a solution to librtmp-debuginfo 0
  Holding Back librtmp-debuginfo rather than change
.sisyphus.215767.100.1.1-librtmp-2.4-alt2
 Try to Re-Instate librtmp
Investigating gst-plugins-bad1.0
Package gst-plugins-bad1.0 has broken dep on librtmp.so.1()(64bit)
  Considering librtmp 0 as a solution to gst-plugins-bad1.0 8
  Holding Back gst-plugins-bad1.0 rather than change librtmp.so.1()(64bit)
Investigating gst-plugins-bad1.0-debuginfo
Package gst-plugins-bad1.0-debuginfo has broken dep on
.sisyphus.215767.200.1.1-gst-plugins-bad1.0-1.14.4-alt2
  Considering gst-plugins-bad1.0 8 as a solution to
gst-plugins-bad1.0-debuginfo 0
  Holding Back gst-plugins-bad1.0-debuginfo rather than change
.sisyphus.215767.200.1.1-gst-plugins-bad1.0-1.14.4-alt2
 Try to Re-Instate librtmp-debuginfo
 Try to Re-Instate gst-plugins-bad1.0
 Try to Re-Instate gst-plugins-bad1.0-debuginfo
Done
Завершено
Следующие пакеты будут СОХРАНЕНЫ:
  gst-plugins-bad1.0 gst-plugins-bad1.0-debuginfo librtmp librtmp-debuginfo
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 4 не будет
обновлено.
------- Comment #12 From 2018-10-31 15:07:42 -------
Помогает вот это:
# apt-get install librtmp
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  gst-plugins-bad1.0 gst-plugins-bad1.0-debuginfo librtmp-debuginfo
Следующие пакеты будут ОБНОВЛЕНЫ:
  gst-plugins-bad1.0 gst-plugins-bad1.0-debuginfo librtmp librtmp-debuginfo
Следующие пакеты будут УДАЛЕНЫ:
  libavdevice57 libavfilter6 libavformat57 libavformat57-debuginfo
4 будет обновлено, 0 новых установлено, 4 пакетов будет удалено и 0 не будет
обновлено.
Необходимо получить 0B/9862kB архивов.
После распаковки будет освобождено 26,5MB дискового пространства.
------- Comment #13 From 2018-10-31 15:09:34 -------
Могу попробовать apt без патча от Глеба, если его кто-то соберёт потестировать.
------- Comment #14 From 2018-10-31 15:11:26 -------
(In reply to comment #7)
> А я всё мечтаю оторвать
> http://git.altlinux.org/gears/a/apt.git?p=apt.git;a=commit;h=e2184306b28908f208869b791d1bb0550c659674
> ;-)

Ты думаешь, этот коммит там просто так, от нечего делать появился, что ли?
------- Comment #15 From 2018-10-31 15:28:23 -------
(В ответ на комментарий №14)
> Ты думаешь, этот коммит там просто так, от нечего делать появился, что ли?
Ты думаешь, я методом научного тыка выбрал этот коммит?
К сожалению кроме решения некоторых проблем он порождает новые.

P.S.
Вместо внесения костылей(не в обиду Глебу) для решения этой проблемы достаточно
одного распоряжения _одному_ сотруднику. Всё.
------- Comment #16 From 2018-10-31 15:30:47 -------
Серёг, не только Аристарх не следует Shared Libs Policy.
------- Comment #17 From 2018-10-31 15:31:50 -------
Конечно, имя Аристарх вымышленное и я его указал случайно.
------- Comment #18 From 2018-10-31 15:46:22 -------
(В ответ на комментарий №16)
> не следует Shared Libs Policy.
Да. ldv тоже был подписан и на Шрековские(имя вымышленное) недавние пляски с
пакетами.

Возможно, надежда на этот коммит, но он не решает проблему, а лишь изменяет ее.
------- Comment #19 From 2018-10-31 15:47:45 -------
(In reply to comment #7)
> А я всё мечтаю оторвать
> http://git.altlinux.org/gears/a/apt.git?p=apt.git;a=commit;h=e2184306b28908f208869b791d1bb0550c659674
> ;-)
(In reply to comment #15)
> (В ответ на комментарий №14)
> > Ты думаешь, этот коммит там просто так, от нечего делать появился, что ли?
> Ты думаешь, я методом научного тыка выбрал этот коммит?
> К сожалению кроме решения некоторых проблем он порождает новые.

Какие?  Я много лет слышу от тебя предположения о том, что этот коммит что-то
ломает, но не припомню доказательств.
Я ничего не имею против его откатывания, но только если он создаёт проблем
больше, чем решает.
------- Comment #20 From 2018-10-31 15:48:58 -------
Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?
------- Comment #21 From 2018-10-31 15:49:35 -------
(В ответ на комментарий №15)
> P.S.
> Вместо внесения костылей(не в обиду Глебу) для решения этой проблемы достаточно
> одного распоряжения _одному_ сотруднику. Всё.

Серега, ты  так пристально следишь за этим не названным сотрудником, что не
заметил, что  в приведенном выше примере сонейм сменился у librtmp.
------- Comment #22 From 2018-10-31 15:50:21 -------
(В ответ на комментарий №20)
> Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?

Я про комментарий №11
------- Comment #23 From 2018-10-31 15:53:12 -------
Кстати, Юра, спасибо - может быть следование librtmp shared libs policy и
помогло бы решению этой конкретно проблемы.
------- Comment #24 From 2018-10-31 15:56:12 -------
(В ответ на комментарий №16)
> не следует Shared Libs Policy.
Не-не-не! Тут не "неследование Shared Libs Policy", а "намеренное введение apt
в ступор".

С xorg там в этом плане всё нормально было, кстати.
------- Comment #25 From 2018-10-31 15:58:31 -------
(In reply to comment #20)
> Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?

Я считаю, что не может.
------- Comment #26 From 2018-10-31 16:01:29 -------
ну это мо(В ответ на комментарий №25)
> (In reply to comment #20)
> > Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?
> 
> Я считаю, что не может.

ну это можно легко проверить, достаточно кому-то заинтересованному собрать apt
без этого патча в task, я его установлю и скажу что получилось. Систему не
обновляю, готов помочь чем смогу.

Но наверное эту ситуацию можно воспроизвести на стендах, если обновить
дистрибутив с gst-plugins-bad0 до не очень свежего Sisyphus.
------- Comment #27 From 2018-10-31 16:05:57 -------
(В ответ на комментарий №21)
> Серега, ты  так пристально следишь за этим не названным сотрудником, что не
> заметил, что  в приведенном выше примере сонейм сменился у librtmp.
Я тебе больше скажу. Тот неназванный сотрудник фигурирует в _каждом_
dist-upgrade благодаря e2184306b28908f208869b791d1bb0550c659674. ;-)
------- Comment #28 From 2018-10-31 16:07:38 -------
(В ответ на комментарий №25)
> > Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?
> Я считаю, что не может.
Там может быть другое. Возможно, более раннее.
apt с какого-то момента перестал стремиться произвести обновление. Это я уже не
смогу найти.
------- Comment #29 From 2018-10-31 16:18:17 -------
(В ответ на комментарий №20)
> Глеб, ну вот эта проблема явно может быть создана твоим коммитом. Нет ?
Я проверил. e2184306b28908f208869b791d1bb0550c659674 на эту ситуацию не влияет.
------- Comment #30 From 2018-11-06 08:09:10 -------
По состоянию на 6.11 изменений в лучшую сторону нет:
# apt-get dist-upgrade      
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  ffmpeg ffplay ffprobe firmware-linux jq kernel-doc-un kernel-headers-un-def
libavcodec58 libavcodec58-debuginfo libavdevice58 libavfilter7 libavformat58
  libavformat58-debuginfo libavresample4 libavutil56 libavutil56-debuginfo
libgc libgit2 libgit2-debuginfo libjq libpostproc55 libswresample3
  libswresample3-debuginfo libswscale5 libswscale5-debuginfo libwacom
libwacom-data libwacom-debuginfo libwine p7zip pciids python-module-pycparser
  python-sphinx-objects.inv python3-module-pycparser
Следующие пакеты будут СОХРАНЕНЫ:
  gst-plugins-bad1.0 gst-plugins-bad1.0-debuginfo librtmp librtmp-debuginfo
34 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 4 не будет
обновлено.
Необходимо получить 0B/159MB архивов.
После распаковки потребуется дополнительно 20,4MB дискового пространства.
Продолжить? [Y/n

Кто-то собирается это исправлять ?
------- Comment #31 From 2018-12-18 07:49:30 -------
На 18.12:

# apt-get -o Debug::pkgProblemResolver="true" dist-upgrade 
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Starting
Starting 2
Investigating libavformat57
Package libavformat57 has broken dep on librtmp.so.0()(64bit)
  Considering librtmp 0 as a solution to libavformat57 2
  Re-Instated librtmp
  Added librtmp to the remove list
  Fixing libavformat57 via keep of librtmp
Investigating librtmp-debuginfo
Package librtmp-debuginfo has broken dep on
.sisyphus.215767.100.1.1-librtmp-2.4-alt2
  Considering librtmp 0 as a solution to librtmp-debuginfo 0
  Holding Back librtmp-debuginfo rather than change
.sisyphus.215767.100.1.1-librtmp-2.4-alt2
 Try to Re-Instate librtmp
Investigating gst-plugins-bad1.0
Package gst-plugins-bad1.0 has broken dep on librtmp.so.1()(64bit)
  Considering librtmp 0 as a solution to gst-plugins-bad1.0 8
  Holding Back gst-plugins-bad1.0 rather than change librtmp.so.1()(64bit)
Investigating gst-plugins-bad1.0-debuginfo
Package gst-plugins-bad1.0-debuginfo has broken dep on
.sisyphus.215767.200.1.1-gst-plugins-bad1.0-1.14.4-alt2
  Considering gst-plugins-bad1.0 8 as a solution to
gst-plugins-bad1.0-debuginfo 0
  Holding Back gst-plugins-bad1.0-debuginfo rather than change
.sisyphus.215767.200.1.1-gst-plugins-bad1.0-1.14.4-alt2
 Try to Re-Instate librtmp-debuginfo
 Try to Re-Instate gst-plugins-bad1.0
 Try to Re-Instate gst-plugins-bad1.0-debuginfo
Done
Завершено
Следующие пакеты будут СОХРАНЕНЫ:
  gst-plugins-bad1.0 gst-plugins-bad1.0-debuginfo librtmp librtmp-debuginfo
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 4 не будет
обновлено.
------- Comment #32 From 2018-12-18 07:59:44 -------
Не обновляет при наличии установленных старых библиотек с зависимостями на них
в установленных пакетах. При чём apt не учитывает, что в новых версиях  этих
пакетов старая библиотека уже не нужна.

Вот librtmp
Provides: 
2.4-alt2 - librtmp .sisyphus.215767.100.1.1-librtmp-2.4-alt2
librtmp.so.1()(64bit) 
2.4-alt1.1 - librtmp librtmp.so.0()(64bit)

Вот новый gst-plugins-bad1.0:
# rpm -qpR gst-plugins-bad1.0-1.14.4-alt2.x86_64.rpm |grep librtmp
librtmp.so.1()(64bit) >= set:kfdMMZLCM0GdXfYc6r7qfP2L5ScBKYxnrWGOdBng

# rpm -qR gst-plugins-bad|grep librtmp
пакет gst-plugins-bad не установлен
[root@riderbook ~]# rpm -qR gst-plugins-bad1.0|grep librtmp
librtmp.so.0()(64bit) >= set:kfdMMZLCM0GdXfYc6r7qfP2L5ScBKYxnrWGOdBng

А держат его:
# rpm -e librtmp
ошибка: Неудовлетворенные зависимости:
       librtmp.so.0()(64bit) >= set:kgdMUZDzCStc1WZDUPoItoXpmUpxdjFVtj нужен
для (установлен) libavformat57-2:3.3.6-alt4.x86_64
        librtmp.so.0()(64bit) >= set:kfdMMZLCM0GdXfYc6r7qfP2L5ScBKYxnrWGOdBng
нужен для (установлен) gst-plugins-bad1.0-1.14.4-alt1.x86_64
        librtmp = 2.4-alt1.1 нужен для (установлен)
librtmp-debuginfo-2.4-alt1.1.x86_64

apt каким-то образом должен догадаться что нужно снести libavformat57 и тогда
всё будет обновляться по идее.

Либо в репозитории должен быть librtmp.so.0
------- Comment #33 From 2018-12-18 10:48:21 -------
(В ответ на комментарий №32)
> Либо в репозитории должен быть librtmp.so.0
На это завязываться точно неправильно.

> apt каким-то образом должен догадаться что нужно снести libavformat57 и тогда
> всё будет обновляться по идее.
Он вообще с какого-то времени(давно) перестал стремиться делать именно это.
Т.е. перестал стремиться обновить с выносом пакетов.

Возможно, есть смысл снижать вес пакета, если его нет в репозитории.
------- Comment #34 From 2018-12-18 11:04:40 -------
Данную ошибку я попробую исправить обновлением (выкладыванием в репозиторий)
libavformat57, собрав его без librtmp.

Но вообще, конечно, снижение веса у пакетов, отсутствующих в репозитории должно
облегчить обновление в данном конкретном случае.
Вероятно, такое изменение весов может привести к каким-то другим проблемам.
------- Comment #35 From 2018-12-18 11:08:56 -------
(В ответ на комментарий №34)
> Вероятно, такое изменение весов может привести к каким-то другим проблемам.
К выносу сторонних и самосборных пакетов, если какой-то конфликт возник. Но,
может, это и хорошо.