2012-08-10 109 views
4

我正在尝试生成并签署RPM。 我创造了我.rpmmacro文件中的位置,我建立/路径/到/ macrodir/ 然后我使用--define与_topdir指/路径/到/ macrodir/尝试签署RPM时出错

如果我创建RPM不给 - 标志;它的工作正常。

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

的.rpmmacro是macrodir并包含

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

如果我有--sign那么它引发错误

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

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

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

+0

确切的解决方案@ vpram86是什么? – scottyseus 2015-07-09 15:54:12

+0

我最终避免了宏文件,并通过多个--define将所有参数传递给rpmbuild。 – vpram86 2015-07-09 16:21:29

+0

啊没关系。我必须有其他的错误,因为我也尝试过,而且我仍然遇到错误。感谢您的回复 – scottyseus 2015-07-09 16:29:16

回答

4

请按照此detailed writeup关于如何签署自定义rpm配置。

我遇到了一个不同的问题,运行下面的命令时失败,抱怨找不到rpm文件。

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

安装后rpmsign包的一切工作。

4

如在comment提到的OP,经由--define标志设置%gpg_namerpm/rpmbuild/rpmsign作品。

rpm --define "_gpg_name <your email or name>" --addsign <RPM to sign>

+0

在CentOS7上,传递--define“_gpg_name <您的电子邮件或名称>” - 签名到rpmbuild(v4.11.3)不起作用 - 错误是“您必须在宏文件中设置”%_gpg_name“ ”。 – 2017-08-03 14:13:24

0

至少我的机器上的文件名为.rpmmacros(以S)。