2012-11-15 74 views
7

我試圖從REDHAT 6系統上的二進制文件構建RPM。我已經包含在%files段中的所有文件(找到/路徑/到/假/安裝型的F >> spec文件)rpmbuild安裝(但未打包)文件源

當我運行的rpmbuild -bb spec文件--target x86_64的,我得到

檢查對於未打包的文件:/ usr/lib/rpm/check-files /path/to/rpmbuild/BUILDROOT/Package-1.0.0-1.el6.x86_64 錯誤:找到已安裝(但未打包)的文件:

RPM生成錯誤:發現 安裝(但無包裝)文件(S):

注意,沒有文件錯誤信息中列出。我不確定發生了什麼問題和想法?

回答

3

我想你的/ path/to/fake/install是不正確的。

%files部分中的路徑必須是文件將最終安裝的路徑,例如, /usr/local/bin/myprog。在rpm構建過程中,在%build部分中,您需要確保將文件放在您在%files部分指定的相同位置,或者在中使用buildroot選項,並在spec文件中使用$RPM_BUILD_ROOT變量,匹配%files列表的路徑,在此示例中爲$RPM_BUILD_ROOT/usr/local/bin/myprog。詳情請參閱http://www.rpm.org/max-rpm-snapshot/ch-rpm-anywhere.html

+0

請注意,我生成從現有的二進制文件的RPM(無%版本)。我的%文件看起來是這樣的: 在/ usr /共享/富 的/ opt /富/酒吧 我的目錄結構是: /路徑/到/的rpmbuild在/ usr /共享/富 /路/ to/rpmbuild/opt/foo/bar – Trevor

+0

你在運行rpmbuild時將buildroot選項設置爲/ pat/to/rpmbuild? – Bernhard