flatpak-builder
旨在通过一个入口点自动化整个构建过程:JSON 清单。
它从 Git、Bazaar 或 tarball 获得的所有其他内容。请注意,对于这些,该"url"
属性可能是一个以 . 开头的本地 URL file://
。
(确实不支持 Hg。如果这对您很重要,请随时提出请求。)
除此之外,还有一些源类型(参见flatpak-manifest(5)
手册页),可用于修改提取的源:
file
它指向要在提取的源中复制的本地文件;
patch
指向要应用于提取的源的本地补丁文件;
script
它从一组命令中在提取的源中创建一个脚本;
shell
它通过运行一系列命令来修改提取的源;
添加dir
源类型可能很有用。
但是(我只开发了几个应用程序,并为代码贡献了 2 或 3 个补丁,所以我可能完全错了)必须小心,因为这很容易使构建完全无法重现,这是一件flatpak-builder
很难实现的事情。
例如,当使用本地file
源时,flatpak-builder
将对该文件的内容进行 base64-econde 并将其用作文件的data:text/plain;charset=utf8;base64,<content>
URL,该文件存储在最终构建中包含的清单中。
源可能需要类似的东西dir
(tar 文件夹然后 base64 编码 tar 的内容?),否则将无法重现构建。我刚刚被告知(在提交这个答案之后)这在 Git master 中发生了变化,有利于一个新的flatpak-builder --bundle-sources
选项。这可能会使支持具有dir
源类型的可重现构建变得更容易。
无论如何,请随时围绕上游错误跟踪器中dir
的新源类型开始对话。:)