Bug 33308 - Repocop on Prometheus. Part 1. Ловля библиотек с одинаковыми символами
Summary: Repocop on Prometheus. Part 1. Ловля библиотек с одинаковыми символами
Status: NEW
Alias: None
Product: Infrastructure
Classification: Infrastructure
Component: packages.altlinux.org (show other bugs)
Version: unspecified
Hardware: all Linux
: P3 normal
Assignee: Nobody's working on this, feel free to take it
QA Contact:
URL:
Keywords:
Depends on:
Blocks: 22555
  Show dependency tree
 
Reported: 2017-03-30 22:10 MSK by Igor Zubkov
Modified: 2019-01-16 14:31 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.