Thu May 02 23:22:16 JST 2013

メンテナの居ない port が、また殺されて行く…


Mon May 06 17:32:21 JST 2013

svn update で proxy を使う方法をまとめておく。会社マシンでの実績。

「やりたいこと」は、「ずいぶん前に 7-stable くらいに上げたマシンを 8-stable くらいまで追従させること」だ。 適当に -stable にしてしまったマシンなので、FreeBSD-update は使えない。 そして cvsup は終息しているので svn を使うしかない、という状況だ。

proxy の設定を行うためには、 $HOME/.subverion/servers が欲しいが、 デフォルトでは $HOME/.subversion/ が存在しない。 755 で $HOME/.subversion/ を作り、 644 で $HOME/.subversion/servers を作ってもよいのだが、 デフォルトのセクションや設定例の入ったサンプルファイルがあった方が 編集が楽であるので、生成してもらおう。

# [ -d $HOME/.subversion ] && echo exists || echo not-exists
not-exists
# svn --version --quiet
1.7.9
# [ -d $HOME/.subversion ] && echo exists || echo not-exists
exists
# ls .subversion/
README.txt      auth            config          servers
# vi .subversion/servers

グループを定義して、グループに対して proxy を設定するのがいいだろう。

[groups]
bsdorg = *.freebsd.org
[bsdorg]
http-proxy-host = proxy.yourcompany.com
http-proxy-port = 8080

状況によっては、global セクションに書いても構わない。 いざチェックアウトだ。純ascii なコンソールなど、 localized されたメッセージが困る状況では LANG を外しておく。

チェックアウトする対象は、URL で指定する。

https://svn0.us-west.FreeBSD.org/base/stable/8 /usr/src
                                 ~~~~ ~~~~~~~~
/base/、/doc/、/ports/ … リポジトリ。
/head/          いわゆる current
/stable/x/      stable  …  x のところで 8 とか指定する。

「URL は変わるぞ!」てハンドブックで宣言しているので、 将来このメモを見て checkout を試みる場合は、 ハンドブックを見て確認する必要があるだろう。 このメモ記述時点では、 「A.6. Subversion を使う」という章があった。
今回は 8-STABLE に上げたいので、/base/stable/8 を指定する。

# unsetenv LANG
# ls /usr/src
ls: /usr/src: No such file or directory
# svn co https://svn0.us-west.FreeBSD.org/base/stable/8 /usr/src
Error validating server certificate for 'https://svn0.us-west.freebsd.org:443':
 - The certificate is not issued by a trusted authority. Use the
   fingerprint to validate the certificate manually!
Certificate information:
 - Hostname: svnmir.ysv.FreeBSD.org
 - Valid: from Fri, 24 Aug 2012 06:04:04 GMT until Sat, 24 Aug 2013 06:04:04 GMT
 - Issuer: clusteradm, FreeBSD.org, CA, US
 - Fingerprint: 79:35:8f:ca:6d:34:d9:30:44:d1:00:af:33:4d:e6:11:44:4d:15:ec
(R)eject, accept (t)emporarily or accept (p)ermanently? p
A    /usr/src/tools
A    /usr/src/tools/README
A    /usr/src/tools/debugscripts
:
A    /usr/src/README
 U   /usr/src
Checked out revision 249490.
#

一回チェックアウトすれば、あとの更新は svn update でできる。

# cd /usr/src
# svn update
Updating '.':
At revision 249490.

cvsup と同様、make.conf に書いておけば make でも update できる。

# vi /etc/make.conf
SVN_UPDATE=YES
SVN=/usr/local/bin/svn
# cd /usr/src
# make update
--------------------------------------------------------------
>>> Updating /usr/src using Subversion
--------------------------------------------------------------
/usr/local/bin/svn update -r HEAD
Updating '.':
At revision 249490.

でも、svn って叩いた方が早いので、make で頑張らなくてもいい。

ソースを取り出せれば、あとの流れは昔と変わらない。

make buildworld
make buildkernel
shutdown now
make installkernel
make installworld
mergemaster
reboot

それにしても mergemaster は…、キーボードってのは 右側に L 、左側に R があるので 非常に「弄ばれてる」感がある。


Mon May 06 22:59:30 JST 2013

世の中的に休日にしかできないことをやろうぜ的な雰囲気があったので、 かなーり放っておいた kon.cfg と jfbterm.conf を整備した。


Sun May 26 18:42:09 JST 2013

Sylpheed を更新しようと思い立ち、portsnap してみる。

# portsnap fetch
Looking up portsnap.FreeBSD.org mirrors... 6 mirrors found.
Fetching snapshot tag from ec2-ap-northeast-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Updating from Thu Jan  3 08:47:14 JST 2013 to Sun May 26 18:25:39 JST 2013.
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 4 metadata files... 
Fetching 10786 patches.....10....20....30....40....50....60....70....80....90..
:
0720....10730....10740....10750....10760....10770....10780... done.
Applying patches... done.
Fetching 10003 new ports or files... 
Fetching 10003 new ports or files... done.
# date
Sun May 26 20:14:51 JST 2013

1時間半もかかるとは。cvsup と変わらないじゃん。

# date ; portsnap update ; date
Sun May 26 20:15:40 JST 2013
Removing old files and directories... done.
Extracting new files:
/usr/ports/CHANGES
/usr/ports/GIDs
/usr/ports/KNOBS
/usr/ports/Keywords/info.yaml
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
/usr/ports/Mk/Uses/
/usr/ports/Mk/bsd.apache.mk
:
/usr/ports/x11/zenity/
Building new INDEX files... done.
Sun May 26 20:19:09 JST 2013
# ls -l IN*
-rw-r--r--  1 root  wheel  27514396 May 26 20:19 INDEX-7
-rw-r--r--  1 root  wheel  28215523 May 26 20:19 INDEX-8
-rw-r--r--  1 root  wheel  28197778 May 26 20:19 INDEX-9
-rw-r--r--  1 root  wheel  45310976 Jan  3 09:20 INDEX-9.db
# portversion -c > /tmp/aa

最後の portversion -c してるのは portupgrade 用の .db を更新。 すごいいっぱい出てきたので恐れをなして、 fetch-recursive して寝る。


Tue May 28 10:49:54 JST 2013

sylpheed、portupgrade、roxterm を更新。


Fri May 31 01:24:27 JST 2013

python27 を上げてみたら、ぞろぞろ釣れた。

% grep pkgs= /tmp/aa | wc -l
     392

これでまた何か動かなくなるかな。sphinx とか動かなくなると困るんやけど。


HOME | index | prev | next
[Rev: --not under control--]
[EOF]