Linux
使用 gentoo,如何將 -9999 ebuild 粘貼到特定的 svn 版本?
作為給出 django-9999 ebuild 的範例,為了匹配開發人員的環境,我需要從主幹中籤出 R12120。由於包管理的原因,手動安裝 Django 不是一種選擇。但是portage 中也沒有ebuild 用於1.2 beta 版本。
所以我做了以下事情:
ESVN_OPTIONS="-r12120" emerge -1a django
從 svn 安裝了所需的修訂版。但這在某種程度上很麻煩。是否有某種方法可以為每個 ebuild 靜態定義它,例如:
DJANGO_SVN_REV="12120"
在
make.conf
. 這在我眼裡會乾淨得多。因為下次無論出於何種原因我需要重建 django 時,我都需要記住:“哦,我希望它堅持特定的修訂版”,下一個問題將是“err, f&!#$?%, 又是什麼?”
去這裡的最佳方式是什麼?
記住:
- 在沒有包管理器知識的情況下手動安裝包是不行的
- 無法使用手動emerge變數前綴
- 設置 /etc/portage/package.env 將是一種可行的方法(如此處所述),但這對我來說似乎不受支持和笨拙,因此不受歡迎
- 修改 make.conf 將是一種方法
- 將 ebuild 保持在覆蓋中是一種選擇
我並不完全反對使用
package.env
. 如果您在您的環境中理解並記錄它,它可能是一種有用的方法,可以使用 ebuild 掛鉤應用細微更改,同時仍跟踪穩定的 ebuild。我不認為這是修復
-9999
ebuild 修訂的合適方法 - 根據“最小驚訝原則”。make.conf
修復軟體包版本似乎也不是一個非常明顯的地方。一種更簡潔的方法是使用 Layman 推出您自己的 ebuild。如果你
django-1.2_pre12120
說出它的名字,那麼一旦 Django 1.2 發布並在 Portage 中穩定下來,它的作用就會更加明顯,並為你提供一條簡單的退出路線。