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

mon*_*and 4 debian rpm

这是我的问题:

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

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

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

Srd*_*bor 6

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

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

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


Sta*_*tan 5

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

然而你可以做什么:

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