#!/bin/bash

if [ 2$1 == 2-h ] || [ 2$1 == 2--help ] ; then


    echo
    echo "Принудительно переустановит пакеты из текущей папки,"
    echo "если они были до этого установлены."
    echo "Если ошибки, (несоответствие версий) повторяет процесс."
    echo
    echo "внимание!! использовать с осторожностью!"
    echo
    # force install debs from current dir
    exit 0
fi


again=false

reinst(){
all_deb=0
inst_deb=0
for fullname in $(find . -name "*.deb")
do
    all_deb=$((all_deb+1))
    filename=${fullname##*/}
    debname=${filename%%_*}
    if $(dpkg -l | grep -q -E "^i.  $debname[ |:]") ; then
        echo reinstall - $filename
        dpkg -i --force-all $fullname
        if [ $? != 0 ] ; then
            again=true
        fi
        inst_deb=$((inst_deb+1))
    else
        echo skip - $filename
    fi
    echo $inst_deb $all_deb
    echo
done
}

reinst
if [ $again == true ] ; then
    reinst
fi
