Я собираюсь создать пакет Debian из существующей библиотеки (paho-mqtt- c). Проект использует CMake в качестве своей системы сборки. После некоторых исследований я думаю, что мне нужно создать два или три разных пакета:
- libpaho-mqtt3 (с библиотекой .so файлы и связанными с ними вещами)
- libpaho-mqtt3-dev (с файлы заголовков)
- также, возможно, мне нужен третий пакет с примерами файлов или документации (называемый
paho-mqtt3
?)
Я провел некоторое исследование, и, кажется, существует как минимум три Различные способы создания пакета Debian при использовании CMake в качестве системы сборки:
- Использование процедуры debmake, описанной в документации Debian ( Глава 8 ).
- Используйте cmake-debhelper .
- Используйте dh-cmake
Я рассмотрел все три метода, и каждый из них имеет некоторые преимущества и недостатки.
Debmake
Насколько я понял, использование debmake предполагает, что у меня есть исходный архив с исходниками и системой сборки, а затем я вызываю debmake на извлеченном архиве. После этого я получаю много шаблонов, которые мне нужно вручную настроить, чтобы заполнить пропущенные пробелы. Я начал делать это, но это кажется довольно сложным.
cmake-debhelper
Я пытался использовать его, но получил много ошибок. На странице github есть открытый выпуск без решения, поэтому я перестал на это смотреть. Это также то, что в настоящее время использует система сборки paho-mqtt-c
, но она не работает из-за связанной проблемы.
dh-cmake
Я кратко рассмотрел это, и, похоже, самое современное решение и должно быть возможно совместить это с CPack. Однако кажется, что dh-cmake доступен только для Ubuntu 18.04 и 16.04, но я использую Ubuntu 19.10, поэтому я не смог установить dh-cmake в своей системе.
Я что-то пропустил в своем исследовании? Каковы рекомендуемые шаги для создания пакета Debian из программного обеспечения, управляемого с помощью CMake, и какую документацию полезно прочитать?