Repository navigation
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: wrj97-alt The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @wrj97-alt. Thanks for your PR. I'm waiting for a OpenAtom-Linyaps member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Codecov Report❌ Patch coverage is
... and 10 files with indirect coverage changes 🚀 New features to boost your workflow:
|
3877a97 to
1bd2dfd
Compare
43c9e0a to
bef2703
Compare
17e9f27 to
034c38e
Compare
7cb508a to
463d0c1
Compare
463d0c1 to
0f979bf
Compare
0f979bf to
d6e787b
Compare
Write a single executable wrapper named after the appid into entries/bin: the real script lives under entries/bin/apps/<APPID>/bin and a relative symlink in entries/bin points to it. The wrapper is owned by the app's binary module (other modules never overwrite it) and a command-less layer removes any stale wrapper from a previous version. Wrapper creation is an idempotent upsert (EEXIST with identical content is a no-op, different content is overwritten). unexportAppEntries cleans up the wrapper at the appID level, removing it only when no other undeleted layer of the same app remains, keeping it alive across upgrades and module-level uninstalls. The top-level bin/share entries directories are kept even when empty since the environment injection references them. Bump LINGLONG_EXPORT_VERSION to 1.0.0.5.
Restore the environment export layout to master form (the user-environment-generators/profile.d multi-leg split left over from the refactor is dropped) and have the systemd system environment generator (61-linglong) append entries/bin to PATH idempotently and only when the directory exists, in addition to emitting XDG_DATA_DIRS. The entries/bin and entries/share directories are created by the package manager on export (createBinaryWrapperScript makes entries/bin/apps/<APPID>/bin and exportAppBinaries ensures entries/share), so no tmpfiles pre-creation or CMake prefix checks are needed.
d6e787b to
2c540fd
Compare
概述
在安装/升级 app 类型的玲珑包时,向
entries/bin导出一个与 appid 同名的可执行 wrapper(exec ll-cli run <APPID> -- <command...> "$@"),并通过 systemd 环境生成器把entries/bin追加进PATH,使宿主可直接运行导出的命令。主要改动
1. 二进制 wrapper 导出与生命周期(ostree_repo)
exportAppBinaries生成真实脚本entries/bin/apps/<APPID>/bin/<APPID>,并在entries/bin下建立指向它的相对符号链接;内容取完整 command 数组。创建为幂等 upsert(内容相同为 no-op,不同则覆盖)。unexportAppEntries仅在应用最后一个未删除 layer 被移除时清理 wrapper,升级/模块级卸载时保留。entries/bin、entries/share(环境注入引用它们)。entries/bin/apps/<APPID>/bin与entries/share由导出逻辑(createBinaryWrapperScript/exportAppBinaries)自行创建,不再依赖 tmpfiles 预建。LINGLONG_EXPORT_VERSION升至1.0.0.5以触发现有安装重新导出。2. 环境注入(misc/)
测试
ctest:745/745 通过;pre-commit 通过。