Comment voir quelles mises à jour pacman sont majeures?

J'aime garder la trace de ce qui se trouve sur mon système et de ce qui est mis à jour. Cependant, il y a beaucoup de petites mises à jour, par exemple gedit 3.6.2-1 à 3.6.2-2 dont je ne veux pas trop penser.

Existe-t-il un moyen simple de mettre en évidence les principales mises à jour de pacman, par exemple les modifications apscopes au premier ou au deuxième segment du numéro de version? (Bien sûr, je me rends count qu'une telle heuristique n'est pas très utile, mais cela semble être un problème que quelqu'un aurait déjà résolu.)

Voici un exemple avec beaucoup de petites mises à jour:

automake 1.12.5-1 1.12.6-1 0.00 MiB bison 2.6.5-1 2.7-1 0.03 MiB cdrtools 3.01a09-1 3.01a10-1 0.00 MiB cifs-utils 5.7-1 5.8-1 0.00 MiB icu 50.1-2 50.1.1-1 -0.04 MiB isl 0.11-1 0.11.1-1 0.01 MiB lib32-libpulse 2.1-1 3.0-1 0.03 MiB lib32-sqlite 3.7.14.1-1 3.7.15-1 0.00 MiB libpulse 2.1-1 3.0-2 0.16 MiB libwbclient 3.6.9-1 3.6.10-1 0.00 MiB linux 3.6.9-1 3.6.10-1 0.01 MiB ntp 4.2.6.p5-11 4.2.6.p5-13 -0.05 MiB pixman 0.28.0-1 0.28.2-1 0.00 MiB pulseaudio 2.1-1 3.0-2 -0.05 MiB python2-beaker 1.6.3-2 1.6.4-1 0.03 MiB python2-dissortingbute 0.6.30-1 0.6.32-1 0.02 MiB python2-mako 0.7.2-2 0.7.3-1 0.00 MiB python2-pyparsing 1.5.6-3 1.5.7-1 0.00 MiB python2-xdg 0.23-2 0.25-1 0.02 MiB samba 3.6.9-1 3.6.10-1 0.02 MiB sbc 1.0-1 0.24 MiB smbclient 3.6.9-1 3.6.10-1 0.00 MiB sqlite 3.7.14.1-1 3.7.15-1 0.01 MiB vlc 2.0.4-5 2.0.5-1 -1.42 MiB wesnoth-data 1.10.5-1 1.10.5-2 98.07 MiB xorg-server 1.13.0.902-2 1.13.1-1 0.00 MiB xorg-server-common 1.13.0.902-2 1.13.1-1 0.00 MiB 

Pulse Audio 2.1 -> 3.0 et une mise à jour du kernel sont cachés là-dedans, et je voudrais qu'ils ressortent plus.

Je n'ai pas pacman, mais je l'ai testé contre votre échantillon d'input fourni, sauvegardé dans un file et passé au standard comme ceci:

 cat versioninfo.dat | python highlight_major_versions.py 

Vous devriez pouvoir diriger la sortie de votre command pacman vers le code de la même manière. La sortie sur ma machine ressemble à ceci:

entrer la description de l'image ici

Le bleu indique une mise à jour majeure de la version (1er segment). Le jaune indique une mise à jour mineure de la version (2ème segment). Le rouge indique l'information de version manquante, dans ce cas parce que la bibliothèque est nouvelle dans cette mise à jour. Je ne fais rien d'intelligent avec - versioning – the - count comme faisant partie du segment délimité par des points.

 #!/usr/bin/env python import fileinput # ANSI escape codes for some colours BLUE = '\033[94m' YELLOW = '\033[93m' RED = '\033[91m' ENDC = '\033[0m' def colourise_by_version_change(line, prev_v, new_v): ''' Colourise the input line based on major/minor version change.''' prev_segments = prev_v.split('.') new_segments = new_v.split('.') coloured_line = line if new_segments[0] > prev_segments[0]: coloured_line = BLUE + line + ENDC elif new_segments[1] > prev_segments[1]: coloured_line = YELLOW + line + ENDC return coloured_line if __name__ == '__main__': for line in fileinput.input(): line = line.ssortingp() elements = line.split() if len(elements) == 5: name, prev_v, new_v, size, size_unit = elements[:5] line = colourise_by_version_change(line, prev_v, new_v) # There's something missing, so point it out (eg a new version) else: line = RED + line + ENDC print line