portsを最新のツリーに追従するメモ
portsnapは 導入することなく利用できます。一度 portsnap fetch を実行してあるのであれば、以降は
cronで更新します。
# portsnap cron&
# ps -ax | grep sleep
712 p0 S 0:00.00 sleep 825
714 p0 R+ 0:00.00 grep sleep
無理矢理に開始させたので(killで)、状況を適当に眺めつつコーヒーを飲むことにします。
完了したら、
# portsnap update&
[1] NNNNN
Removing old files and directories...
Extracting new files:
/usr/ports/CHANGES
/usr/ports/GIDs
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
.
.
.
Building new INDEX files... done.
のようにしばらく表示された後に、更新されたものや加わった物が表示されていきます。
しばらく更新していなかった場合には、ドカドカと表示がされていくと思います。行うことはこんな程度。
cvsupやcsupを利用せずともこれで更新ができるので簡単です。
どの程度更新され、既存のものでバージョンが更新されているものがあるかを確認します。
# portversion -v -L '=' | grep -v 'held'|grep -v 'succeeds'
[Updating the portsdb <format:bdb_btree> in /usr/ports
... - 17278 port entries found .........1000.........2000.........3000.........4000.........5000.........6000.........7000.
........8000.........9000.........10000.........11000.........12000.........13000.........14000.........15000.........16000.
........17000.. ..... done]
asterisk-1.4.3 < needs updating (port has 1.4.4_1)
automake-1.9.6 < needs updating (port has 1.9.6_1)
gettext-0.16.1_1 < needs updating (port has 0.16.1_3)
gmake-3.81_1 < needs updating (port has 3.81_2)
gnutls-1.6.1_2 < needs updating (port has 1.6.2)
libpri-1.4.0 < needs updating (port has 1.4.0_1)
popt-1.7_3 < needs updating (port has 1.7_4)
後は portupgradeで更新すれば良いだけ。今日はもうしないけど。
portupgrade
毎度お馴染みのportupgradeで更新。
On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE
by itself so please help it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE.
とかエラーが来るので、/etc/make.conf に
X11BASE=${LOCALBASE}
を追加する。で、普通に、
# portupgrade -a
と入力してやると勝手に最新までコンパイルを頑張ってくれる。気づいたら最新版に入れ替わっていました。
@@
※作成途上なので、まだ参照されるには早すぎます…