Некоторое время назад приходил сюда просить для своего проекта дампы dmidecode с реального железа. Спустя почти год проект прошёл путь от 0.1 до 0.5.1 и превратился из простого аналога dmidecode во что-то большее:
- Имеет в базе движок на C, который предоставляет прямой доступ к типизированным данным по полям, причём кодеки в движке описываются декларативно
- Декодирует гораздо больше структур, чем описано в спецификации, и даже гораздо больше, чем dmidecode. Многое пришлось реверс-инжинирить руками, зато теперь декодируются даже таблицы Intel vPro, FVI, AMT, MEI, SVT и так далее - даже если они перенесены на другие ID
- Умеет определять таблицы не только по коду, но и по сигнатурам, есть платформно-зависимые модули (Acer, Dell, HP, Lenovo, AMI и так далее), auto-probing и т.п.
- Умеет в string properties у таблиц, vendor-specific релокацию ID типов таблиц и даже бинарные оверлеи (additional information из SMBIOS specification)
- Умеет проверять дампы своим линтером с кучей правил
- Умеет экспортировать дампы в XML, JSON и YAML и даже анонимизировать их при сохранении
- Имеет большой задел под компилятор прошивок SMBIOS (из YAML, JSON или XML), который может пригодиться OEM
- Работает на Linux, FreeBSD, NetBSD, macOS и Windows
Ну и сайт и документацию как на библиотеку, так и на CLI наконец сделал. В ближайших релизах после некоторой стабилизации хочу прикрутить нативное API для C++, модуль ядра, который бы вытаскивал всё это добро на SysFS для удобства использования из скриптов, потом - API для Python, Go и Rust.
Собственно, вопрос: сейчас это всё собирается CMake с исходников на GitHub. Как лучше сделать пакеты для Linux, чтобы это можно было устанавливать без плясок с бубном, куда их лучше класть (в стандартные репы фиг прорвёшься) и вообще чего ещё хотелось бы от user experience такой штуки? Как лучше проводить тестирование, т.к. очевидно, что у реальных пользователей будут вылезать баги, где их брать в мире open-source?
Простите, если вопрос тупой, за 27 лет опыта ни разу не приходилось заниматься размещением бинарей в публичных репозиториях, это вообще мой первый крупный open-source проект и я нахожусь по этому поводу в лёгком ступоре.
Собственно, вот: https://opendmi.org/
Заранее спасибо!






