feat: add triggers array in HOOK and update hook behavier

This commit is contained in:
2025-03-28 23:13:12 -04:00
parent cc364c9323
commit f0265b9bea
4 changed files with 46 additions and 15 deletions

View File

@@ -15,8 +15,7 @@
BUILD_DIR - 编译目录
PKGBUILD_DIR - PKGBUILD目录
TRACE_DIR - 安装文件跟踪目录
INSTALL_HOOK_DIR - 安装软件包时触发的钩子目录
REMOVE_HOOK_DIR - 移除软件包时触发的钩子目录
HOOK_DIR - 钩子目录
BINARY_DIR - 二进制包存放目录
TEMP_DIR - 二进制包解包临时目录
INSTALLED_PACKAGES - 已安装软件包数据库
@@ -87,7 +86,7 @@
编写PKGBUILD的一般原则: 模块见`template.PKGBUILD`, 语法必须符合`BASH`, 可以定义额外的函数(尽量不要在头部定义全局变量, 这会导致构建环境的污染, 需要手动`unset`, 推荐在函数中用`local`定义局部变量); `src_build`函数只负责编译软件, 并将其安装到`$pkgdir`, 而`src_[pre|post][install|remove]`函数只负责操作根文件系统; `Systemd`单元一般由用户手动开启或关闭。
另外, 某些软件包需要生成缓存或更改文件属性才能正常使用(见`HOOKS.md`), 需要定义特定操作的钩子文件, 模板见`template.HOOK`, 语法必须符合`BASH`。
另外, 某些软件包需要生成缓存或更改文件属性才能正常使用(见`HOOKS.md`), 需要定义特定操作的钩子文件, 模板见`template.HOOK`, 语法必须符合`BASH`。在 `PKGBUILD` 文件内请使用 `leaf_install_hook <foo>.HOOK` 来安全地安装 `<foo>.HOOK` 文件,该函数将检查 `.HOOK` 文件的有效性,并正确安装到 `${pkgdir}${HOOK_DIR}`。
4. 构建选项