Repository navigation
chore: migrate linglong deps to declarative buildext.apt - #642
Conversation
1. Replace manual apt download/unpack and generated .install logic in build: 2. Declare buildext.apt build_depends/depends from base/runtime layer contents 3. Drop stale or test-only deps (polkit-qt6, gtest, gmock) and dead scripts 4. Set CMAKE_PREFIX_PATH=/runtime so Qt6 resolves from the runtime layer Log: Linglong build now resolves deps via buildext; event-log lib ships at runtime Influence: 1. Run ll-builder build and confirm it completes without manual dep scripts 2. Launch the app and verify encoding detection works (chardet/uchardet/ICU) 3. Open source files and check syntax highlighting renders (KF6) 4. Check event logging loads libdeepin-event-log.so without errors chore: 玲珑依赖迁移为声明式 buildext.apt 1. 移除 build 中手动 apt 下载解包与 .install 生成逻辑 2. 依据 base/runtime 层内容声明 buildext.apt 构建与运行依赖 3. 剔除陈旧及测试专用依赖(polkit-qt6、gtest、gmock)与死脚本 4. 设置 CMAKE_PREFIX_PATH=/runtime,Qt6 从 runtime 层解析 Log: 玲珑构建改为声明式装依赖;运行层随包携带 libdeepin-event-log.so Influence: 1. 执行 ll-builder build 验证无需手动依赖脚本即可构建通过 2. 启动应用验证编码识别(chardet/uchardet/ICU)功能正常 3. 打开源文件检查语法高亮(KF6)渲染正常 4. 触发埋点日志确认 libdeepin-event-log.so 加载无报错
Reviewer's guide (collapsed on small PRs)Reviewer's GuideMigrates Linglong dependency management from custom apt download/deployment scripts to declarative buildext.apt build and runtime dependencies, while configuring CMake to prefer the runtime layer so installed development packages do not override the intended Qt6/DTK6 toolchain. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location path="linglong.yaml" line_range="43" />
<code_context>
- LDD_FILES=(
- deepin-editor
- libdeepin-event-log.so
- libzpdcallback.so
- )
-
</code_context>
<issue_to_address>
**ZPD restrictions are bypassed**
When a ZPD-enabled build’s base/runtime layers do not provide `libzpdcallback.so`, `libzpdcallback.so` is dynamically loaded and is not captured by normal link dependency resolution. With the library removed from the explicit deployment list and absent from runtime dependencies, `loadCustomDLL()` leaves the callbacks null, so ZPD access-control hooks do not run and configured clipboard restrictions are bypassed.
Include `libzpdcallback.so` in the packaged app by restoring it to the explicit deployment list or declaring it as a runtime dependency.
Also at `linglong.yaml:35`.
</issue_to_address>| LDD_FILES=( | ||
| deepin-editor | ||
| libdeepin-event-log.so | ||
| libzpdcallback.so |
There was a problem hiding this comment.
🟠 High · ZPD restrictions are bypassed
When a ZPD-enabled build’s base/runtime layers do not provide libzpdcallback.so, libzpdcallback.so is dynamically loaded and is not captured by normal link dependency resolution. With the library removed from the explicit deployment list and absent from runtime dependencies, loadCustomDLL() leaves the callbacks null, so ZPD access-control hooks do not run and configured clipboard restrictions are bypassed.
Include libzpdcallback.so in the packaged app by restoring it to the explicit deployment list or declaring it as a runtime dependency.
Also at linglong.yaml:35.
Prompt for AI agents
In `linglong.yaml` at line 43:
**ZPD restrictions are bypassed**
When a ZPD-enabled build’s base/runtime layers do not provide `libzpdcallback.so`, `libzpdcallback.so` is dynamically loaded and is not captured by normal link dependency resolution. With the library removed from the explicit deployment list and absent from runtime dependencies, `loadCustomDLL()` leaves the callbacks null, so ZPD access-control hooks do not run and configured clipboard restrictions are bypassed.
Include `libzpdcallback.so` in the packaged app by restoring it to the explicit deployment list or declaring it as a runtime dependency.
Also at `linglong.yaml:35`.|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lzwind, pengfeixx 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 |
变更说明
将 master 上的提交
6e6b6107(PR #626)cherry-pick 到release/snipe分支。build:中手动 apt 下载/解包(install_dep、deploy_dep)的依赖处理逻辑,并删除这两个死脚本buildext.apt的build_depends/depends,基于 base(org.deepin.base/25.2.2)/runtime(org.deepin.runtime.webengine/6.7.0)层实际包列表核对/usr后抢占find_package(Qt6):cmake 增加-DCMAKE_PREFIX_PATH=/runtime验证
git diff --check通过关联
Summary by Sourcery
Migrate Linglong dependency handling to declarative buildext.apt configuration and simplify the application build.
Bug Fixes:
Enhancements: