如何使用一个脚本构建.deb .rpm .dmg等

时间:2012-07-03 00:27:49

标签: debian rpm

这是我的问题:

我有一个程序,并希望以二进制格式分发它,以便用户不需要自己编译它。

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

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

2 个答案:

答案 0 :(得分:6)

Effing Package Management可以同时执行rpm和deb(从中获取) https://github.com/jordansissel/fpm

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

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

答案 1 :(得分:3)

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

可以做什么:

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