2012-08-10 105 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)。