在 SLES 构建上签署 RPM

Posted

技术标签:

【中文标题】在 SLES 构建上签署 RPM【英文标题】:Signing RPM on SLES builds 【发布时间】:2015-11-12 23:34:46 【问题描述】:

我一直在尝试启用对我的 SLES 构建 RPM 进行签名,但出现此错误:

04:30:12 + xargs rpm --resign
04:30:12 error: You must set "%_gpg_name" in your macro file
04:30:12 Pass phrase check failed
04:30:13 Build step 'Execute shell' marked build as failure

我检查了 RH6/7 从机,我安装了 sign-rpm。在 SLES 从站上没有这样的 rpm。我不只是想复制这些 rpm,因为我不确定它们是否适用于 SLES。有人知道使用哪个 rpm 来满足 SLES 特定的签名需求吗?

【问题讨论】:

您是否在 RPM 宏文件中设置了 _gpg_name?因为这就是错误所说的问题。 (我不知道sign-rpm 是什么。你能在其中一台机器上运行rpm -qi sign-rpm 吗?) @Etan 我的虚拟机上不存在 .rpmmacros 文件。我应该创建一个吗?这也是SLES,是一样的吗?在拥有它的 vm 上运行 rpm -qi sign-rpm 并且它说未安装软件包,因此 sign-rpm 与这看起来无关。 (前面我说 sign-rpm 已安装,我应该说 sign-rpm rpm 显示在 rpm --last -qa | tac 下)。 Is rpm --last -qa | tac 显示了一个 sign-rpm 包安装它们rpm -qi sign-rpm 应该给你有关它的信息。如果没有出现问题。我不知道那个包在做什么。它可能会为您的环境提供签名配置,因此您不必手动进行(这就是您遇到此问题的原因)。但是不知道它是什么我不能说。工作的虚拟机是否有.rpmmacros 文件? 【参考方案1】:

您需要指向有关该主题的教程。我发现最有用的是 Thomas Chung 的页面 How to sign your custom RPM package with GPG Key

您没有完成的特定步骤是该页面中的#6,在此引用:

6) 签名前的最后一步,配置您的~/.rpmmacros 文件以包含以下内容:

%_signature gpg%_gpg_name Thomas Chung

当然,您可以在 _gpg_name 字段中使用自己的名称。

【讨论】:

以上是关于在 SLES 构建上签署 RPM的主要内容,如果未能解决你的问题,请参考以下文章

签署 PhoneGap 构建应用程序以进行分发。无法下载

Power8 上的 SLES 12 缺少 libuuid1-devel 包

我们可以使用我们的开发证书重新签署应用商店构建吗?

构建 iPhone 应用程序报告“使用无效权利签署了可执行文件”

sles12 docker 上的语言环境命令失败

如何在我的 MacOS 系统上构建 RPM?