Skip to content

fix: add dev-tools package dependencies to DTK dev packages - #579

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
18202781743:master
Aug 17, 2026
Merged

fix: add dev-tools package dependencies to DTK dev packages#579
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
18202781743:master

Conversation

@18202781743

@18202781743 18202781743 commented Aug 17, 2026

Copy link
Copy Markdown
Contributor
  1. Add libdtk6core-bin dependency to libdtk6core-dev package (DTK6)
  2. Add libdtkcore5-bin dependency to libdtkcore-dev package (DTK5)
  3. Ensure development packages pull in matching version tools packages
  4. Maintain consistent version alignment between dev libraries and tools

Log: Enhanced DTK development packages to include matching tools
dependencies

Influence:

  1. Verify dev package installation includes corresponding tools packages
  2. Confirm version alignment between dev and tools packages
  3. Test installation with versioned dependencies in offline environments
  4. Validate compatibility with existing build systems using DTK dev
    packages

chore: 为 DTK 开发包添加配套工具包依赖

  1. 为 libdtk6core-dev 包(DTK6)添加 libdtk6core-bin 依赖
  2. 为 libdtkcore-dev 包(DTK5)添加 libdtkcore5-bin 依赖
  3. 确保开发包安装时自动引入对应版本的工具包
  4. 保持开发库与工具包之间版本一致性

Log: 增强 DTK 开发包,新增配套工具包依赖

Influence:

  1. 验证开发包安装时是否包含对应的工具包
  2. 确认开发包与工具包之间版本一致性
  3. 在离线环境中测试带版本依赖的安装过程
  4. 验证现有使用 DTK 开发包的构建系统兼容性

Summary by Sourcery

Enhancements:

  • Update DTK6 and DTK5 development package metadata so installing dev libraries also pulls in matching tools binaries.

1. Add libdtk6core-bin dependency to libdtk6core-dev package (DTK6)
2. Add libdtkcore5-bin dependency to libdtkcore-dev package (DTK5)
3. Ensure development packages pull in matching version tools packages
4. Maintain consistent version alignment between dev libraries and tools

Log: Enhanced DTK development packages to include matching tools
dependencies

Influence:
1. Verify dev package installation includes corresponding tools packages
2. Confirm version alignment between dev and tools packages
3. Test installation with versioned dependencies in offline environments
4. Validate compatibility with existing build systems using DTK dev
packages

chore: 为 DTK 开发包添加配套工具包依赖

1. 为 libdtk6core-dev 包(DTK6)添加 libdtk6core-bin 依赖
2. 为 libdtkcore-dev 包(DTK5)添加 libdtkcore5-bin 依赖
3. 确保开发包安装时自动引入对应版本的工具包
4. 保持开发库与工具包之间版本一致性

Log: 增强 DTK 开发包,新增配套工具包依赖

Influence:
1. 验证开发包安装时是否包含对应的工具包
2. 确认开发包与工具包之间版本一致性
3. 在离线环境中测试带版本依赖的安装过程
4. 验证现有使用 DTK 开发包的构建系统兼容性
@18202781743
18202781743 requested review from BLumia and mhduiy August 17, 2026 03:42
@sourcery-ai

sourcery-ai Bot commented Aug 17, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Update DTK development Debian packages so they depend on their corresponding tools (bin) packages, ensuring version alignment between dev libraries and tools for DTK5 and DTK6.

File-Level Changes

Change Details Files
Add explicit tools (bin) package dependencies to DTK dev packages to ensure matching versions are installed together.
  • Add libdtk6core-bin as a dependency of libdtk6core-dev (DTK6) so installing the dev package pulls in the corresponding tools
  • Add libdtkcore5-bin as a dependency of libdtkcore-dev (DTK5) for consistent dev/tools installation
  • Align dependency versions so dev library packages and tools packages remain in sync, improving offline installation and build system compatibility
debian/control

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • When adding the *-bin dependencies to the dev packages, ensure the dependency version is explicitly tied (e.g. = ${binary:Version}) to avoid mismatches between library and tools in mixed-repo environments.
  • Double-check that introducing libdtk6core-bin and libdtkcore5-bin as hard Depends does not create circular or undesired upgrade chains; if the tools are optional at build time, consider Recommends or Suggests instead.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- When adding the *-bin dependencies to the dev packages, ensure the dependency version is explicitly tied (e.g. `= ${binary:Version}`) to avoid mismatches between library and tools in mixed-repo environments.
