flatpak-builder与当地资源和依赖关系

时间:2017-05-09 07:11:14

标签: flatpak

如何使用flatpak-builder构建本地资源和依赖?

我可以建立本地资源

flatpak build ../dictionary ./configure --prefix=/app

我可以使用.json

的依赖项提取和构建应用程序
flatpak-builder --repo=repo dictionary2 org.gnome.Dictionary.json

但无法建立依赖性和本地来源?我找不到来源类型 像dir或其他,只有存档,git(没有hg?)...

2 个答案:

答案 0 :(得分:1)

flatpak-builder旨在使整个构建过程自动化,只需一个入口点:JSON清单。

从Git,Bazaar或tarball获得的所有其他内容。请注意,对于这些,"url"属性可能是以file://开头的本地网址。

(确实没有对Hg的支持。如果这对你很重要,请随意request it。)

除此之外,还有一些源类型(参见flatpak-manifest(5)联机帮助页),可用于修改提取的源:

  • file指向要在提取的源中的某处复制的本地文件;
  • patch指向要应用于提取的源的本地补丁文件;
  • script,它通过一系列命令在提取的源中创建脚本;
  • shell通过运行一系列命令来修改提取的源;

添加dir源类型可能很有用。

然而(我只是展示了一些应用程序,并为代码贡献了2或3个补丁,所以我可能完全错了)必须小心,因为这很容易使构建完全不可复制,这是一件事{{1尝试很难启用。

例如,当使用本地flatpak-builder来源时,file将对该文件的内容进行base64-econde并将其用作文件的flatpak-builder URL清单中的商店包含在最终版本中。

data:text/plain;charset=utf8;base64,<content>源可能需要类似的东西(tar文件夹然后base64编码tar的内容?),否则将无法重现构建。< / s>我刚刚被告知(在提交此答案后),这在Git master中发生了变化,支持新的dir选项。这可能会更容易使用flatpak-builder --bundle-sources源类型支持可重现的构建。

在任何情况下,您都可以围绕新的dir来源类型in the upstream bug tracker开始对话。 :)

答案 1 :(得分:0)

如果您想使用它,可以使用实验性cli工具https://gitlab.com/csoriano/flatpak-dev-cli

您可以阅读文档

简而言之,这就是你需要使用flatpak作为开发工作台

https://github.com/albfan/gnome-builder/wiki/flatpak