Как видеть, какие обновления pacman являются основными?

Я читаю Систему Debian, книга, которую рекомендовал мой друг. До сих пор это было настолько хорошо. Обычно я предлагаю, чтобы Вы охватили дистрибутив, который чувствует себя хорошо себе, и узнайте об этом. Скачкообразное движение дистрибутива является хорошей привычкой, которая показывает Вам, как вещи сделаны больше чем одним способом. Другая вещь в должен - действительно перечисляет, должен установить LFS или хинду. Существует только слишком много вещей читать по пути :)

3
19.12.2012, 21:31
1 ответ

У меня нет pacman, но я протестировал это против Вашего обеспеченного входного образца, сохраненного в файл, и передал стандарту в подобном это:

cat versioninfo.dat | python highlight_major_versions.py

Необходимо смочь передать вывод по каналу команды pacman к коду таким же образом. Вывод на моей машине похож на это:

enter image description here

Blue указывает на обновление основной версии (т.е. 1-й сегмент). Yellow указывает на обновление вспомогательной версии (2-й сегмент). Красный указывает на информацию об отсутствующей версии, в этом случае потому что библиотека является новой в этом обновлении. Я не делаю ничего умного с - управление версиями - - количества как часть соответствующего разграниченного точкой сегмента.

#!/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.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
4
27.01.2020, 21:20

Теги

Похожие вопросы