Skip to content

Conversation

@18202781743
Copy link
Contributor

  1. Added CMAKE_SKIP_BUILD_RPATH=ON flag to DEB_CMAKE_EXTRA_FLAGS
  2. Modified dh_auto_configure to include DEB_CMAKE_EXTRA_FLAGS in CMake configuration
  3. This ensures reproducible builds by skipping RPATH embedding during compilation
  4. Improves package consistency across different build environments

Influence:

  1. Verify that builds are reproducible across different systems
  2. Test package installation and runtime functionality
  3. Check that library paths are resolved correctly without embedded RPATH
  4. Validate that the build process completes successfully with new flags

feat: 添加可重复编译参数

  1. 向 DEB_CMAKE_EXTRA_FLAGS 添加 CMAKE_SKIP_BUILD_RPATH=ON 标志
  2. 修改 dh_auto_configure 以在 CMake 配置中包含 DEB_CMAKE_EXTRA_FLAGS
  3. 通过在编译期间跳过 RPATH 嵌入来确保可重复构建
  4. 提高不同构建环境中包的一致性

Influence:

  1. 验证在不同系统上的构建是否可重复
  2. 测试包安装和运行时功能
  3. 检查在没有嵌入 RPATH 的情况下库路径是否正确解析
  4. 验证构建过程是否使用新标志成功完成

1. Added CMAKE_SKIP_BUILD_RPATH=ON flag to DEB_CMAKE_EXTRA_FLAGS
2. Modified dh_auto_configure to include DEB_CMAKE_EXTRA_FLAGS in CMake
configuration
3. This ensures reproducible builds by skipping RPATH embedding during
compilation
4. Improves package consistency across different build environments

Influence:
1. Verify that builds are reproducible across different systems
2. Test package installation and runtime functionality
3. Check that library paths are resolved correctly without embedded
RPATH
4. Validate that the build process completes successfully with new flags

feat: 添加可重复编译参数

1. 向 DEB_CMAKE_EXTRA_FLAGS 添加 CMAKE_SKIP_BUILD_RPATH=ON 标志
2. 修改 dh_auto_configure 以在 CMake 配置中包含 DEB_CMAKE_EXTRA_FLAGS
3. 通过在编译期间跳过 RPATH 嵌入来确保可重复构建
4. 提高不同构建环境中包的一致性

Influence:
1. 验证在不同系统上的构建是否可重复
2. 测试包安装和运行时功能
3. 检查在没有嵌入 RPATH 的情况下库路径是否正确解析
4. 验证构建过程是否使用新标志成功完成
@github-actions
Copy link
Contributor

  • 检测到debian目录文件有变更: debian/rules

@deepin-ci-robot
Copy link
Contributor

deepin pr auto review

我来对这个diff进行审查:

  1. 语法逻辑:

    • 语法正确,符合debian/rules文件的格式要求
    • 变量赋值和函数调用都使用了正确的语法
  2. 代码质量:

    • 添加了DEB_CMAKE_EXTRA_FLAGS变量来管理额外的CMake参数,这是一个好的实践
    • 使用了CMAKE_SKIP_BUILD_RPATH=ON参数,这有助于提高构建的可重现性
    • 代码组织清晰,相关配置集中在一起
  3. 代码性能:

    • CMAKE_SKIP_BUILD_RPATH=ON可以减少构建过程中的RPATH处理,略微提高构建效率
    • 这个改动主要影响构建过程,对运行时性能影响不大
  4. 代码安全:

    • 使用CMAKE_SKIP_BUILD_RPATH=ON可以防止RPATH相关的安全问题
    • 配置中已经包含了多个安全相关的链接器标志(-Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack
    • 这个改动与现有的安全配置是一致的

改进建议:

  1. 考虑在添加新配置时添加注释说明原因,比如:

    # reproducible编译参数
    # 禁用RPATH以提高构建的可重现性和安全性
    DEB_CMAKE_EXTRA_FLAGS += -DCMAKE_SKIP_BUILD_RPATH=ON
  2. 如果还有其他reproducible相关的编译参数,建议将它们也添加到DEB_CMAKE_EXTRA_FLAGS中,集中管理。

  3. 考虑在配置部分添加一个空行来提高可读性:

    # reproducible编译参数
    DEB_CMAKE_EXTRA_FLAGS += -DCMAKE_SKIP_BUILD_RPATH=ON
    
    DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

总的来说,这是一个好的改动,提高了构建的可重现性和安全性,代码组织也更加合理。

@deepin-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

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

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 18202781743 merged commit 899c949 into linuxdeepin:master Nov 14, 2025
11 of 13 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