Skip to content

Conversation

@18202781743
Copy link
Contributor

  1. Replaced automatic DTK version detection with explicit DTK5 option
    for unified build configuration
  2. Introduced DTK_NAME_SUFFIX variable to differentiate between DTK5
    (empty) and DTK6 ("6") builds
  3. Updated all CMake configuration files to use DTK_VERSION_MAJOR and
    DTK_NAME_SUFFIX consistently
  4. Modified Debian packaging to support both DTK5 and DTK6 with separate
    build profiles
  5. Added DTK6-specific Debian package definitions and installation
    scripts
  6. Updated debian/rules to handle separate builds for DTK5 and DTK6 with
    proper version mapping
  7. Fixed include paths, library names, and configuration file names to
    follow DTK naming conventions
  8. Ensured proper Qt version selection (Qt5 for DTK5, Qt6 for DTK6)
    throughout the build system

Log: Unified build system now supports both DTK5 and DTK6 with explicit
configuration options

Influence:

  1. Test building with DTK5=ON to ensure DTK5 compatibility
  2. Test building with DTK5=OFF to ensure DTK6 compatibility
  3. Verify library naming: dtkdeclarative for DTK5, dtk6declarative for
    DTK6
  4. Check include paths: /usr/include/dtk5/ for DTK5, /usr/include/dtk6/
    for DTK6
  5. Test Debian packaging with different build profiles (nodtk5, nodtk6,
    nodoc)
  6. Verify CMake configuration files are generated with correct names
  7. Ensure QML plugin installation paths are correct for both Qt5 and Qt6
  8. Test example applications (dtk-exhibition and dtk6-exhibition)
    functionality

refactor: 统一 DTK5 和 DTK6 构建系统

  1. 将自动 DTK 版本检测改为显式 DTK5 选项,实现统一构建配置
  2. 引入 DTK_NAME_SUFFIX 变量区分 DTK5(空)和 DTK6("6")构建
  3. 更新所有 CMake 配置文件以一致使用 DTK_VERSION_MAJOR 和
    DTK_NAME_SUFFIX
  4. 修改 Debian 打包以支持 DTK5 和 DTK6 的独立构建配置
  5. 添加 DTK6 特定的 Debian 包定义和安装脚本
  6. 更新 debian/rules 以处理 DTK5 和 DTK6 的独立构建及版本映射
  7. 修复包含路径、库名称和配置文件名称以遵循 DTK 命名约定
  8. 确保整个构建系统中正确选择 Qt 版本(DTK5 用 Qt5,DTK6 用 Qt6)

Log: 统一构建系统现在支持通过显式配置选项构建 DTK5 和 DTK6

Influence:

  1. 测试使用 DTK5=ON 构建以确保 DTK5 兼容性
  2. 测试使用 DTK5=OFF 构建以确保 DTK6 兼容性
  3. 验证库命名:DTK5 为 dtkdeclarative,DTK6 为 dtk6declarative
  4. 检查包含路径:DTK5 为 /usr/include/dtk5/,DTK6 为 /usr/include/dtk6/
  5. 测试使用不同构建配置(nodtk5、nodtk6、nodoc)的 Debian 打包
  6. 验证 CMake 配置文件是否以正确名称生成
  7. 确保 QML 插件安装路径对 Qt5 和 Qt6 都正确
  8. 测试示例应用程序(dtk-exhibition 和 dtk6-exhibition)的功能

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @18202781743, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 29, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
mhduiy
mhduiy previously approved these changes Dec 31, 2025
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 31, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Dec 31, 2025
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Jan 5, 2026
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Jan 5, 2026
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
1. Replaced automatic DTK version detection with explicit DTK5 option
for unified build configuration
2. Introduced DTK_NAME_SUFFIX variable to differentiate between DTK5
(empty) and DTK6 ("6") builds
3. Updated all CMake configuration files to use DTK_VERSION_MAJOR and
DTK_NAME_SUFFIX consistently
4. Modified Debian packaging to support both DTK5 and DTK6 with separate
build profiles
5. Added DTK6-specific Debian package definitions and installation
scripts
6. Updated debian/rules to handle separate builds for DTK5 and DTK6 with
proper version mapping
7. Fixed include paths, library names, and configuration file names to
follow DTK naming conventions
8. Ensured proper Qt version selection (Qt5 for DTK5, Qt6 for DTK6)
throughout the build system

Log: Unified build system now supports both DTK5 and DTK6 with explicit
configuration options

