"Порочный" круг при обновлении (помогите разорвать)

Напрашивается вариант прямой установки тех пакетов, которые гуляют туда-сюда, т.е. ставятся и тут же удаляются. Это по идее занесет их в world и они не будут удаляться.
Похоже что-то поломалось в проверке зависимостей перед удалением пакетов.

Покопался весьма поверхностно в calculate-utils Бросилось в глаза, что после версии
calculate-utils-3.6.7.33 в update.py добавилась опция --dynamic-deps=n перед сканированием пакетов на предмет удаления.
Проделал експеримент. Поправил update.py убрав опцию --dynamic-deps=n
После чего удалил один пакет, к примеру consolekit, и запустил cl-update.
Как и положено установился consolekit и предложило удалить всего одну библиотеку, которая не числится в зависимостях.
Никакого предложения удаления кучи пакетов не последовало.

Проверил еще на одной машине. Замена в update.py
emerge = EmergeParser(EmergeCommand(["–depclean",
“–dynamic-deps=n”],
emerge_default_opts=deo))
на
emerge = EmergeParser(EmergeCommand(["–depclean"],
emerge_default_opts=deo))
приводит к нормальному ходу обновления.
Без этой замены предлагается удалить около сотни пакетов.
Ждем починки утилит ?!

1 Like