我是一款C++库的作者,该库已经被多个Linux包装发行版分发。该库包括头文件和源代码,Linux包将其作为头文件 + 共享库(.so)分发。
我正在寻找指南,以使Linux软件包维护者的工作更轻松。
我感兴趣的内容包括:
- API兼容性(例如更改函数签名)。显然,保持跨较小版本的兼容性至关重要。对于主要版本更改,有什么考虑吗? - 二进制兼容性(例如更改外部可见数据结构的大小)。在较小的版本发布中,保持ABI兼容性有多重要?在主要发布版本中打破它是否有任何问题? - 构建版本控制建议。我目前使用的是CMake - 我应该设置哪些特定的设置来最大化软件包维护者可以使用我的CMakeLists.txt的机会?
如果还有其他需要注意的事项,请告诉我。
我正在寻找指南,以使Linux软件包维护者的工作更轻松。
我感兴趣的内容包括:
- API兼容性(例如更改函数签名)。显然,保持跨较小版本的兼容性至关重要。对于主要版本更改,有什么考虑吗? - 二进制兼容性(例如更改外部可见数据结构的大小)。在较小的版本发布中,保持ABI兼容性有多重要?在主要发布版本中打破它是否有任何问题? - 构建版本控制建议。我目前使用的是CMake - 我应该设置哪些特定的设置来最大化软件包维护者可以使用我的CMakeLists.txt的机会?
如果还有其他需要注意的事项,请告诉我。