Skip to content

Conversation

@18202781743
Copy link
Contributor

  1. Modified debian/control to support both DTK5/Qt5 and DTK6/Qt6 builds
  2. Added conditional build dependencies using Build-Profiles (<!nodtk5>
    and <!nodtk6>)
  3. Created new dde-qt6integration package alongside existing dde-
    qt5integration
  4. Added separate .install files for Qt5 and Qt6 plugin installations
  5. Reorganized build dependencies to separate Qt5 and Qt6 specific
    packages

Log: Added support for DTK6 with Qt6 integration plugins

Influence:

  1. Test building with default profile (both DTK5 and DTK6)
  2. Test building with nodtk5 profile (DTK6 only)
  3. Test building with nodtk6 profile (DTK5 only)
  4. Verify both dde-qt5integration and dde-qt6integration packages are
    created correctly
  5. Check that plugin files are installed to correct Qt5 and Qt6
    directories
  6. Verify package dependencies are correctly set for each integration
    package

feat: 添加DTK6/Qt6支持和统一构建配置

  1. 修改debian/control以支持DTK5/Qt5和DTK6/Qt6双版本构建
  2. 使用构建配置文件添加条件依赖(<!nodtk5>和<!nodtk6>)
  3. 在现有dde-qt5integration包基础上新增dde-qt6integration包
  4. 为Qt5和Qt6插件安装添加独立的.install文件
  5. 重新组织构建依赖,分离Qt5和Qt6特定包

Log: 新增DTK6与Qt6集成插件支持

Influence:

  1. 测试默认配置文件构建(同时构建DTK5和DTK6)
  2. 测试使用nodtk5配置文件构建(仅构建DTK6)
  3. 测试使用nodtk6配置文件构建(仅构建DTK5)
  4. 验证dde-qt5integration和dde-qt6integration包是否正确生成
  5. 检查插件文件是否正确安装到Qt5和Qt6目录
  6. 验证各集成包的依赖关系是否正确设置

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

Source-pull-request: linuxdeepin/qt5integration#294
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

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

Source-pull-request: linuxdeepin/qt5integration#294
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

@deepin-ci-robot
Copy link
Contributor

deepin pr auto review

我来对这个代码变更进行详细审查:

  1. 语法逻辑:
  • 整体语法正确,CMakeLists.txt 和 debian 相关文件的修改都遵循了各自的语法规范。
  • 版本控制逻辑清晰,通过 DTK5 选项来区分构建 DTK5 或 DTK6 版本。
  1. 代码质量:
    优点:
  • 引入了明确的版本控制机制,通过 DTK5 选项来控制构建哪个版本
  • 使用了更清晰的变量命名(如 DTK_NAME_SUFFIX 替代 VERSION_SUFFIX)
  • debian/control 文件中使用了 Build-Profiles 来控制依赖,更灵活

改进建议:

  • CMakeLists.txt 中可以考虑添加版本检查,确保 DTK_VERSION_MAJOR 和 QT_VERSION_MAJOR 的匹配
  • debian/rules 中的版本映射逻辑可以更清晰,建议添加注释说明版本转换规则
  1. 代码性能:
  • 没有明显的性能问题
  • debian/rules 中使用了并行构建,这是好的实践
  1. 代码安全:
    优点:
  • debian/rules 中添加了安全编译参数(hardening=+all, -Wl,-z,relro 等)
  • 使用了适当的依赖管理

改进建议:

  • 建议在 CMakeLists.txt 中添加版本兼容性检查
  • 可以考虑在构建时添加更多的安全检查选项
  1. 具体改进建议:

在 CMakeLists.txt 中添加版本检查:

if(NOT (DTK_VERSION_MAJOR EQUAL QT_VERSION_MAJOR))
    message(FATAL_ERROR "DTK version major number (${DTK_VERSION_MAJOR}) must match Qt version major number (${QT_VERSION_MAJOR})")
endif()

在 debian/rules 中添加版本映射说明:

# 版本映射规则:
# 将版本号 x.y.z 映射为:
# DTK5: 5.y.z
# DTK6: 6.y.z
DTK5_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -E 's/^[0-9]+(\.|[^0-9]|$$)/5\1/')
DTK6_VERSION := $(shell echo $(DEB_VERSION_UPSTREAM) | sed -E 's/^[0-9]+(\.|[^0-9]|$$)/6\1/')
  1. 其他建议:
  • 考虑添加 CI/CD 配置,确保两个版本的构建都能正常工作
  • 建议添加单元测试,验证版本切换的正确性
  • 可以考虑添加文档,说明如何构建不同版本

总的来说,这是一个不错的重构,提高了代码的可维护性和灵活性,但还可以进一步完善安全性和文档。

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

Source-pull-request: linuxdeepin/qt5integration#294
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

mhduiy
mhduiy previously approved these changes Dec 31, 2025
1. Modified debian/control to support both DTK5/Qt5 and DTK6/Qt6 builds
2. Added conditional build dependencies using Build-Profiles (<!nodtk5>
and <!nodtk6>)
3. Created new dde-qt6integration package alongside existing dde-
qt5integration
4. Added separate .install files for Qt5 and Qt6 plugin installations
5. Reorganized build dependencies to separate Qt5 and Qt6 specific
packages

Log: Added support for DTK6 with Qt6 integration plugins

Influence:
1. Test building with default profile (both DTK5 and DTK6)
2. Test building with nodtk5 profile (DTK6 only)
3. Test building with nodtk6 profile (DTK5 only)
4. Verify both dde-qt5integration and dde-qt6integration packages are
created correctly
5. Check that plugin files are installed to correct Qt5 and Qt6
directories
6. Verify package dependencies are correctly set for each integration
package

feat: 添加DTK6/Qt6支持和统一构建配置

1. 修改debian/control以支持DTK5/Qt5和DTK6/Qt6双版本构建
2. 使用构建配置文件添加条件依赖(<!nodtk5>和<!nodtk6>)
3. 在现有dde-qt5integration包基础上新增dde-qt6integration包
4. 为Qt5和Qt6插件安装添加独立的.install文件
5. 重新组织构建依赖,分离Qt5和Qt6特定包

Log: 新增DTK6与Qt6集成插件支持

Influence:
1. 测试默认配置文件构建(同时构建DTK5和DTK6)
2. 测试使用nodtk5配置文件构建(仅构建DTK6)
3. 测试使用nodtk6配置文件构建(仅构建DTK5)
4. 验证dde-qt5integration和dde-qt6integration包是否正确生成
5. 检查插件文件是否正确安装到Qt5和Qt6目录
6. 验证各集成包的依赖关系是否正确设置
deepin-ci-robot added a commit to linuxdeepin/qt6integration that referenced this pull request Dec 31, 2025
Synchronize source files from linuxdeepin/qt5integration.

Source-pull-request: linuxdeepin/qt5integration#294
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

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

@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

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