LINUX.ORG.RU

История изменений

Исправление 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 и не пилить велосипед.