Re: Primera versio d'un paquet
Narcis Garcia:
> Si per exemple faig:
>
> $ LANG=en apt-cache show x11vnc | grep -ie '^Version:'
>
> veig les versions disponibles al repositori per un paquet, però no estic
> segur de si estan ordenades de nova a antiga o només segons es recorden
> a la memòria cau d'APT.
Jo només veig una versió:
$ LANG=en apt-cache show x11vnc | grep -ie '^Version:'
Version: 0.9.13-1.2+b2
> Temo que si aplico |sort per ordenar-les alfabèticament, se'm pugui
> colar una versió 9 com a més nova que una 10.
Pots utilitzar «|sort -n» per indicar que vols que ordeni números
però això no funciona amb les versions: la versió 0.10 és més gran
que la 0.9 però numèricament 0.9 és més gran que 0.10.
El millor que pots fer és utilitzar alguna llibreria que faci
les comparacions de versió de Debian, per exemple Dpkg::Version
per a Perl té la funció «version_compare» (imagino que hi deu
haver llibreries similars per d'altres llenguatges). Et caldrà
instal·lar el paquet libdpkg-perl (potser ja el tens si havies
instal·lat dpkg-dev abans).
Per exemple, donada una llista de versions desordenades, aquesta
ordre retorna la versió més petita (posició 0 dels arguments
ordenats amb version_compare):
$ perl -MDpkg::Version -lE 'say((sort version_compare @ARGV)[0])' 0.10 0.9 0.5 0.100
0.5
Salut,
Alex
Reply to: