我是在多个 Linux 打包发行版中分发的 C++ 库的作者。该库包括标题和源代码;Linux 软件包将其分发为头文件 + 共享库 (.so)。
我正在寻找可以使 Linux 软件包维护者的生活更轻松的指南。
我感兴趣的事情包括:
API 兼容性(例如更改函数签名)。显然,保持跨次要版本的兼容性至关重要。主要版本变化如何?
二进制兼容性(例如改变外部可见数据结构的大小)。在次要版本中与 ABI 兼容有多重要?在主要版本中打破它有什么问题吗?
构建版本控制建议。我目前正在使用 CMake - 我应该设置任何特定设置以最大限度地提高包维护人员可以使用我的 CMakeLists.txt 的机会?
如果还有什么我想念的,我也很高兴听到。