我有一个要提交到 Flathub 的 Flatpak 清单,但我还想构建一个可以自己重新分发的 .flatpak 包文件。我该怎么做呢?我在 的命令参考中没有找到任何内容flatpak-builder
,并且搜索也没有成果。需要明确的是,我并不期望 Flatpak 包含所有必需的运行时,但我希望从其他地方安装了 Freedesktop 运行时的用户能够安装它。
答案1
这在 Flatpak 的文档中被称为“单文件包”,并且创建它们的方式有些复杂。
首先,您需要使用以下命令构建 Flatpak flatpak-builder
:
$ flatpak-builder build/ <path/to/manifest>
--force-clean
如果build/
已经存在,您可能需要添加。
之后,您需要使用以下命令导出结果flatpak build-export
:
$ flatpak build-export export build
最后,您可以导出 Flatpak 单文件包本身:
$ flatpak build-bundle export example.flatpak <Flatpak app ID>
如果您希望 Flatpak 自动从远程存储库获取缺少的依赖项,您可以添加该--runtime-repo
选项。这是我使用 Flathub 作为运行时存储库的示例:
$ flatpak build-bundle export example.flatpak <Flatpak app ID> --runtime-repo=https://flathub.org/repo/flathub.flatpakrepo
您可以在此处阅读官方文档,其中包含一些此处未涵盖的有关安装的信息:https://docs.flatpak.org/en/latest/single-file-bundles.html