build(cmake): refactor Qt version compatibility#416
build(cmake): refactor Qt version compatibility#416deepin-bot[bot] merged 1 commit intolinuxdeepin:masterfrom
Conversation
- Separate debian/control files: * control: V25 (Qt6) with explicit qt6-base-dev, libdtk6*-dev deps * control.1: V20 (Qt5) with explicit qtbase5-dev, libdtk*-dev deps This enables seamless building on both V25 (Qt6) and V20 (Qt5) systems without version-specific conditional dependencies. Log: 分离Qt5/Qt6构建配置,支持V25/V20双版本 PMS: https://pms.uniontech.com/task-view-386321.html
|
Warning
|
Reviewer's GuideRefactors Debian packaging to support parallel Qt5 (V20) and Qt6 (V25) builds by splitting the control file into Qt-version-specific variants and updating dependencies accordingly. Flow diagram for selecting Debian control file for Qt5/Qt6 buildsflowchart TD
Start["Start Debian package build"] --> DetectEnv["Detect build environment version"]
DetectEnv -->|V25 with Qt6| UseControlQt6["Use debian/control (Qt6 config)"]
DetectEnv -->|V20 with Qt5| UseControlQt5["Use debian/control.1 (Qt5 config)"]
UseControlQt6 --> InstallQt6Deps["Install Qt6 and DTK6 build dependencies"]
UseControlQt5 --> InstallQt5Deps["Install Qt5 and DTK5 build dependencies"]
InstallQt6Deps --> ConfigureBuild["Configure and build deepin-editor"]
InstallQt5Deps --> ConfigureBuild
ConfigureBuild --> BuildDeb["Produce .deb package for target system"]
BuildDeb --> End["End"]
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 left some high level feedback:
- The new debian/control.1 largely duplicates metadata from debian/control (maintainer, Standards-Version, description, etc.); consider reducing duplication or adding a clear process/mechanism to keep these fields in sync to avoid subtle divergence between Qt5/Qt6 builds over time.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new debian/control.1 largely duplicates metadata from debian/control (maintainer, Standards-Version, description, etc.); consider reducing duplication or adding a clear process/mechanism to keep these fields in sync to avoid subtle divergence between Qt5/Qt6 builds over time.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
deepin pr auto review这段代码变更主要涉及 Deepin 编辑器项目的依赖包升级(从 Qt5/Dtk5 迁移到 Qt6/Dtk6),以及 1. 语法逻辑审查结论:语法正确,逻辑清晰。
2. 代码质量审查存在潜在风险,建议改进。
3. 代码性能审查不适用。
4. 代码安全审查注意依赖库的变更。
5. 其他建议
总结这次修改是一次重大的依赖库升级。主要风险在于移除了向后兼容性。请确保目标环境已经完全准备好支持 Qt6 和 DTK6。此外,请务必检查 |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lzwind, re2zero 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 |
|
/forcemerge |
|
This pr force merged! (status: unstable) |
This enables seamless building on both V25 (Qt6) and V20 (Qt5) systems without version-specific conditional dependencies.
Log: 分离Qt5/Qt6构建配置,支持V25/V20双版本
PMS: https://pms.uniontech.com/task-view-386321.html
Summary by Sourcery
Build: