After recent rpm upgrade apt-printchanges script does not print last changelog entry of installed/upgraded packages, instead of this there is: * Thu Jan 01 1970 <type 'exceptions.Exception'> 'module' object has no attribute 'headerFromPackage'
...it also prints file paths instead of package names: === apt-printchanges === ==/var/ftp/pub/Linux/ALT/Sisyphus/x86_64-i586/RPMS.classic/i586-libfreetype-2.6.3-alt1.i586.rpm /var/ftp/pub/Linux/ALT/Sisyphus/x86_64/RPMS.classic/libfreetype-2.6.3-alt1.x86_64.rpm /var/ftp/pub/Linux/ALT/Sisyphus/x86_64/RPMS.classic/python-module-efl-1.18.0-alt1.x86_64.rpm== * Thu Jan 01 1970 <type 'exceptions.Exception'> 'module' object has no attribute 'headerFromPackage'
Разобрался, там несложно поправить. Но чтобы оттестировать результат, хорошо бы иметь чуть более рабочий rpm.
(В ответ на комментарий №2) > Разобрался, там несложно поправить. Но чтобы оттестировать результат, хорошо бы > иметь чуть более рабочий rpm. В этом всего хватит? #174342 TESTED #2 [test-only] sisyphus rpm4.git=4.13.0-alt4
Евгений, мне пофиксить или у вас уже есть фикс?
Фикса у меня нет, только пример нового кода. Если кто-то пофиксит и как следует оттестит, я только за. ACL разрешает.
(В ответ на комментарий №5) > Фикса у меня нет, только пример нового кода. > > Если кто-то пофиксит и как следует оттестит, я только за. ACL разрешает. Есть мнение, что - (headers, _) = rpm.headerFromPackage(f.fileno()) + ts = rpm.TransactionSet() + headers = ts.hdrFromFdno(f.fileno()) может быть недостаточно? P.S. Вообще, в современном мире можно изменить этот скрипт, чтобы он показывал не последнее изменение, а все изменения по сравнению с установленной версией (наверное, с разумным ограничением на количество changelog entry). Раньше, наверное, база rpm была залочена в этот момент, а теперь оттуда можно смело читать.
Не знаю, починит ли это указание имён файлов пакетов вместо имён самих пакетов. Я собирался это выяснить на практике (при тестировании). Я уже не помню, почему печатаются только последние элементы, возможно действительно больше смысла печатать изменения с установленной версии (или последние 0-1 изменений при установке пакета с нуля). Если реализуете, буду очень признателен.
(В ответ на комментарий №7) > Не знаю, починит ли это указание имён файлов пакетов вместо имён самих пакетов. > Я собирался это выяснить на практике (при тестировании). Не, это результат той же ошибки. Если случается Exception, оно вместо имени пакета выводит путь. Если Exception не случается, лампочка горит.
Я правильно понимаю, что проблему решил Глеб ещё в 0.01.1-alt1, а эту багу просто забыли закрыть?
Похоже на то.