Influence:
1. Test building with DTK5=ON to ensure DTK5 compatibility
2. Test building with DTK5=OFF to ensure DTK6 compatibility
3. Verify library naming: dtkdeclarative for DTK5, dtk6declarative for
DTK6
4. Check include paths: /usr/include/dtk5/ for DTK5, /usr/include/dtk6/
for DTK6
5. Test Debian packaging with different build profiles (nodtk5, nodtk6,
nodoc)
6. Verify CMake configuration files are generated with correct names
7. Ensure QML plugin installation paths are correct for both Qt5 and Qt6
8. Test example applications (dtk-exhibition and dtk6-exhibition)
functionality

refactor: 统一 DTK5 和 DTK6 构建系统

1. 将自动 DTK 版本检测改为显式 DTK5 选项,实现统一构建配置
2. 引入 DTK_NAME_SUFFIX 变量区分 DTK5(空)和 DTK6("6")构建
3. 更新所有 CMake 配置文件以一致使用 DTK_VERSION_MAJOR 和
DTK_NAME_SUFFIX
4. 修改 Debian 打包以支持 DTK5 和 DTK6 的独立构建配置
5. 添加 DTK6 特定的 Debian 包定义和安装脚本
6. 更新 debian/rules 以处理 DTK5 和 DTK6 的独立构建及版本映射
7. 修复包含路径、库名称和配置文件名称以遵循 DTK 命名约定
8. 确保整个构建系统中正确选择 Qt 版本(DTK5 用 Qt5,DTK6 用 Qt6)

Log: 统一构建系统现在支持通过显式配置选项构建 DTK5 和 DTK6

Influence:
1. 测试使用 DTK5=ON 构建以确保 DTK5 兼容性
2. 测试使用 DTK5=OFF 构建以确保 DTK6 兼容性
3. 验证库命名:DTK5 为 dtkdeclarative,DTK6 为 dtk6declarative
4. 检查包含路径:DTK5 为 /usr/include/dtk5/,DTK6 为 /usr/include/dtk6/
5. 测试使用不同构建配置(nodtk5、nodtk6、nodoc)的 Debian 打包
6. 验证 CMake 配置文件是否以正确名称生成
7. 确保 QML 插件安装路径对 Qt5 和 Qt6 都正确
8. 测试示例应用程序(dtk-exhibition 和 dtk6-exhibition)的功能
@18202781743 18202781743 requested a review from asterwyx January 5, 2026 07:45
deepin-ci-robot added a commit to linuxdeepin/dtk6declarative that referenced this pull request Jan 5, 2026
Synchronize source files from linuxdeepin/dtkdeclarative.

Source-pull-request: linuxdeepin/dtkdeclarative#555
@deepin-ci-robot
Copy link
Contributor

deepin pr auto review

这是一个关于DTK(Deepin Tool Kit)声明性模块的CMake构建系统的重大重构,主要改动是支持同时构建DTK5和DTK6版本。让我从几个方面进行审查:

  1. 语法逻辑:
  • 整体语法正确,CMake命令使用规范
  • 变量命名统一,如DTK_NAME_SUFFIX的使用
  • 条件判断逻辑清晰,使用option(DTK5)来控制版本选择
  1. 代码质量:
  • 优点:
    • 使用统一的版本控制机制,避免了重复的版本判断
    • 通过DTK_NAME_SUFFIX变量统一处理版本后缀
    • 文件组织结构清晰
  • 需要改进:
    • 部分变量命名可以更具描述性,如FILE_VERSION可以改为DTK_FILE_VERSION
    • 建议添加更多注释说明版本控制逻辑
  1. 代码性能:
  • 构建系统性能影响不大
  • 使用了合理的条件编译,避免不必要的构建
  1. 代码安全:
  • 优点:
    • 保持了原有的安全编译参数(-z relro -z now等)
    • 使用了适当的权限控制
  • 建议:
    • 可以考虑添加更多的编译器安全检查选项
    • 建议对版本号输入进行更严格的验证
  1. 其他改进建议:
  • 建议在CMakeLists.txt顶部添加更详细的版本控制说明
  • 可以考虑添加版本兼容性检查
  • 建议统一使用DTK_VERSION_MAJOR而不是混合使用PROJECT_VERSION_MAJOR
  • 部分文件路径的构建可以更加模块化
  1. 打包相关改进:
  • debian/control文件的更新很完整,正确处理了DTK5和DTK6的依赖关系
  • debian/rules的重构很好,支持了并行构建
  • 建议添加更多的构建选项控制,如测试选项

总体来说,这是一个很好的重构,提高了代码的可维护性和灵活性。主要改进是统一了版本控制机制,使代码更容易维护和扩展。建议在后续版本中继续优化命名规范和文档说明。

@deepin-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 18202781743, asterwyx

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@18202781743 18202781743 merged commit c680915 into linuxdeepin:master Jan 6, 2026
18 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants