#!/bin/bash
#=======================================================================
# Copyright (c) 1999 Daniele Giacomini daniele@pluto.linux.it
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#=======================================================================
# debian-nomi
#
# Interviene nella directory *corrente* correggendo i nomi degli
# archivi che sembrano non essere coerenti. Si utilizza in particoalre:
#
#       dpkg --field <archivio> package
#       dpkg --field <archivio> version
#
#=======================================================================

#-----------------------------------------------------------------------
# Inizializza le variabili di ambiente che servono per accumulare
# i valori per il confronto.
#-----------------------------------------------------------------------
ARCHIVIO=""
PACCHETTO=""
VERSIONE=""
NOME_CORRETTO=""

#----------------------------------------------------------------------
# Inizia il ciclo di scansione degli archivi Debian che si trovano
# nella directory corrente.
# Prima fase silenziosa.
#----------------------------------------------------------------------
for ARCHIVIO in *.deb
do

    #------------------------------------------------------------------
    # Se il nome  *.deb, non ci sono file del genere.
    #------------------------------------------------------------------
    if [ "$ARCHIVIO" = "*.deb" ]
    then

	#--------------------------------------------------------------
	# Non si fa nulla.
	#--------------------------------------------------------------
	exit
    fi

    #------------------------------------------------------------------
    # Estrae il nome del pacchetto.
    #------------------------------------------------------------------
    PACCHETTO=`dpkg --field $ARCHIVIO package`

    #------------------------------------------------------------------
    # Estrae la versione del pacchetto.
    #------------------------------------------------------------------
    VERSIONE=`dpkg --field $ARCHIVIO version`

    #------------------------------------------------------------------
    # Compone il nome teorico.
    #------------------------------------------------------------------
    NOME_CORRETTO="${PACCHETTO}_${VERSIONE}.deb"

    #------------------------------------------------------------------
    # Confronta con il nome dell'archivio.
    #------------------------------------------------------------------
    if [ "$NOME_CORRETTO" != "$ARCHIVIO" ]
    then

	#--------------------------------------------------------------
	# I nomi sono differenti.
	# Modifica il nome solo se  possibile.
	#--------------------------------------------------------------
	echo "n" | mv -i "$ARCHIVIO" "$NOME_CORRETTO" 2> /dev/null
    fi

done

#----------------------------------------------------------------------
# Inizia il ciclo di scansione degli archivi Debian che si trovano
# nella directory corrente.
# Seconda fase di verifica.
#----------------------------------------------------------------------
for ARCHIVIO in *.deb
do

    #------------------------------------------------------------------
    # Estrae il nome del pacchetto.
    #------------------------------------------------------------------
    PACCHETTO=`dpkg --field $ARCHIVIO package`

    #------------------------------------------------------------------
    # Estrae la versione del pacchetto.
    #------------------------------------------------------------------
    VERSIONE=`dpkg --field $ARCHIVIO version`

    #------------------------------------------------------------------
    # Compone il nome teorico.
    #------------------------------------------------------------------
    NOME_CORRETTO="${PACCHETTO}_${VERSIONE}.deb"

    #------------------------------------------------------------------
    # Confronta con il nome dell'archivio.
    #------------------------------------------------------------------
    if [ "$NOME_CORRETTO" != "$ARCHIVIO" ]
    then

	#--------------------------------------------------------------
	# A quanto pare, il nome di questo archivio non  stato
	# corretto.
	#--------------------------------------------------------------
	echo "Non  stato possibile correggere il nome dell'archivio"
	echo "$ARCHIVIO, che dovrebbe chiamarsi $NOME_CORRETTO."
	echo
    fi

done

#=======================================================================

