Выбор программ по умолчанию - идея по утилите

http://www.calculate-linux.ru/main/ru/default_programs - способ удаления программ, которые находятся по умолчанию не очень удобен, так как мы не знаем в какую категорию входит удаляемая программа и какие ещё есть зависимости и как эти зависимости удобно внеcти в world?!

Потому предлагаю алгоритм по удалению пакетов по умолчанию:

  1. вводим пакет который нужно удалить (“skype”) - как это сделать и когда это нужно делать?
  2. находим категорию мета-пакета куда входит skype (“nonetwork”) + список пакетов входящих в данную категорию (зависимости-удаляемые вместе со skype)
  3. заносим в make.conf CALCULATE=“nonetwork”
  4. нужные пакеты (на выбор или все) из данного списка заносим в world (как это сделать?!)

Идея примерно такая … так как опыта в генту и кальке у меня маловато, да и одна голова хорошо, а больше - лучше …

прошу ваши соображения по данной теме … уже есть кое-какие наработки скрипта …

На примере media-gfx/digikam.

Делаем equery d media-gfx/digikam:

[ Searching for packages depending on media-gfx/digikam... ]
app-misc/cl-graphics-meta-11.3 (cdistro_CLD? media-gfx/digikam)

Далее смотрим в ebuild app-misc/cl-graphics-meta/:
cat /var/lib/layman/calculate/app-misc/cl-graphics-meta/cl-graphics-meta-11.3.ebuild

RDEPEND="
        media-gfx/gimp
        cdistro_CLD? (
                media-gfx/digikam
        )
        cdistro_CLDX? (
                media-gfx/gqview
                media-gfx/gtkam
        )
"

В этом Мета пакете у нас только media-gfx/gimp что нам нужен.

Просто прописываем его в world:
echo 'media-gfx/gimp' >> /var/lib/portage/world

Теперь правим make.conf

CALCULATE="nografics"

С чистой совестью делаем emerge -C media-gfx/digikam.
В данном примере можно использовать еще механизм package.provided просто добавив в него:

media-gfx/digikam-1.9.0-r1

Думаю все эти манипуляции не сложно описать Bash script, я к сожалению не очень в это силен.

Кидаю исходники на google code.
Кому интересно, смотрите - комментируйте. Желательно там же, на гуглкоде.