以下是我的问题: 我有一个程序,想要以二进制格式分发它,这样用户就不需要自己编译它。 我已经构建了一个.deb软件包。然而,据我记得,应该有一些程序,它可以接受一个配置文件,并在不同的格式中生成不同的二进制软件包,如.deb、.rpm,甚至.dmg、.msi等。也就是说,我只需要告诉它应该包含哪个文件(以及如何构建它),它就可以为我生成不同的软件包。 通过谷歌一些关键词,我发现很难找到这样的程序,除非知道它的名字。(我确实认为应该有类似的东西。事实上,我记得我在某个地方见过它。)
Effing Package Management可以同时处理rpm和deb(从https://github.com/jordansissel/fpm获取)。对于你所说的跨平台部署,你可以尝试http://project-builder.org/。*注意-我从未使用过这些工具,但我听说过它们。
在我看来,你的方法是错误的。作为开发人员,你的工作是开发程序,而不是为各种不同的Linux发行版打包。让发行版处理打包工作。由于你对它们的打包指南的了解非常有限,你可能会创建二进制包,在某些系统上可能会以惊人的方式失败,更糟糕的是...甚至可能破坏用户的系统。然而,你可以做到以下几点:- 确保许可证明确简单(最好是OSI批准的许可证之一) - 列出你的依赖项,包括版本,并且不要捆绑它们 - 有合理的更新策略(即迷你/微小版本更新不会破坏API或引入巨大的变化) - 使用标准构建系统之一(根据项目的不同,可以是autotools、setup.py、maven等) - 理想情况下不要做奇怪的事情,而是学习一些好的项目如何处理(Apache项目通常有明智的方法) - 然后联系发行版,尝试获得一些有兴趣维护你的程序的软件包。