/usr/portsをportsnapではなく、svnliteで管理してみた。
一般ユーザとしては、portsnapの管理が望ましいのだが、svnだとportsの個別更新が出来たりする。
このためだけにsvnlite管理にした。
Handbookどおりにしただけ。
以下のようなマシンで実施。
$ uname -a
FreeBSD vostro 10.0-BETA3 FreeBSD 10.0-BETA3 #0 r257580: Sun Nov 3 19:43:01 UTC 2013 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
$ which svnlite
/usr/bin/svnlite
ミラーサイトを選ぶ
以下のページでミラーサイトを選ぶ。
http://www.freebsd.org/doc/ja/books/handbook/svn-mirrors.html
日本からならsvn0.us-west.FreeBSD.orgでしょうなあ。
このとき、SSLフィンガープリントも見ておくこと。
2013/11/12現在、us-westミラーのフィンガープリントは以下の通り
SHASHA1 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61
初回チェックアウト
/usr/portsの中身が何もないことを確認してからsvnlite checkout。
SSLフィンガープリントが表示されて、これでよいか訊かれる。
handbookの値と同じなので大丈夫ですな。
$ sudo svnlite checkout https://svn0.us-west.FreeBSD.org/ports/head /usr/ports
Password:
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!
- The certificate hostname does not match.
Certificate information:
- Hostname: svnmir.ysv.FreeBSD.org
- Valid: from Jul 29 22:01:21 2013 GMT until Dec 13 22:01:21 2040 GMT
- Issuer: clusteradm, FreeBSD.org, (null), CA, US (clusteradm@FreeBSD.org)
- Fingerprint: 1C:BD:85:95:11:9F:EB:75:A5:4B:C8:A3:FE:08:E4:02:73:06:1E:61
(R)eject, accept (t)emporarily or accept (p)ermanently? p
<snip>
A /usr/ports/net-p2p/eiskaltdcpp-daemon/Makefile
A /usr/ports/net-p2p/tribler/pkg-plist
A /usr/ports/net-p2p/eiskaltdcpp-daemon/files/patch-nasdc__CMakeLists.txt
U /usr/ports
Checked out revision 333566.
二回目以降のcheckout
svnlite update /usr/portsとすればよい。
$ sudo svnlite update /usr/ports
Updating '/usr/ports':
<snip>
U /usr/ports/UPDATING
Updated to revision 333571.
リビジョンが上がってますな。
portsの個別checkout
portsの個別checkoutができる。
つまり、/usr/ports全部をアップデートするのではなくて、特定のportsだけ更新する。
$ sudo svnlite update /usr/ports/math/sage
Updating '/usr/ports/math/sage':
At revision 333571.
以上