Fedora
為什麼建構 RPM 的過程如此孤立?
我正在學習如何為我自己的包創建 RPM。通常我可以在登錄自己的帳戶時做所有事情,但製作 RPM 的說明似乎總是希望您使用其他帳戶。
我遵循的一個教程使用了
rpm-build
和rpmdevtools
. 例如,在我的主目錄和(不是我所期望的目前目錄)中rpmdev-setuptree
創建一個目錄。rpmbuild/
說明還建議我創建一個單獨的build
帳戶。這似乎太過分了,它使管理這個特殊帳戶和我正在開發的帳戶之間的文件變得困難。Fedora官方文件使用
fedora-packager
和fedora-review
包,然後繼續讓您將自己添加到模擬組。再次,它建議:您還可以創建一個單獨的使用者並將其用於進行 RPM 開發。確保使用者是模擬組的一部分並輸入
fedora-packager-setup
命令。這兩個說明都鼓勵在單獨的帳戶上建構 RPM。
為什麼是這樣?為了方便起見,我的下意識反應是嘗試以某種方式解決這個問題。從我的普通帳戶創建 RPM 可能會遇到什麼問題?
打包時的一般原則是,您不應該對未在打包配置中聲明的系統做出任何假設。這包括很多東西:建構所需的包,執行所需的包,所需的帳戶(使用者或組),所需的權限等。否則,您可能會發現您編寫的規範文件可能會建構在您的雪花上系統,但不是在乾淨的環境中。即使它確實建構了,它也可能無法安裝。即使它確實安裝了,它也可能無法按預期工作。
通過這種方式,發行版可以使用自動建構系統,維護者只需上傳打包配置,其餘的由建構系統完成。當然,以這種方式建構的軟體包更加可靠。因為他們需要的一切都在包裝中指定,所以安裝它們不太可能破壞使用者的系統。