История изменений
Исправление Pinkbyte, (текущая версия) :
Дальше никого не волнует… и если ты хочешь долбить землю топором около корня доказывая всем что «оно не работает» вместо того чтобы срубить ветки затем ствол и избавится от пня то так тому и быть и никто не станет тебя останавливать. portage именно так и поступил.
Ну на самом деле логика тут такова(если у нас нет ничего кроме emerge, ни eix, ни qfile, нихрена, только base-system, только хардкор):
1) доставаем broken deps; 2) грохаем их;
Пункт 1 осуществляется парсингом выхлопа emerge(кстати там ЕМНИП есть ключ для более удобоваримого для автоматического парсинга выхлопа).
Пункт 2 - либо emerge -C @preserved-rebuild(это сработает только для либ, поэтому не годится в общем случае), либо - удаляем полученное в пункте 1 из world file путём emerge --deselect и делаем emerge --depclean
Если остались еще зависимости - повторить с пункта 1, пока --depclean не сработает.
Но это - чистой воды велосипед, лучше почитать man по portage-utils и man по gentoolkit
Я так чуть верификатор чексумм установленных пакетов не написал, опираясь на данные из vdb. Слава Богу хватило ума почитать man qcheck и не пилить велосипед.
Еще как вариант свелосипедить(при наличии portage-utils/gentoolkit) - берем reverse depgraph от удаляемого пакета перед удалением(equery d например) и рекурсивно последовательно удаляем все revdeps по графу. Потом заглянцовываем это --depclean.
Это если совсем лениво читать ман...
Исправление Pinkbyte, :
Дальше никого не волнует… и если ты хочешь долбить землю топором около корня доказывая всем что «оно не работает» вместо того чтобы срубить ветки затем ствол и избавится от пня то так тому и быть и никто не станет тебя останавливать. portage именно так и поступил.
Ну на самом деле логика тут такова(если у нас нет ничего кроме emerge, ни eix, ни qfile, нихрена, только base-system, только хардкор):
1) доставаем broken deps; 2) грохаем их;
Пункт 1 осуществляется парсингом выхлопа emerge(кстати там ЕМНИП есть ключ для более удобоваримого для автоматического парсинга выхлопа).
Пункт 2 - либо emerge -C @preserved-rebuild(это сработает только для либ, поэтому не годится в общем случае), либо - удаляем полученное в пункте 1 из world file путём emerge --deselect и делаем emerge --depclean
Если остались еще зависимости - повторить с пункта 1, пока --depclean не сработает.
Но это - чистой воды велосипед, лучше почитать man по portage-utils и man по gentoolkit
Я так чуть верификатор чексумм установленных пакетов не написал, опираясь на данные из vdb. Слава Богу хватило ума почитать man qcheck и не пилить велосипед.
Еще как вариант свелосипедить - берем reverse depgraph от удаляемого пакета перед удалением(equery d например) и рекурсивно последовательно удаляем все revdeps по графу. Потом заглянцовываем это --depclean.
Это если совсем лениво читать ман...
Исправление Pinkbyte, :
Дальше никого не волнует… и если ты хочешь долбить землю топором около корня доказывая всем что «оно не работает» вместо того чтобы срубить ветки затем ствол и избавится от пня то так тому и быть и никто не станет тебя останавливать. portage именно так и поступил.
Ну на самом деле логика тут такова(если у нас нет ничего кроме emerge, ни eix, ни qfile, нихрена, только base-system, только хардкор):
1) доставаем broken deps; 2) грохаем их;
Пункт 1 осуществляется парсингом выхлопа emerge(кстати там ЕМНИП есть ключ для более удобоваримого для автоматического парсинга выхлопа).
Пункт 2 - либо emerge -C @preserved-rebuild(это сработает только для либ, поэтому не годится в общем случае), либо - удаляем полученное в пункте 1 из world file путём emerge --deselect и делаем emerge --depclean
Если остались еще зависимости - повторить с пункта 1, пока --depclean не сработает.
Но это - чистой воды велосипед, лучше почитать man по portage-utils и man по gentoolkit
Я так чуть верификатор чексумм установленных пакетов не написал, опираясь на данные из vdb. Слава Богу хватило ума почитать man qcheck и не пилить велосипед.
Исходная версия Pinkbyte, :
Дальше никого не волнует… и если ты хочешь долбить землю топором около корня доказывая всем что «оно не работает» вместо того чтобы срубить ветки затем ствол и избавится от пня то так тому и быть и никто не станет тебя останавливать. portage именно так и поступил.
Ну на самом деле логика тут такова(если у нас нет ничего кроме emerge, ни eix, ни qfile, нихрена, только base-system, только хардкор):
1) доставаем broken deps; 2) грохаем их;
Пункт 1 осуществляется парсингом выхлопа emerge(кстати там ЕМНИП есть ключ для более удобоваримого для автоматического парсинга выхлопа).
Пункт 2 - либо emerge -C @preserved-rebuild(это сработает только для либ, поэтому не годится в общем случае), либо - удаляем полученное в пункте 1 из world file путём emerge --deselect и делаем emerge --depclean
Но это - чистой воды велосипед, лучше почитать man по portage-utils и man по gentoolkit
Я так чуть верификатор чексумм установленных пакетов не написал, опираясь на данные из vdb. Слава Богу хватило ума почитать man qcheck и не пилить велосипед.