Меняем MD5 файла в базе RPM |
[Dec. 23rd, 2010|05:13 pm] |
Иногда очень хочется поменять что-нибудь в базе RPM, и так, чтобы rpm -V заткнулся. Делается это так:
( int update_file(char *fn, char *new_md5, int new_len) )
Основная проблема была с SHA1 заголовка. rpmlib суровая штука - ни документации, ни примеров, ни проверки ошибок: шаг влево, шаг вправо - SIGSEGV (например, если заменить headerGetEntryMinMemory на headerModifyEntry ;-) А "right thing" - это сделать на headerCopy/Unload/Reload/Unload, вообщем я так и не понял, что с ним нужно сделать, чтобы "закомитить" все изменения и не оторвать его от transaction set. А так работает.
( Read more... )
Кстати, если кто пользуется integrity check, то базу полагается хранить на ro-носителе.
P.S. Это я к чему. Вот есть у меня звери, которые используют libc, но раз есть libc, значит есть и все остальное ;-)
Типа того. |
|
|