Linux
如何為 Suse 創建 RPM
我需要在 Suse 10.1(64 位)機器上安裝 Subversion 1.4 版。我無法更改這兩個版本中的任何一個,並且該發行版沒有 RPM。環顧四周後,我假設我必須自己創建一個 RPM。還有比這更好的方法嗎?如果沒有,有人對這個過程有任何提示嗎?
我不需要一步一步的教程,只需要一個基本的過程大綱。
重建現有的 src.rpm 可能是最簡單的。我絕對不會採用 configure、make、make install 的方式,因為 (a) 無法擴展,(b) 無法輕鬆刪除/升級軟體包,並且 (c) 不是原子的。
建構 RPM 並不難。Linux.com 曾經有一個相當不錯的初學者教程,在他們破壞該網站之前。你可以試試這個,但是文字很多,不容易消化。不過,總比沒有好。
我會給你一些指示,從我的腦後:
- 在 ~ 中設置一個 .rpmmacros 文件
- 創建 ~/rpmbuild/{RPMS,SRPMS,SPECS,BUILD,BUILDROOT,SOURCES}
- 將源 tarball 放入 ~/rpmbuild/SOURCES
- 將規範文件放入 ~/rpmbuild/SPECS
- 在 ~/rpmbuild/SPECS 中執行 rpmbuild -bp YOURSPEC(執行準備階段)
- 在 ~/rpmbuild/SPECS 中執行 rpmbuild -bc YOURSPEC(高於並執行編譯階段)
- 在 ~/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 ”。你想知道的都在裡面。