【发布时间】:2015-04-16 15:03:11
【问题描述】:
我是一个 C++ 库的作者,该库分布在多个 Linux 打包发行版中。 该库包括标题和源代码; Linux 包将其分发为头文件 + 共享库 (.so)。
我正在寻找可以让 Linux 软件包维护者的生活更轻松的指南。
我感兴趣的事情包括:
API 兼容性(例如更改函数签名)。显然,保持跨次要版本的兼容性至关重要。主要版本变化如何?
二进制兼容性(例如,更改外部可见数据结构的大小)。在次要版本中与 ABI 兼容有多重要?在主要版本中打破它有什么问题吗?
构建版本控制建议。我目前正在使用 CMake - 我应该设置任何特定设置以最大限度地提高包维护人员可以使用我的 CMakeLists.txt 的机会?
如果还有什么我想念的,我也很高兴听到。
【问题讨论】:
-
它是免费软件吗?如果是,您可能会将打包的负担留给分发打包者...
-
你打算怎么打包?例如,debian、redhat 和 slackware 使用不同的包机制(不兼容)?
-
@BasileStarynkevitch 它是 MIT 许可的。我不是自己打包的——但我的问题正是关于这个——如何让分销打包者的生活更轻松
-
@LuisColorado 我不是自己打包的 - 不同的人为不同的发行版打包它
标签: c++ linux package-management