TODO:apk
TODO: apk
文档
- 记录当前的 apk 内部结构。
- 定义 “virtual”、“alternative” 及其正确用法。
替代方案
当多个软件包提供相同的文件或功能时,允许用户选择首选的实现。
可插拔布局
Flat
现有布局,其中大多数二进制文件和库都在通用目录中。只能安装软件包的单个版本,并且只能安装提供给定文件或功能的单个软件包。
/pkg
/pkg/apk-tools/3.0.0 /pkg/apk-tools/2.7.1 /pkg/apk-tools/default -> 3.0.0
每个软件包都安装在自己的版本化目录中,允许同一软件包的不同版本和提供相同文件的多个软件包共存,并根据需要进行选择。
/app
/app/webserver/20170406 /app/webserver/20170514 /app/webserver/production -> 20170406 /app/webserver/testing -> 20170514
一组完整的软件包及其依赖项,用于为应用程序提供一致的部署环境。通常指定每个依赖项的确切版本,并作为一个单元进行更新。
Manifests
apk manifest [-v] (<pkg>|<.apk>)...
生成指定软件包/apk 中包含的文件清单。
当前默认格式为:sumfunc:checksum path
使用 verbose 标志:pkgname: sumfunc:checksum path
建议的规范格式:pkg:arch/pkgname-pkgver mode user:group size timestamp sumfunc:checksum path
TODO 项
- 定义一个规范的默认 manifest 格式,其中包含所有可用的元数据,并采用可靠的可解析格式。
- 添加以类似于 “stat” 的方式指定 manifest 格式和字段的功能。
- 添加以类似于 tar 的方式选择要显示的文件的子集的功能。(例如,“etc/” 或 “lib/*.so”)
- 添加从文件系统目录结构或路径列表生成 manifest 的功能。
- (已完成 - kaniini)添加为 .apk 文件以及已安装的软件包生成 manifest 的功能。
.apk 生成器
apk gen --key-file=... --control-dir=... --data-dir=...
从密钥文件和两个文件系统目录生成格式良好的 .apk——一个用于控制部分,另一个用于数据部分。
TODO 项
- 记录当前的 WIP (kaniini)。
- 添加使用归档文件作为控制或数据目录的源的功能。
- 添加使用预生成的 manifest 作为源文件列表和软件包文件元数据提供程序的功能。
pax 归档工具
apk archive list -f file.apk [pattern list...]
apk archive extract -f file.apk [pattern list...]
apk archive create -f file.apk [file list...]
apk archive append -f file.apk [file list...]
用于直接操作 .apk 归档文件的底层工具。
TODO 项
- 定义正确的 applet 和命令名称。
- 确定适当的标志。
- 提供在 STDIN、命令行或外部文件中列出的 include/exclude 文件/模式列表的功能。