Предлагаю добавить в описание компоненты секции [packages-install] и [packages-remove] Списки из которых будут применяться только для установки и только для удаления. Список из [packages] должен применяться в обоих случаях. Полезно, когда, например, у меня компонента KDE с единственным пакетом kde-big, а после её удаления удалится ровно ничего.
А так же при удалении компонент предлагаю вычислять все удаляемые пакеты, из них убирать все устанавливаемые(если бы устанавливались), а остальные предлагать на подтверждение удаления пользователю.
Мне кажется что при использовании компонент надо вообще вести транзакции установки/удаления пакетов и запоминать те пакеты, которые ставились при компонентах (что бы в дальнейшем их попробовать удалить). Управление этим, правда, выглядит очень сложной историей.
Исходное предложение избыточно. Для того, чтобы обеспечить явное удаление пакетов, которые прилетают по зависимостям, их достаточно перечислить в общем перечне пакетов, входящих в компоненту. Например, если мы хотим, чтобы при удалении kde-big удалялись какие-то пакеты, которые мы рассчитываем что с ним прилетели, то указание их в общем перечне на установку приведёт к их удалению при удалении компоненты. Сайд-эффектом будет отображение соответствующих пакетов в перечне пакетов входящих в компоненту. Если это проблема, то можно предусмотреть опцию, указывающую для таких пакетов необходимость их не отображать. ___________ Ещё один вариант, крайне спорный, состоит в том, чтобы при удалении компоненты удалять другие пакеты, которые явно не перечислены в списке пакетов входящих в компоненту и по зависимостям от них не прилетают. Только для таких пакетов может потребоваться отдельный список на удаление. Я не уверен, что это так стоит делать и что такое поведение было заложено исходном запросе. Но может, правда, было? Просьба уточнить. _______________ В плане проверок на удаление проведена значительная работа - новая версия alt-components доступна для p11 в таске: #392186 EPERM #13 p11 [...] alt-components.git=0.5.4-alt2 [...] Насколько я понимаю, при формировании транзакции устанавливаемые пакеты из пакетов удаляемых компонент должны убираться. Другое дело, если они для компоненты явно не указаны. В любом случае, большая часть возможных ситуаций непреднамеренного удаления пакетов предусмотрены. Если имеются конкретные кейсы, прошу привести.
(Ответ для Anton Farygin на комментарий #2) > Мне кажется что при использовании компонент надо вообще вести транзакции > установки/удаления пакетов и запоминать те пакеты, которые ставились при > компонентах (что бы в дальнейшем их попробовать удалить). Не надо. Этот список со временем изменится, что вызовет проблемы. Лучше в реальном времени делать, как я предложил в comment#0 + comment#1
(Ответ для Evgeny Sinelnikov на комментарий #3) > Например, если мы хотим, чтобы при удалении kde-big Тут уже ошибка. Ты не знаешь и никогда не узнаешь, что нужно удалять при таком подходе.
(Ответ для Evgeny Sinelnikov на комментарий #3) > указание их в общем перечне на установку приведёт к их удалению при удалении компоненты. Нет. Это 2 разных списка.
Зашёл дополнить, но тогда дальнейшие фичереквесты по этому поводу пока придержу.