全部文章目录:
Flatpak打包(1)——Flatpak 介绍
Flatpak打包(2)——Flatpak应用元素
Flatpak打包(3)——应用Flatpak
Flatpak打包(4)——构建第一个Flatpak
Flatpak打包(5)——开始配置
Flatpak打包(6)——构建一个简单的应用
Flatpak打包(7)——Flatpak Builder
Flatpak打包(8)——应用Sandbox(沙盒)
Flatpak打包(9)——应用分发
Flatpak打包(10)——可用运行时(Runtime)
Flatpak打包(11)——命令参考
Flatpak打包(12)——Flatpak-builder命令参考
参考文章:http://docs.flatpak.org/en/latest/elements-of-a-flatpak-app.html#elements-of-a-flatpak-application
flatpak期望应用程序遵循标准的Linux桌面约定。这些补充了用于分发、安装和运行应用程序的少量flatpak特定的元素。
标准应用程序元素
以下是flatpak支持和期望的一些linux桌面约定。鼓励应用程序开发人员使用它们。
- AppData,用于提供应用程序商店使用的应用程序信息,如描述和屏幕截图
- 应用程序图标,由freedesktop图标主题规范指定
- D-Bus,与主机进行交互
- Desktop files,用于提供有关应用程序的基本信息
- PulseAudio,声音
- X11和Wayland,用于显示
应用结构
当使用flatpak构建应用程序时,将使用以下结构输出:
metadata
提供关于应用程序的信息的密钥文件/files
组成应用程序的文件,包括源代码和应用程序数据/files/bin
应用二进制文件export
主机环境需要访问的文件,例如应用程序的AppData,.desktop文件,图标和D-Bus服务文件
导出目录中的所有文件都必须具有应用程序标识作为其前缀。例如:
org.gnome.App.appdata.xml
org.gnome.App.desktop
org.gnome.App.png
org.gnome.App.service
以这种方式命名文件可以防止命名冲突,并确保系统安装的应用程序不会被覆盖。
以这种方式命名导出的文件,可以重命名相关的源文件,也可以使用flatpak-builder在构建时重命名这些文件(有关flatpak构建器的更多详细信息,请见http://docs.flatpak.org/en/latest/flatpak-builder.html)。
元数据文件
应用程序的metadata
文件提供了允许flatpak设置运行应用程序的沙盒的信息。一个典型的元数据文件如下所示:
[Application]
name=org.gnome.gedit
runtime=org.gnome.Platform/x86_64/3.22
sdk=org.gnome.Sdk/x86_64/3.22
command=gedit
[Context]
shared=ipc;network;
sockets=x11;wayland;pulseaudio;
devices=dri;
filesystems=host;
[Environment]
GEDIT_FOO=bar
[Session Bus Policy]
org.extra.name=talk
org.other.name=own
这指定了应用程序的名称,它所需的运行时间,它所构建的sdk以及用来运行它的命令。它还指定文件和设备的访问权限,设置特定的环境变量(当然在应用程序的沙箱内),以及它如何连接到会话总线(session bus)。有关如何更改这些元数据参数的详细信息将在后续章节中介绍。