Rpm
在 RPM 中編輯 Spec 文件
我正在嘗試編輯一個規範文件,當我嘗試使用 RPM 在其他電腦上安裝它時總是失敗。我正在使用 CentOS。這是錯誤。
error: Failed dependencies: perl(ActsUtil) is needed by my_program perl(ParseBishop) is needed by my_program
這兩個文件都是 RPM 的依賴項。問題是,這兩個文件實際上是在 RPM 包中提供的。這兩個文件都是 .pm 文件,位於
/opt/mysoftware/bin
. 我知道可以使用rpm - ivh --nodeps mysoftware
. 但我不喜歡使用這種方法。所以,我嘗試修復規範文件。這是我嘗試過的一些程式碼。第一次嘗試
Summary:.... Name:.. Version:.. .... .... Provides: perl(ParseBishop), perl(ActsUtil) ... ... %install ... ... %changelog
第二次嘗試
Summary:.... Name:.. Version:.. .... .... Provides: ParseBishop, ActsUtil ... ... %install ... ... %changelog
第三次嘗試
Summary:.... Name:.. Version:.. .... .... Provides: ParseBishop.pm, ActsUtil.pm ... ... %install ... ... %changelog
第四次嘗試
Summary:.... Name:.. Version:.. .... .... Provides: /opt/mysoftware/bin/ParseBishop, /opt/mysoftware/bin/ActsUtil ... ... %install ... ... %changelog
我做錯了“提供”命令嗎?還是我解決問題的方法已經錯了?
我找到了解決方案。問題是我的提供在錯誤的區域。它應該位於程式碼的頂部。
Summary:.... Name:.. Version:.. Provides: perl(ParseBishop), perl(ActsUtil) ... ... %install ... ... %changelog
來驗證這一點。我
rpm -qp --provides mysoftware.rpm
在內置文件夾中使用過。它將顯示我的包裹中提供的內容。感謝所有幫助。
rpm -i --nodeps my_program.rpm
將跳過任何依賴問題。