このblogをホストしているサーバはFreeBSD 8 stableが入っていて、ソースとかportsとかはcsupで定期的に新しくしているのだけれど、久しぶりにrootに来ているメールを見たら、以下の内容がずらずらと出ていた。
ACTION REQUIRED
You are using a ports file that or iginated from CVS!!
The FreeBSD project has switched from CVS to SubVersion.
This CVS repository is NO LONGER UPDATED!  If you see this
message then your tree is STALE and you need to follow
the update instructions to receive any more updates.
Original announcement:
http://lists.freebsd.org/pipermail/freebsd-ports/2012-September/078099.html
Reminder:
http://lists.freebsd.org/pipermail/freebsd-announce/2013-January/001451.html
UPDATE INSTRUCTIONS:
http://wiki.freebsd.org/CvsIsDeprecated
※ 実際には、/usr/ports/Mk/bsd.port.mkが出しているのでもっと読みにくかったので、ゴミを落としてある。

と、言うわけで、上記アナウンスのリンクを読んで見ると、FreeBSDの開発は、CVSからSubversionに移行したので、もうcsup(cvsup)は使えないよ、と言うことらしい。
そこで、上記 CvsIsDeprecated のリンクを読んで、対策をしないといけない。

Portsについて
一番オススメはportsnap(8)を使うこと。subversionを使うか、svnupを使うという選択肢もあるよ。portsの代わりにビルド済みパッケージシステムのpkgngってのもあるから調べてみてね。

ソースについて
最新のバイナリリリースと、セキュリティパッチが欲しいだけなら、freebsd-update(8)がオススメ。
そうじゃないなら、subversionを使うか、svnupを使うと言う手もあるよ。
一応7以上のstableについては、サポート終了まではcvsupも使えると思うけど、保証しないよ。

と言うことらしい。(だいぶ抄訳。間違ってたらすいません)
で、うちをどうするかなんだけど、portsについてはportsnapを使うことに決めた。
man portsnap すると、cron に portsnap cron って言うコマンドを仕込んで置くと最新のportsをfetchしてくれて、その後手動で portsnap update すると/usr/portsに展開してくれるらしい。(cronで自動でupdateするなって書いてある)
試しに、portsnap fetch(cron は、コマンドが起動してからランダムに待ってから開始する。サーバへの負荷を分散するため。fetchはその場で開始)してから、portsnap updateしてみたら、/usr/portsはportsnapが作ったものじゃないよ、みたいなエラーが出たので、メッセージの通りに portsnap extract する。
これで、portsnap updateできるようになったので、cronにportsnap cron を仕込めば良い。

ソースの方は、どうせもともとsvnは入れているので、svnupを新しく入れるよりは、svnを使うことにする。
Using Subversionと、Subversion Mirror Sitesを見ると、以下のことがわかる。
  • ミラーは、今のところsvn0.us-west.FreeBSD.orgとsvn0.us-east.FreeBSD.orgの2つ
  • httpsを使うことを推奨。(man in the middle攻撃を防ぐため)
  • ソースは、svn-mirror/base/branch で、branchにはhead(今までのCURRENT)、stable/9(今までのRELENG_9)、stable/8(今までのRELENG_8)とかを指定する。
  • ドキュメントはsvn-mirror/doc/head、portsはsvn-mirror/ports/headを指定すれば良い。
と、言うわけで早速やってみる。
# cd /usr
# mv src src.cvs
# svn co https://svn0.us-west.FreeBSD.org/base/stable/8 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
# mv doc doc.cvs
# svn co https://svn0.us-west.FreeBSD.org/doc/head doc
httpsでアクセスしようとすると、信頼されない証明書的なメッセージが出るので、svn-mirrors.html のページに載っているフィンガープリントと比較して、同じであることを確認してから p なり t なり を入力する。(svn-mirrors.htmlのページ自体がhttpだから一緒じゃんと言う話はあるが、まあそこはそれ)

これで、最新のソースとドキュメントが持ってこれたので、次からは
# svn up /usr/src
# svn up /usr/doc
とかで更新できるので、こちらもcronに仕込むとしよう。普通にsubversionを使っている人にとっては、cvsupよりもわかりやすいかもね。
ちなみに、ミラーがUSの2箇所しかないのか〜と思って調べてみたら、かけまわる子犬。: SVN サーバを構築して FreeBSD のソースをミラーする。なんてページを見つけた。www.jp.freebsd.org ではやってくれないのかな。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: CVS is Deprecated at FreeBSD.org (and so is cvsup!)

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/3010

コメントする

このブログ記事について

このページは、falseが2013年3月30日 15:23に書いたブログ記事です。

ひとつ前のブログ記事は「MacBook Pro SSD換装」です。

次のブログ記事は「goとemacs」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1