Bug 33308

Summary: Repocop on Prometheus. Part 1. Ловля библиотек с одинаковыми символами
Product: Infrastructure Reporter: Igor Zubkov <icesik>
Component: packages.altlinux.orgAssignee: Nobody's working on this, feel free to take it <nobody>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: evg, lav
Version: unspecified   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 22555    

Description Igor Zubkov 2017-03-30 22:10:22 MSK
Идея:

Из библиотек извлекать информацио о символах что она экспортирует и хранить в базе.
Из бинарников извлекать информацию о том с какими библиотеками они слинкованы и так же хранить в базе.

Потом, на основании этой информации можно проверять, что этот бинарник не слинкован с библиотеками которые предоставляют символы с одинаковыми именами. Это позволит ловить баги такие как #33220.

Список символов который экспортирует библиотека можно получить через nm -D <file>. Они помечены как T.

Список библиотек с которой собран бинарник можно получить через ldd <file>.
Comment 1 Vitaly Lipatov 2017-03-31 21:13:30 MSK
Я всё-таки допишу, что в bug #33220 была предложена работающая реализация: https://github.com/vitlav/checkduplicatelibrarysymbols
После того, как она заработала, я понял, что надо было сразу её делать на redis.