Linux

如何為 Suse 創建 RPM

  • August 4, 2010

我需要在 Suse 10.1(64 位)機器上安裝 Subversion 1.4 版。我無法更改這兩個版本中的任何一個,並且該發行版沒有 RPM。環顧四周後,我假設我必須自己創建一個 RPM。還有比這更好的方法嗎?如果沒有,有人對這個過程有任何提示嗎?

我不需要一步一步的教程,只需要一個基本的過程大綱。

重建現有的 src.rpm 可能是最簡單的。我絕對不會採用 configure、make、make install 的方式,因為 (a) 無法擴展,(b) 無法輕鬆刪除/升級軟體包,並且 (c) 不是原子的。

建構 RPM 並不難。Linux.com 曾經有一個相當不錯的初學者教程,在他們破壞該網站之前。你可以試試這個但是文字很多,不容易消化。不過,總比沒有好。

我會給你一些指示,從我的腦後:

  1. 在 ~ 中設置一個 .rpmmacros 文件
  2. 創建 ~/rpmbuild/{RPMS,SRPMS,SPECS,BUILD,BUILDROOT,SOURCES}
  3. 將源 tarball 放入 ~/rpmbuild/SOURCES
  4. 將規範文件放入 ~/rpmbuild/SPECS
  5. 在 ~/rpmbuild/SPECS 中執行 rpmbuild -bp YOURSPEC(執行準備階段)
  6. 在 ~/rpmbuild/SPECS 中執行 rpmbuild -bc YOURSPEC(高於並執行編譯階段)
  7. 在 ~/rpmbuild/SPECS 中執行 rpmbuild -bb YOURSPEC(在上面並建構實際包)

如果一切順利,您的 RPM 將出現在 ~/rpmbuild/RPMS/${arch} 中。

在創建新的 RPM 時,我傾向於分別使用 5、6 和 7,因為我喜歡詳細檢查輸出。如果您有供應商提供的規範文件,您可能想立即購買 7。

我的 .rpmmacros 中通常有類似的內容。

%_topdir /home/YOURNAME/rpmbuild
%packager YOUR NAME <YOUR@EMA.IL>
%_tmppath /tmp

至於規範文件的語法:這並不難。有一個非常詳細的,可能是非常古老的參考著作,稱為“最大 RPM ”。你想知道的都在裡面。


引用自:https://serverfault.com/questions/18620