【问题标题】:How to build the rpm package with SHA-256 checksum for files?如何使用文件的 SHA-256 校验和构建 rpm 包?
【发布时间】:2014-06-05 14:05:46
【问题描述】:

在单独的标准 RHEL 6.4 rpm 构建环境中,rpm 包是使用 SHA-256 校验和生成的,由命令 rpm -qp --dump xxx.rpm 获取

[user@redhat64 abc]$ rpm -qp --dump package/rpm/abc-1.0.1-1.x86_64.rpm
..
/opt/company/abc/abc/1.0.1-1/bin/start.sh 507 1398338016 d8820685b6446ee36a85cc1f7387d14537d6f8bf5ce4c5a4ccd2f70e9066c859 0100750 user abcc 0
..

如果它是在docker 环境中构建的(仍然是 RHEL6.4),则校验和是 md5

[user@c1cbdf51d189 abc]$ rpm -qp --dump package/rpm/abc-1.0.1-1.x86_64.rpm
..
/opt/company/abc/abc/1.0.1-1/bin/start.sh 507 1401952578 f229759944ba77c3c8ba2982c55bbe70 0100750 user abcc 0
..

如果我检查了真实文件,文件是一样的

[user@c1cbdf51d189 1.0.1-1]$ sha256sum bin/start.sh
d8820685b6446ee36a85cc1f7387d14537d6f8bf5ce4c5a4ccd2f70e9066c859  bin/start.sh
[user@c1cbdf51d189 1.0.1-1]$ md5sum bin/start.sh
f229759944ba77c3c8ba2982c55bbe70  bin/start.sh

如何配置rpmbuild 以让生成的 rpm 文件基于 SHA-256?

【问题讨论】:

    标签: redhat rpm docker rpmbuild


    【解决方案1】:

    与docker无关,可通过配置开启

    echo "%_binary_filedigest_algorithm  8" >> $HOME/.rpmmacros
    

    仅在标准 RHEL 6.4 中就可以的原因是因为它具有 redhat-rpm-config 包。

    bash-4.1# yum install redhat-rpm-config
    

    在包中,这个配置存在于/usr/lib/rpm/redhat/macros

    bash-4.1# grep digest /usr/lib/rpm/redhat/macros
    %_source_filedigest_algorithm 8
    %_binary_filedigest_algorithm 8
    

    您可以使用命令rpmbuild --showrc检查所有配置。

    【讨论】:

      猜你喜欢
      • 2023-01-25
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 2018-04-26
      • 2013-04-29
      • 1970-01-01
      • 2018-03-01
      • 2022-08-16
      相关资源
      最近更新 更多