#!/bin/bash
#

dirs="xlibs-dev g++ libc6-dev"

if [ -n "$1" ]
then
  dirs="$1"
fi

echo "rimozione automatica dei pacchetti in base al contenuto di"
echo "$dirs"

errors=""
for d in $dirs
do
  cd $d
  list=`ls *.deb`
  removelist=""
  for p in $list
  do
    name=`dpkg -I $p | grep "^ Package:" | cut -f3 -d' '`
    version=`dpkg -I $p | grep "^ Version:" | cut -f3 -d' '`
    iversion=`dpkg-query --show $name | cut -f2`
echo "nome: $name; versione=$version; iversion=$iversion"
    if [ "$version" != "$iversion" ]
    then
      errors="yes"
      echo "Attenzione: errore di versione per ${name}:"
      echo "installata:  $iversion"
      echo "deb-pack:    $version"
    else
    removelist="$removelist $name"
    fi
  done
  if [ -z "$errors" ]
  then
#    echo "eseguirei:"
#    echo "dpkg -r $removelist"
    dpkg -r $removelist
  else
    echo "non rimuovo nulla a causa di errori precedenti"
    echo "la lista da rimuovere sarebbe stata"
    echo "$removelist"
  fi
  cd ..
done
