Skip to content

Conversation

@18202781743
Copy link
Contributor

  1. Replaced PROJECT_VERSION_MAJOR-based Qt version detection with
    explicit DTK5/DTK6 build option
  2. Added DTK5 CMake option (default ON) to control DTK5 vs DTK6 builds
  3. Updated DTK_VERSION calculation to use DTK_VERSION_MAJOR from build
    option instead of PROJECT_VERSION_MAJOR
  4. Modified CMake logic to conditionally build wayland plugin only for
    DTK5 builds
  5. Restructured debian/control to support both DTK5 and DTK6 packages
    with Build-Profiles
  6. Added new dde-qt6xcb-plugin package for DTK6 builds
  7. Implemented separate build directories (build-dtk5, build-dtk6) in
    debian/rules for parallel builds
  8. Added build profile support (nodtk5, nodtk6) to control which
    packages are built
  9. Updated package descriptions to clearly indicate DTK5/Qt5 vs DTK6/
    Qt6 versions

Log: Updated build system to support both DTK5 and DTK6 versions

Influence:

  1. Test building with default settings (DTK5=ON) to ensure DTK5 builds
    work
  2. Test building with DTK5=OFF to verify DTK6 builds work correctly
  3. Verify that wayland plugin is only built for DTK5 builds
  4. Test package generation with different build profiles (nodtk5,
    nodtk6)
  5. Verify that both dde-qt5xcb-plugin and dde-qt6xcb-plugin packages are
    created correctly
  6. Test installation of both DTK5 and DTK6 packages on appropriate
    systems
  7. Verify plugin paths are correct (Qt5 vs Qt6 plugin directories)

refactor: 统一DTK5/DTK6构建系统

  1. 将基于PROJECT_VERSION_MAJOR的Qt版本检测改为显式的DTK5/DTK6构建选项
  2. 添加DTK5 CMake选项(默认开启)来控制DTK5与DTK6构建
  3. 更新DTK_VERSION计算,使用构建选项中的DTK_VERSION_MAJOR而非
    PROJECT_VERSION_MAJOR
  4. 修改CMake逻辑,仅对DTK5构建有条件地构建wayland插件
  5. 重构debian/control以支持带有Build-Profiles的DTK5和DTK6包
  6. 为DTK6构建添加新的dde-qt6xcb-plugin包
  7. 在debian/rules中实现独立的构建目录(build-dtk5, build-dtk6)用于并行
    构建
  8. 添加构建配置文件支持(nodtk5, nodtk6)来控制构建哪些包
  9. 更新包描述以清晰标明DTK5/Qt5与DTK6/Qt6版本

Log: 更新构建系统以支持DTK5和DTK6版本

Influence:

  1. 使用默认设置(DTK5=ON)测试构建,确保DTK5构建正常工作
  2. 使用DTK5=OFF测试构建,验证DTK6构建正确工作
  3. 验证wayland插件仅对DTK5构建进行构建
  4. 使用不同的构建配置文件(nodtk5, nodtk6)测试包生成
  5. 验证dde-qt5xcb-plugin和dde-qt6xcb-plugin包都正确创建
  6. 在适当的系统上测试DTK5和DTK6包的安装
  7. 验证插件路径正确(Qt5与Qt6插件目录)

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

Source-pull-request: linuxdeepin/qt5platform-plugins#316
@github-actions
Copy link
Contributor

  • 检测到debian目录文件有变更: debian/dde-qt6xcb-plugin.install,debian/control,debian/rules

@github-actions
Copy link
Contributor

  • 敏感词检查失败, 检测到1个文件存在敏感词
详情
{
    "CMakeLists.txt": [
        {
            "line": "    HOMEPAGE_URL \"https://github.com/linuxdeepin/qt5platform-plugins\"",
            "line_number": 13,
            "rule": "S35",
            "reason": "Url link | 508b5ed804"
        }
    ]
}

deepin-ci-robot added a commit to linuxdeepin/qt6platform-plugins that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/qt5platform-plugins.

