RPM 签名验证在 Ubuntu 中失败但在 CentOS 上有效

问题描述 投票:0回答:0

什么可能导致

rpm -Kv
hello.rpm 识别由我的 Python 脚本生成的模仿 rpm 工具原始歌唱过程的签名的不一致? rpm包中添加签名成功,但有时命令无法识别。任何解决此问题的见解或建议将不胜感激。我正在使用 Ubuntu 使用 python 脚本对 rpm 包进行签名。

在 Ubuntu 机器上

命令:

rpm -Kv hello.rpm
输出:

hello.rpm:
    Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
    Header SHA256 digest: OK
    Header SHA1 digest: OK
    Payload SHA256 digest: OK
    MD5 digest: OK

命令:

rpm -qiv hello.rpm
输出:

error: demo.rpm: Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
error: demo.rpm: not an rpm package (or package manifest)

在 CentOS 机器上(使用 Docker)

命令:

rpm -Kv hello.rpm
输出:

hello.rpm:
    Header V4 RSA/SHA256 Signature, key ID 80d9f118: OK
    Header SHA256 digest: OK
    Header SHA1 digest: OK
    Payload SHA256 digest: OK
    MD5 digest: OK

命令:

rpm -qiv hello.rpm
输出:

Name        : hello
Version     : 0.0.1
Release     : 1.el8
Architecture: noarch
Install Date: (not installed)
Group       : Unspecified
Size        : 34
License     : GPL
Signature   : RSA/SHA256, Sat May  6 10:39:43 2023, Key ID af325bfe80d9f118
Source RPM  : hello-0.0.1-1.el8.src.rpm
Build Date  : Wed Jan 25 06:43:19 2023
Build Host  : e5eee6689554
Relocations : (not relocatable)
Summary     : A simple hello world script
Description :
A demo RPM build

以下是 rpm trace 的更多详细信息

命令:

RPM_TRACE=1 rpm -qip hello.rpm 
输出:

在 Ubuntu 机器上

_rpmInitCrypto: entered
_rpmInitCrypto: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b30
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d900ea8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x55801d900ea8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d901008
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b30
_rpmDigestUpdate: data: &[] <- 0x55801d901008
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b30
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8c5c50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b30
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8c5c50
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d8d4540
_pgpPubkeyKeyID: Key ID: 48EA1457D3E3330E
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d8d4540
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d8d27a0
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d904e00
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Got 0 subkeys
_pgpPrtParamsSubkeys: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d905c70
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d908858
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x55801d908858
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d9089b8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905c70
_rpmDigestUpdate: data: &[] <- 0x55801d9089b8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905c70
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905130
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d9050f0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905c70
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905130
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d9050f0
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d900ea0
_pgpPubkeyKeyID: Key ID: F1BAB259E14FA44E
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d900ea0
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d903f80
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d90bcc0
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Subkey: 27640070E2297392
_pgpPrtParamsSubkeys: dig: returning 0x55801d910500
_pgpPrtParamsSubkeys: Got 1 subkeys
_pgpPrtParamsSubkeys: -> success
_pgpDigParamsSignID: entered
_pgpDigParamsSignID: dig: & <- 0x55801d910500
_pgpDigParamsSignID: SignID: 27640070E2297392
_pgpDigParamsSignID: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d8f9b50
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d905600
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x7f3135667160
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5b70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d910848
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x55801d910848
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d8f9b50
_rpmDigestUpdate: data: &[] <- 0x55801d9109a8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d905600
_rpmDigestUpdate: data: &[] <- 0x55801d9109a8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d8f9b50
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d8f9b50
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905600
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d905130
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d902690
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905600
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5ab0
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5ab8
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d905130
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d902690
_rpmDigestFinal: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpPubkeyKeyID: entered
_pgpPubkeyKeyID: pkt: &[] <- 0x55801d8d4540
_pgpPubkeyKeyID: Key ID: AF325BFE80D9F118
_pgpPubkeyKeyID: keyid: &[] <- 0x7ffc410f5d00
_pgpPubkeyKeyID: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d8d4540
_pgpPrtParams: paramsp: &mut <- 0x7ffc410f5cf0
_pgpPrtParams: PgpDigParams { obj, signid: buffer, userid: userid }: returning 0x55801d901190
_pgpPrtParams: -> success
_pgpPrtParamsSubkeys: entered
_pgpPrtParamsSubkeys: pkts: &[] <- 0x55801d909500
_pgpPrtParamsSubkeys: subkeys: &mut <- 0x7ffc410f5cf0
_pgpPrtParamsSubkeys: subkeys_count: &mut <- 0x7ffc410f5ce8
_pgpPrtParamsSubkeys: Got 0 subkeys
_pgpPrtParamsSubkeys: -> success
_pgpPrtParams: entered
_pgpPrtParams: pkts: &[] <- 0x55801d9126b8
_pgpPrtParams: paramsp: &mut <- 0x55801d906da8
_pgpPrtParams: -> error: Failure: Signature Packet
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d90f4b0
_rpmDigestInit: -> success
_rpmDigestInit: entered
_rpmDigestInit: ctx: returning 0x55801d909430
_rpmDigestInit: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d90f4b0
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5d70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d909430
_rpmDigestUpdate: data: &[] <- 0x7ffc410f5d70
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d90f4b0
_rpmDigestUpdate: data: &[] <- 0x55801d9140d8
_rpmDigestUpdate: -> success
_rpmDigestUpdate: entered
_rpmDigestUpdate: ctx: &mut <- 0x55801d909430
_rpmDigestUpdate: data: &[] <- 0x55801d9140d8
_rpmDigestUpdate: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d90f4b0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d90f4b0
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d909430
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d9050f0
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5d40
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5d48
_rpmDigestFinal: -> success
_rpmDigestDup: entered
_rpmDigestDup: ctx: & <- 0x55801d912610
_rpmDigestDup: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d909430
_rpmDigestFinal: datap: Option<&mut> <- 0x7ffc410f5d40
_rpmDigestFinal: lenp: Option<&mut> <- 0x7ffc410f5d48
_rpmDigestFinal: -> success
error: demo.rpm: Header RSA signature: BAD (package tag 268: invalid OpenPGP signature)
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d9050f0
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: ctx: owned <- 0x55801d912610
_rpmDigestFinal: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
_rpmDigestFinal: entered
_rpmDigestFinal: -> error: Failure: ctx must not be NULL
error: demo.rpm: not an rpm package (or package manifest)
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_pgpDigParamsFree: entered
_pgpDigParamsFree: -> success
_rpmFreeCrypto: entered
_rpmFreeCrypto: -> success

在 CentOS 机器上(使用 Docker)

Name        : hello
Version     : 0.0.1
Release     : 1.el8
Architecture: noarch
Install Date: (not installed)
Group       : Unspecified
Size        : 34
License     : GPL
Signature   : RSA/SHA256, Sat May  6 10:39:43 2023, Key ID af325bfe80d9f118
Source RPM  : hello-0.0.1-1.el8.src.rpm
Build Date  : Wed Jan 25 06:43:19 2023
Build Host  : e5eee6689554
Relocations : (not relocatable)
Summary     : A simple hello world script
Description :
A demo RPM build

发现这个 link 有同样的问题,但无法理解那里的修复方法。

security centos digital-signature rpm gnupg
© www.soinside.com 2019 - 2024. All rights reserved.