Skip to content

fix(debian): add Breaks and Replaces for libdde-shell-dev#1643

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
mhduiy:break
Jun 18, 2026
Merged

fix(debian): add Breaks and Replaces for libdde-shell-dev#1643
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
mhduiy:break

Conversation

@mhduiy

@mhduiy mhduiy commented Jun 18, 2026

Copy link
Copy Markdown
Contributor
  1. Add versioned Breaks for libdde-shell-dev (<< 2.0.38)
  2. Add Replaces directive for libdde-shell-dev (<< 2.0.38)
  3. Prevent file conflicts during package upgrade

Log: 修复 dde-shell 与 libdde-shell-dev 的包冲突问题

fix(debian): 添加 libdde-shell-dev 的 Breaks 和 Replaces

  1. 为 libdde-shell-dev 添加版本化的 Breaks (<< 2.0.38)
  2. 添加 Replaces 指令以正确处理包升级
  3. 防止包升级过程中的文件冲突

Log: fix package conflict between dde-shell and libdde-shell-dev
PMS: BUG-366859

Summary by Sourcery

Update Debian packaging to declare versioned conflicts between dde-shell and libdde-shell-dev to avoid file clashes during upgrades.

Build:

  • Add a versioned Breaks relationship on libdde-shell-dev (<< 2.0.38) in the Debian control file.
  • Add a matching Replaces directive for libdde-shell-dev (<< 2.0.38) to ensure smooth package upgrades without file conflicts.

@sourcery-ai

sourcery-ai Bot commented Jun 18, 2026

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

Reviewer's Guide

Update Debian packaging metadata for dde-shell to declare versioned Breaks and Replaces against libdde-shell-dev < 2.0.38, preventing file conflicts during upgrades.

File-Level Changes

Change Details Files
Declare versioned Breaks and Replaces for libdde-shell-dev to avoid upgrade-time file conflicts with dde-shell.
  • Add a Breaks field targeting libdde-shell-dev versions earlier than 2.0.38.
  • Add a matching Replaces field for libdde-shell-dev versions earlier than 2.0.38 so dpkg can safely overwrite conflicting files during upgrade.
  • Align package metadata with the reported conflict to ensure smoother upgrades from older libdde-shell-dev versions.
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 reviewed your changes and they look great!


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

deepin pr auto review

★ 总体评分:95分

■ 【总体评价】

代码实现了对旧版libdde-shell-dev包的破包与替换声明,逻辑清晰无缺陷
语法完全正确且符合Debian打包规范,因无任何扣分项给95分

■ 【详细分析】

  • 1.语法逻辑(完全正确)✓

debian/control文件中新增的Breaks与Replaces字段语法完全正确,多值字段的最后一项省略逗号符合Debian控制文件语法规范,字段换行与段落分隔无误
建议:保持现有的严格版本号约束写法

  • 2.代码质量(符合规范)✓

针对头文件或开发资源从libdde-shell-dev迁移至dde-shell的场景,正确配套使用了Breaks和Replaces控制字段,能够有效解决升级过程中的包冲突与文件覆盖问题,符合Debian包依赖关系处理最佳实践
建议:无

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

此变更仅涉及包管理器的静态元数据声明,不涉及任何运行时代码、算法或系统调用,对系统性能无任何影响
建议:无

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

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
该diff仅为声明式的打包配置修改,不包含任何可执行逻辑、敏感信息暴露或权限配置变更,无攻击面

  • 建议:无需安全修复

■ 【改进建议代码示例】

--- a/debian/control
+++ b/debian/control
@@ -87,6 +87,8 @@ Depends:
  ${shlibs:Depends},
 Breaks:
  dde-clipboard (<< 1:6.0.14),
+ libdde-shell-dev (<< 2.0.38),
+Replaces: libdde-shell-dev (<< 2.0.38),
 Description: An wrapper for developed based on dde-shell plugin system
 
 Package: dde-shell-example

1. Add versioned Breaks for libdde-shell-dev (<< 2.0.38)
2. Add Replaces directive for libdde-shell-dev (<< 2.0.38)
3. Prevent file conflicts during package upgrade

Log: 修复 dde-shell 与 libdde-shell-dev 的包冲突问题

fix(debian): 添加 libdde-shell-dev 的 Breaks 和 Replaces

1. 为 libdde-shell-dev 添加版本化的 Breaks (<< 2.0.38)
2. 添加 Replaces 指令以正确处理包升级
3. 防止包升级过程中的文件冲突

Log: fix package conflict between dde-shell and libdde-shell-dev
PMS: BUG-366859
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: 18202781743, 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

@deepin-ci-robot

Copy link
Copy Markdown

@mhduiy: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
github-trigger-obs-ci c36e065 link true /test github-trigger-obs-ci

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@mhduiy

mhduiy commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

/forcemerge

@deepin-bot

deepin-bot Bot commented Jun 18, 2026

Copy link
Copy Markdown

This pr force merged! (status: blocked)

@deepin-bot deepin-bot Bot merged commit 5311ef0 into linuxdeepin:master Jun 18, 2026
8 of 11 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.

3 participants