2011-06-02 40 views
2

DEB:如何使一個RPM包(沒有的rpmbuild)

fakeroot dpkb-build -b directory package.deb 
# Name, version, architecture, etc. are in directory/DEBIAN/control 

轉:

$SOME_COMMAND directory package.rpm 
# Name, version, architecture, etc. are in SOME_FILE 

什麼爲SOME_COMMAND和SOME_FILE使用?

回答

2

首先不清楚你打算建立什麼樣的RPM包。它是.src.rpm或二進制.rpm

RPM包具有文件格式。它由一個前導塊,一些頭結構,一個簽名塊和一個存檔組成。它就像一個ZIP文件,但它在開始時包含二進制文件中的額外信息,以確保在安裝之前希望查詢軟件包的用戶可以訪問軟件包元數據。

所以你可以選擇write a binary file according to the specification,或者你可以使用保證文件是按照規範書寫的工具(即rpmbuild)。我強烈推薦後者,因爲RPM不是「另一個ZIP文件」,它不是「另一個tar文件」。它具有更多的結構,並且「手動」滾動的成本最終開始導致重建rpmbuild部分的成本。

請注意,rpmbuild可以安裝在實際上並未將RPM用於其內部軟件包管理的系統上。

+0

二進制RPM。我希望它能夠將文件放到我想要的位置,並允許輕鬆更新/卸載以及可以指定依賴關係的位置。 – 2011-06-02 16:28:47

+0

rpmbuild需要冗長的spec文件(更簡單的deb控制文件),特定的目錄結構;它試圖從源代碼編譯它(假設有源代碼)並且通常做了太多事情。 – 2011-06-02 16:30:24

+0

@Vi,如果你想使用rpm,那麼提供的工具是'rpmbuild'如果你不想使用它,那麼你必須決定是否要承擔額外的構建rpmbuild替換任務或者如果你可以改變你的工作流程來使用rpmbuild工具。我懷疑你會在沒有rpmbuild的情況下推出一個一致的軟件包,因爲還有很多事情要做,而不僅僅是用RPM把它放在正確的壓縮文件格式中。 – 2011-06-02 16:31:20

相關問題