- Double-check that introducing `libdtk6core-bin` and `libdtkcore5-bin` as hard `Depends` does not create circular or undesired upgrade chains; if the tools are optional at build time, consider `Recommends` or `Suggests` instead.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@deepin-ci-robot

Copy link
Copy Markdown
Contributor

deepin pr auto review

★ 总体评分:75分

■ 【总体评价】

代码实现了dev包对bin包的依赖添加,但存在严重的打包语法错误
逻辑因包名与版本约束缺少空格导致依赖解析可能失败扣15分,质量因缺乏变更意图说明扣10分

■ 【详细分析】

  • 1.语法逻辑存在错误✕

debian/control 文件的新增行中,依赖项 libdtk6core-bin( =${binary:Version})libdtkcore5-bin( =${binary:Version}) 的包名与左括号之间缺少了必需的空格。根据 Debian 策略手册规定,依赖格式必须严格遵循 包名 (关系 版本) 的结构,包名后必须跟随空格。
潜在问题:会导致 apt/dpkg 依赖解析器无法正确识别版本约束关系,可能引发包安装报错中断,或者该依赖项被异常忽略,使得开发包在没有配套 bin 包的环境下被错误安装,破坏了上下文中所探究的依赖完整性设计。
建议:在包名 libdtk6core-binlibdtkcore5-bin 后面各添加一个空格,修正为 libdtk6core-bin (= ${binary:Version})

  • 2.代码质量较差✕

提交的 diff 缺乏对变更原因的有效说明。根据上下文信息可知,连自动化检索工具都在报错并试图理解“为什么 -dev 包现在依赖于 -bin 包”,这反映出该变更缺乏充分的文档记录或提交信息支撑,属于典型的“盲改”。
潜在问题:变更意图不明确,增加了代码审查成本和后续维护人员理解架构演进的难度,不符合开源项目变更管理的规范要求。
建议:在提交信息或相关变更日志中,明确说明 -dev 包需要依赖 -bin 包的具体业务或技术驱动原因(例如是否 -bin 包中提供了编译期必需的代码生成工具或头文件构建脚本等)。

  • 3.代码性能无性能问题✓

该文件为 Debian 打包控制文件,仅在包管理器进行依赖解析和包构建时静态生效,不涉及运行时的算法复杂度、系统调用或内存资源消耗。

  • 4.代码安全存在0个安全漏洞✓

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
该变更仅涉及纯文本的包依赖声明,不包含任何可执行逻辑、外部输入处理或权限管理操作,不存在命令注入、路径遍历或依赖混淆等安全风险。虽然语法错误可能导致依赖缺失,但这属于打包逻辑缺陷,不构成安全漏洞。

■ 【改进建议代码示例】

diff --git a/debian/control b/debian/control
index b987b7c4..12345678 100644
--- a/debian/control
+++ b/debian/control
@@ -46,6 +46,7 @@ Description: Development ToolKit Core Utilities (DTK6 with Qt6)
 Package: libdtk6core-dev
 Architecture: any
 Depends: libdtk6core (= ${binary:Version}),
+ libdtk6core-bin (= ${binary:Version}),
  libdtkcommon-dev (>= 5.6.16), libdtk6log-dev
 Build-Profiles: <!nodtk6>
 Description: Development ToolKit Core Devel Library (DTK6 with Qt6)
@@ -84,6 +85,7 @@ Description: Development ToolKit Core Utilities (DTK5 with Qt5)
 Package: libdtkcore-dev
 Architecture: any
 Depends: libdtkcore5 (= ${binary:Version}),
+ libdtkcore5-bin (= ${binary:Version}),
  libdtkcommon-dev (>= 5.6.16), libdtklog-dev
 Build-Profiles: <!nodtk5>
 Description: Development ToolKit Core Devel Library (DTK5 with Qt5)

@deepin-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 18202781743, BLumia, mhduiy

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

Copy link
Copy Markdown
Contributor Author

/forcemerge

@deepin-bot

deepin-bot Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

This pr force merged! (status: blocked)

@deepin-bot
deepin-bot Bot merged commit 95e93f2 into linuxdeepin:master Aug 17, 2026
22 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