Skip to content

fix: Fix v20 env build issue.#190

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
re2zero:bugfix
Jan 30, 2026
Merged

fix: Fix v20 env build issue.#190
deepin-bot[bot] merged 1 commit into
linuxdeepin:masterfrom
re2zero:bugfix

Conversation

@re2zero

@re2zero re2zero commented Jan 30, 2026

Copy link
Copy Markdown
Contributor

update Build-Depends for dde-file-manager-dev alternative

Log: Fix v20 env build issue.

Summary by Sourcery

Build:

  • Update debian control Build-Depends to accept either dde-file-manager-dev or libdde-file-manager-dev as the development dependency.

update Build-Depends for dde-file-manager-dev alternative

Log: Fix v20 env build issue.
@sourcery-ai

sourcery-ai Bot commented Jan 30, 2026

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

Reviewer's Guide

Update Debian packaging to allow building against either dde-file-manager-dev or libdde-file-manager-dev, fixing v20 environment build issues.

File-Level Changes

Change Details Files
Relax the Debian Build-Depends to accept an alternative file manager dev package, improving compatibility with v20 build environments.
  • Change the Build-Depends entry from a hard requirement on libdde-file-manager-dev to an alternative dependency `dde-file-manager-dev
libdde-file-manager-dev`
  • Retain all other existing build dependencies and packaging metadata unchanged

  • 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

    这段代码是一个 Debian 软件包构建配置文件(debian/control)的差异对比,主要涉及构建依赖项的修改。以下是对该变动的详细审查和改进建议:

    1. 语法逻辑审查

    • 现状:将 libdde-file-manager-dev 修改为 dde-file-manager-dev | libdde-file-manager-dev
    • 分析:这是 Debian 控制文件中标准的"或"(OR)依赖语法。dpkgapt 在构建时,会尝试从左到右安装列表中的第一个满足条件的包。如果 dde-file-manager-dev 不可用,它会回退到 libdde-file-manager-dev
    • 结论:语法完全正确,逻辑上实现了向后兼容或针对不同发行版的灵活性。

    2. 代码质量

    • 现状:使用了包名的替代方案。
    • 分析:这种写法提高了构建系统的鲁棒性。它允许该软件包在不同的 Deepin/Debian 环境版本中构建,只要这两个包中有一个存在即可。这通常是为了适配包重命名或者不同仓库(如 Deepin 官方仓库 vs Debian 社区仓库)中的包名差异。
    • 建议:确认 dde-file-manager-devlibdde-file-manager-dev 提供的接口(头文件、库文件、Pkg-config 文件)是完全兼容的。如果这两个包提供的版本或 API 有显著差异,这种“或”关系可能会导致构建结果不一致或运行时错误。

    3. 代码性能

    • 分析:这属于构建配置,不影响最终生成二进制文件的运行时性能。
    • 构建性能:对构建时间的影响可以忽略不计。包管理器只需要在解析依赖时多检查一个包名。

    4. 代码安全

    • 分析
      • 供应链安全:引入了一个新的依赖候选项 dde-file-manager-dev。需要确保这个新包来自可信的源,并且其维护者也是可信的。
      • 一致性风险:如果 dde-file-manager-devlibdde-file-manager-dev 的维护进度不同步(例如一个修复了安全漏洞,另一个没有),那么根据构建环境的不同,生成的软件包可能会链接到有漏洞的库上。
    • 建议
      • 如果可能,建议明确首选依赖项,或者确保这两个包在构建系统中总是同步更新。
      • 如果 dde-file-manager-dev 是为了替代旧的 libdde-file-manager-dev,建议在 debian/changelog 中记录这一变更原因,并在未来版本中考虑移除旧的依赖项(如果旧包已被废弃)。

    总结与改进意见

    这个修改主要是为了适配依赖包的命名变更或提供多源构建支持,在语法和逻辑上是正确的。

    改进建议:

    1. 文档化:建议在 debian/changelog 或提交信息中明确说明为什么需要引入这个替代关系(例如:适配新版本的 Deepin V23,或者兼容 Debian 上游)。
    2. 版本号限制:如果这两个包的 API 有特定版本要求,建议在依赖项中增加版本号限制,例如:
      dde-file-manager-dev (>= 1.0.0) | libdde-file-manager-dev (>= 0.9.0)
      
      这样可以防止构建系统安装了过旧的包而导致编译失败。
    3. 未来清理:如果 libdde-file-manager-dev 已经被废弃,建议确认是否还需要保留它。如果只是为了短暂的过渡期,建议制定计划在未来的版本中移除它,以减少维护负担。

    @deepin-ci-robot

    Copy link
    Copy Markdown

    [APPROVALNOTIFIER] This PR is NOT APPROVED

    This pull-request has been approved by: lzwind, re2zero

    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-bot

    deepin-bot Bot commented Jan 30, 2026

    Copy link
    Copy Markdown
    Contributor

    This pr cannot be merged! (status: unstable)

    @re2zero

    re2zero commented Jan 30, 2026

    Copy link
    Copy Markdown
    Contributor Author

    /forcemerge

    @deepin-bot

    deepin-bot Bot commented Jan 30, 2026

    Copy link
    Copy Markdown
    Contributor

    This pr force merged! (status: unstable)

    @deepin-bot deepin-bot Bot merged commit 99eaf6e into linuxdeepin:master Jan 30, 2026
    17 of 18 checks passed
    @re2zero re2zero deleted the bugfix branch January 30, 2026 07:51
    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