5

这是我的问题:

我有一个程序,想以二进制格式分发它,这样用户就不需要自己编译了。

我已经构建了一个 .deb 包。但是,我记得应该有一些程序,它接受一个配置文件,并生成不同格式的不同二进制包,如 .deb、.rpm,甚至 .dmg、.msi 等。意思是,我只需要告诉它哪个文件应该包含在包中(以及如何构建它),它可以为我生成不同的包。

在谷歌上搜索了一些关键词后,我注意到在不知道它的名字的情况下很难找到这样的程序。(我确实认为应该有类似的东西。事实上,我记得我在某个地方看到过。)

4

2 回答 2

6

Effing 包管理可以同时执行 rpm 和 deb(从 https://github.com/jordansissel/fpm获取)

对于您正在谈论的那种跨平台部署,您可以尝试http://project-builder.org/

*注意 - 我从未使用过这些工具,但我听说过它们

于 2012-07-03T00:48:27.050 回答
4

我认为你的方法是错误的。作为开发人员,您的工作是开发程序,而不是为所有不同的 Linux 发行版打包它。让发行版处理包装。由于您不了解他们的打包指南,您可能会创建二进制包,这些包可能会在某些系统上以惊人的方式失败,更糟糕的是......甚至会破坏用户的系统。

但是,您可以做什么:

  • 确保许可清晰且简单(最好是 OSI 批准的许可之一)
  • 列出您的依赖项,包括版本,不要捆绑它们
  • 拥有健全的更新策略(即迷你/微型版本更新不会破坏 API 或引入巨大的变化)
  • 使用标准构建系统之一(取决于项目,它可以是 autotools、setup.py、maven 等)
  • 理想情况下不要做奇怪的事情,而是学习一些好的项目是如何做的(Apache项目通常有明智的方法)
  • 然后联系发行版并尝试获取一些对维护您的程序感兴趣的软件包
于 2012-07-10T09:10:25.913 回答