2016-02-01 85 views
1

我想爲Oracle Linux的發行版構建OpenCV的RPM。我一直在閱讀各種指南,以使一個RPM(見http://www.ibm.com/developerworks/library/l-rpm1/),並從Fedora's documentation,我閱讀以下內容:RPM是否需要編譯階段?

爲您配置RPM的RPM系統將自動步驟來創建一個應用程序,如 長並採取適當的步驟,例如哪些 使目標運行。不幸的是,配置適當的步驟並不總是很容易。因此,在嘗試創建RPM之前,您需要計算出 瞭解如何構建您計劃打包到 RPM中的應用程序或庫。一旦你已經想出瞭如何構建應用程序或庫,你可以設置一個可重複的構建。 RPM系統然後可以 自動化這個構建。

從這裏我可以看出,RPM不會安裝預構建的庫和二進制文件,而是從源代碼構建它們。然而,我的經驗告訴我,當我下載軟件包時,我只是安裝預先編譯的二進制文件。它是否正確?

回答

1

有兩個不同的事情。您可以使用應用程序打包應用程序

rpm system using a spec file 

spec文件是用於創建應用程序的配方。一旦你有一個規格文件。您可以使用它生成一個src rpm或二進制rpm。二進制轉速是您所指的轉速。

spec文件指定如何構建/打包您的rpm。我們使用rpmbuild命令來構建rpm。

現在您可以使用rpm命令來安裝/卸載/升級rpm軟件包。

請不要轉,包和RPM系統,發動機負責建設的rpm

+0

那麼多空,你使用的rpmbuild作出RPM,可以是一個自包含的組合之間的混淆庫和二進制文件,然後用戶可以使用rpm/yum將其安裝到他們的系統上。正確? – blackirishman

+0

正確推導出 – dlmeetei

+0

你稱之爲rpm系統叫做rpmbuild。那裏沒有混亂。 – Bruno9779