【问题标题】:Error trying to sign RPM尝试签署 RPM 时出错
【发布时间】:2012-08-07 21:00:17
【问题描述】:

我正在尝试构建并签署一个 RPM。 我在我正在构建 /path/to/macrodir/ 的位置创建了我的 .rpmmacro 文件 然后我将 --define 与 _topdir 一起使用,指的是 /path/to/macrodir/

如果我构建 RPM 时没有给出 --sign;它工作正常。

rpmbuild --define "_topdir /path/to/macrodir" -bb spec

.rpmmacro 位于宏目录中并包含

%_signature gpg
%_gpg_name Name (Comment) <emailid>
%_gpgpath pathtognupgfolder
%_gpgbin locationofgpgexec

如果我包含 --sign 那么它会抛出错误

rpmbuild --define "_topdir /path/to/macrodir" -bb --sign spec

错误:您必须在宏文件中设置“%_gpg_name”

我看不到我做错了什么。有什么建议?

【问题讨论】:

  • @vpram86 的确切解决方案是什么?
  • 我最终避免使用宏文件并通过多个 --define 将所有参数传递给 rpmbuild。
  • 啊好吧。那时我一定有其他问题,因为我也尝试过,但我仍然遇到错误。感谢您的回复

标签: rpm signing gnupg rpmbuild


【解决方案1】:

关注detailed writeup,了解如何签署自定义 rpm 包。

我遇到了一个不同的问题,当运行以下命令时它失败并抱怨没有找到rpm 文件。

rpm --addsign gyum-2.0-5.FC3.i386.rpm

安装rpmsign 包后一切正常。

【讨论】:

    【解决方案2】:

    正如comment 中提到的OP,通过--define 标志将%gpg_name 宏设置为rpm/rpmbuild/rpmsign 有效。

    rpm --define "_gpg_name &lt;your email or name&gt;" --addsign &lt;RPM to sign&gt;

    【讨论】:

    • 在 CentOS7 上,将 --define "_gpg_name " --sign 传递给 rpmbuild (v4.11.3) 不起作用 - 错误是“您必须在你的宏文件”。
    • @GrahamLeggett 我只是在为不同的 repo 设置了第二个密钥后尝试了它,但我丝毫没有得到那个错误。因此,除非在包中进行了更改,否则您的配置会出现错误。
    【解决方案3】:

    至少在我的机器上,该文件称为 .rpmmacros(带有 s)。

    【讨论】:

      猜你喜欢
      • 2019-07-05
      • 2022-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 2021-05-11
      • 1970-01-01
      相关资源
      最近更新 更多