Source-pull-request: linuxdeepin/qt5platform-plugins#316
@github-actions
Copy link
Contributor

  • 检测到debian目录文件有变更: debian/dde-qt6xcb-plugin.install,debian/control,debian/rules

@github-actions
Copy link
Contributor

  • 敏感词检查失败, 检测到1个文件存在敏感词
详情
{
    "CMakeLists.txt": [
        {
            "line": "    HOMEPAGE_URL \"https://github.com/linuxdeepin/qt5platform-plugins\"",
            "line_number": 13,
            "rule": "S35",
            "reason": "Url link | 508b5ed804"
        }
    ]
}

@deepin-ci-robot
Copy link
Contributor

deepin pr auto review

我来对这个diff进行详细审查:

  1. CMakeLists.txt 改进建议:
  • 优点:

    • 引入了DTK5/DTK6构建选项,使版本控制更灵活
    • 版本号处理更规范,拆分为主版本、次版本和补丁版本
    • 添加了构建状态信息输出,方便调试
  • 建议改进:

    • 可以添加版本号验证,确保VERSION文件内容格式正确
    • 建议添加对DTK_VERSION_MAJOR的有效性检查(只允许5或6)
  1. debian/control 改进建议:
  • 优点:

    • 添加了对Qt6的支持
    • 使用Build-Profiles进行更精细的包构建控制
    • 依赖项组织更清晰,按字母顺序排列
  • 建议改进:

    • 可以考虑添加对Qt6版本的具体版本要求
    • 建议添加对Python版本的依赖说明(如果有的话)
  1. debian/rules 改进建议:
  • 优点:

    • 实现了DTK5和DTK6的并行构建支持
    • 添加了安全编译参数
    • 构建流程更规范,各个阶段都有明确的控制
  • 建议改进:

    • 可以添加构建失败时的错误处理
    • 建议添加对并行构建的支持(如-$(nproc))
  1. tests/CMakeLists.txt 改进建议:
  • 优点:

    • 条件编译sanitize选项,避免Release版本的性能影响
    • 添加了测试用例
  • 建议改进:

    • 可以添加更多的编译器警告选项(如-Wextra)
    • 建议添加对代码覆盖率报告的生成支持

总体安全建议:

  1. 所有动态库都应该使用RELRO(重定位只读)保护
  2. 建议启用FORTIFY_SOURCE来增强缓冲区保护
  3. 考虑添加栈保护(-fstack-protector-strong)

性能优化建议:

  1. 可以考虑使用LTO(链接时优化)来提升性能
  2. 建议启用编译器的优化选项(如-O2或-O3)

代码质量建议:

  1. 建议添加静态代码分析工具的集成
  2. 可以考虑添加代码格式化工具的配置
  3. 建议添加单元测试的覆盖率要求

这些改进将有助于提高代码的安全性、性能和可维护性。

deepin-ci-robot added a commit to linuxdeepin/qt6platform-plugins that referenced this pull request Dec 30, 2025
Synchronize source files from linuxdeepin/qt5platform-plugins.

Source-pull-request: linuxdeepin/qt5platform-plugins#316
@github-actions
Copy link
Contributor

  • 检测到debian目录文件有变更: debian/dde-qt6xcb-plugin.install,debian/control,debian/rules

@github-actions
Copy link
Contributor

  • 敏感词检查失败, 检测到1个文件存在敏感词
详情
{
    "CMakeLists.txt": [
        {
            "line": "    HOMEPAGE_URL \"https://github.com/linuxdeepin/qt5platform-plugins\"",
            "line_number": 13,
            "rule": "S35",
            "reason": "Url link | 508b5ed804"
        }
    ]
}

