Como ver quais atualizações do pacman são importantes?

3

Eu gosto de acompanhar o que está no meu sistema e o que está sendo atualizado. No entanto, há muitas pequenas atualizações, por exemplo gedit 3.6.2-1 a 3.6.2-2 que eu não quero pensar muito sobre isso.

Existe uma maneira simples de fazer o pacman destacar as principais atualizações, por exemplo, muda para o primeiro ou segundo segmentos no número da versão? (Claro que eu percebo que tal heurística não é muito útil, mas isso parece ser um problema que alguém já teria resolvido.)

Aqui está um exemplo com muitas pequenas atualizações:

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-distribute  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 e uma atualização do kernel estão escondidos lá, e eu gostaria que eles se destacassem mais.

    
por Anna 19.12.2012 / 20:31

1 resposta

4

Eu não tenho o pacman, mas testei isso com sua amostra de entrada fornecida, salvei em um arquivo e passei para o padrão assim:

cat versioninfo.dat | python highlight_major_versions.py

Você deve conseguir enviar a saída do seu comando pacman para o código da mesma maneira. A saída na minha máquina é assim:

Azulindicaumaatualizaçãoimportantedaversão(ouseja,primeirosegmento).Amareloindicaumaatualizaçãodeversãosecundária(2ºsegmento).Vermelhoindicainformaçõesdeversãoausentes,nestecasoporqueabibliotecaénovanestaatualização.Nãofaçonadainteligentecom-versioning-o-contacomopartedosegmentorelevantedelimitadoporpontos.

#!/usr/bin/env python import fileinput # ANSI escape codes for some colours BLUE = '3[94m' YELLOW = '3[93m' RED = '3[91m' ENDC = '3[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.strip() 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 (e.g. a new version) else: line = RED + line + ENDC print line     
por 19.12.2012 / 22:07