#!/bin/bash
# Упрощённый вариант программы по удалению

# keep=`(cat exclude_base.lst;cat /var/lib/debfoster/keepers)|sort|uniq`
keep=`(cat exclude_base2.lst;cat /var/lib/debfoster/keepers)|sort|uniq`

for p in `dpkg -l| grep "ii  "|cut -d ' ' -f3`; do

    echo "Рассматривается пакет $p"
    echo "$keep"|grep "$p" >/dev/null
    if [[ "$?" == "0" ]]; then
	echo "$p нужен пользователю";
	continue
    fi

    can_remove=true
    for p2r in `apt-get -s -y remove "$p"| grep Remv|cut -d ' ' -f2` ; do
	echo "Проверяется возможность удаления пакета $p2r"
	echo "$keep"|grep -E "\<$p2r\>" >/dev/null
	if [[ "$?" == "0" ]]; then
	    echo "$p2r нужен пользователю";
	    can_remove=false
	    break;
	fi
    done

    if [[ "$can_remove" == "true" ]]; then
	if [[ "`dpkg-query -W -f='${Priority}\n' $p`" == "optional" ]]; then
	    echo "$p нужен пользователю"
	else
	    echo "delunpack3.sh: Удаляем пакет $p"
	    echo "$p" >>1.txt # 
	    #apt-get -y remove --purge $p
	fi
    fi
	dpkg --configure -a
done