mhduiy
mhduiy previously approved these changes Dec 31, 2025
1. Replaced PROJECT_VERSION_MAJOR-based Qt version detection with
explicit DTK5/DTK6 build option
2. Added DTK5 CMake option (default ON) to control DTK5 vs DTK6 builds
3. Updated DTK_VERSION calculation to use DTK_VERSION_MAJOR from build
option instead of PROJECT_VERSION_MAJOR
4. Modified CMake logic to conditionally build wayland plugin only for
DTK5 builds
5. Restructured debian/control to support both DTK5 and DTK6 packages
with Build-Profiles
6. Added new dde-qt6xcb-plugin package for DTK6 builds
7. Implemented separate build directories (build-dtk5, build-dtk6) in
debian/rules for parallel builds
8. Added build profile support (nodtk5, nodtk6) to control which
packages are built
9. Updated package descriptions to clearly indicate DTK5/Qt5 vs DTK6/
Qt6 versions

Log: Updated build system to support both DTK5 and DTK6 versions

Influence:
1. Test building with default settings (DTK5=ON) to ensure DTK5 builds
work
2. Test building with DTK5=OFF to verify DTK6 builds work correctly
3. Verify that wayland plugin is only built for DTK5 builds
4. Test package generation with different build profiles (nodtk5,
nodtk6)
5. Verify that both dde-qt5xcb-plugin and dde-qt6xcb-plugin packages are
created correctly
6. Test installation of both DTK5 and DTK6 packages on appropriate
systems
7. Verify plugin paths are correct (Qt5 vs Qt6 plugin directories)

refactor: 统一DTK5/DTK6构建系统

1. 将基于PROJECT_VERSION_MAJOR的Qt版本检测改为显式的DTK5/DTK6构建选项
2. 添加DTK5 CMake选项(默认开启)来控制DTK5与DTK6构建
3. 更新DTK_VERSION计算,使用构建选项中的DTK_VERSION_MAJOR而非
PROJECT_VERSION_MAJOR
4. 修改CMake逻辑,仅对DTK5构建有条件地构建wayland插件
5. 重构debian/control以支持带有Build-Profiles的DTK5和DTK6包
6. 为DTK6构建添加新的dde-qt6xcb-plugin包
7. 在debian/rules中实现独立的构建目录(build-dtk5, build-dtk6)用于并行
构建
8. 添加构建配置文件支持(nodtk5, nodtk6)来控制构建哪些包
9. 更新包描述以清晰标明DTK5/Qt5与DTK6/Qt6版本

Log: 更新构建系统以支持DTK5和DTK6版本

Influence:
1. 使用默认设置(DTK5=ON)测试构建,确保DTK5构建正常工作
2. 使用DTK5=OFF测试构建,验证DTK6构建正确工作
3. 验证wayland插件仅对DTK5构建进行构建
4. 使用不同的构建配置文件(nodtk5, nodtk6)测试包生成
5. 验证dde-qt5xcb-plugin和dde-qt6xcb-plugin包都正确创建
6. 在适当的系统上测试DTK5和DTK6包的安装
7. 验证插件路径正确(Qt5与Qt6插件目录)
deepin-ci-robot added a commit to linuxdeepin/qt6platform-plugins that referenced this pull request Dec 31, 2025
Synchronize source files from linuxdeepin/qt5platform-plugins.

Source-pull-request: linuxdeepin/qt5platform-plugins#316
@github-actions
Copy link
Contributor

  • 检测到debian目录文件有变更: debian/dde-qt6xcb-plugin.install,debian/control,debian/rules

@deepin-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 18202781743

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

1 similar comment
@deepin-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 18202781743

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

@github-actions
Copy link
Contributor

  • 敏感词检查失败, 检测到2个文件存在敏感词
详情
{
    "CMakeLists.txt": [
        {
            "line": "    HOMEPAGE_URL \"https://github.com/linuxdeepin/qt5platform-plugins\"",
            "line_number": 13,
            "rule": "S35",
            "reason": "Url link | 508b5ed804"
        }
    ],
    "archlinux/PKGBUILD": [
        {
            "line": "url=\"https://github.com/linuxdeepin/qt5platform-plugins\"",
            "line_number": 10,
            "rule": "S35",
            "reason": "Url link | 508b5ed804"
        }
    ]
}

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.

3 participants