2024-05-02T21:52:42 (UTC +08:00)
https://docs.flatpak.org/en/latest/building-introduction.html
构建简介 – Flatpak 文档
构建你的第一个 Flatpak 已经快速演示了如何使用 Flatpak 构建应用程序。本页面提供了一个额外的概述,介绍了涉及的内容。
flatpak-builder
flatpak-builder
是构建 Flatpak 应用程序的主要工具。它允许你获取应用程序的源文件并将其构建为 Flatpak 应用程序。它还允许同时构建多个其他依赖项,并将其捆绑到构建中。
flatpak-builder
的输入是一个清单文件。这个文件指定了将要构建的应用程序的参数,比如它的名称和它将依赖的运行时。清单还列出了作为构建过程一部分要构建的所有模块。可以为每个模块指定源,包括指向文件存档或版本控制存储库的链接。其中一个模块(通常是最后一个)是应用程序代码本身。
调用 flatpak-builder
的基本格式如下:
$ flatpak-builder <build-dir> <manifest>
其中 <build-dir>
是应用程序将构建到的目录路径,<manifest>
是清单文件的路径。 <build-dir>
的内容可能对测试和调试很有用,但通常被视为构建过程的产物。
当运行 flatpak-builder
时:
- 如果不存在,将创建构建目录
- 下载并验证每个模块的源代码
- 构建和安装每个模块的源代码
- 通过设置沙盒权限完成构建
- 构建结果被导出到一个存储库(如果尚不存在,则会创建)
然后可以从存储库安装应用程序并运行。
软件开发工具包(SDK)
与在主机环境中构建不同,Flatpak 应用程序是在一个称为 SDK 的单独环境中构建的。
SDK 就像应用程序运行的常规运行时一样。不同之处在于,SDK 还包括构建应用程序所需的所有开发资源和工具,例如构建和打包工具、头文件、编译器和调试器。
每个运行时都有一个相应的 SDK。例如,有一个 GNOME 43 运行时和一个 GNOME 43 SDK。使用运行时的应用程序都使用相匹配的 SDK 进行构建。
与运行时一样,SDK 有时会自动安装,但如果需要手动安装它们,它们的安装方式与应用程序和运行时相同,例如:
$ flatpak install flathub org.gnome.Sdk//43