[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Confrontare il numero di versione di due pacchetti



Hi all


>> non mi pare che dpkg --compare-versions funzioni sempre bene ...
>> nell'esempio sottostante doveva rispondere YESSS e invece ha risposto
NOOO
>> idem se nel pacchetto c'e' %3a che indica i ":"
>>
>>  if dpkg --compare-versions fetchmail_5.9.11-6.1_i386.deb gt
>> fetchmail_5.9.11-6_i386.deb ; then echo YESSS ;else echo NOOO; fi
>> NOOO
>> bug o feature ? ;-)

>bug tuo.. dpkg confronta versioni, non pacchetti. in particolare quando
arriva a
>-6.1 e -6_ trovando due non-numeri . e _ li confronta ed indovina chi
chiene prima?
>if dpkg --compare-versions 5.9.11-6.1 gt 5.9.11-6 ; then
>  echo YESSS
>else
>  echo NOOO
>fi
>--> YESSS

hum ... hai ragione, anche il man scrive che confronta le versioni anche se
davo per scontato che confrontasse lui le versioni leggendole dal deb o
dal nome del file. La cosa sarebbe + utile per gli script che ne facessero
uso.

comunque capito l'inganno si puo' risolvere cosi' anche usando i nomi
dei pacchetti :

if dpkg --compare-versions `dpkg -I fetchmail_5.9.11-6.1_i386.deb | grep "
Version:" | sed -e "s/ Version: //"` gt `dpkg -I fetchmail_5.9.11-6_i386.deb
| grep " Version:" | sed -e "s/ Version: //"` ; then    echo YESSS ; else
echo NOOO; fi

YESSS

:)

se a qualcuno puo' servire mi ero fatto pure io uno scriptino
che elimina i pacchetti doppi da /var/cache/apt/archive
chiedendo comunque una conferma e facendoli vedere
prima di eliminarli. Ora con questa sistemazione
propone anche yes o no in base alla versione :)
in riferimento al thread iniziale tiene il vecchio
pacchetto solamente se e' unico ...

--
;---+---;
bye |
bye |hor



Reply to: