FreeBSDのソースコードを Subversionリポジトリから取得する

FreeBSDのソースが必要になったので、Subversionリポジトリから
取得する方法を示します。

準備

CVSもあるんですが、Subversionから取得します。
なのではじめに Subversionをインストールしましょう。

  % sudo aptitude install subversion (Ubuntu)
  % sudo brew install subversion (MacOSX homebrew)

チェックアウト

あとは普通にチェックアウトするだけです。FreeBSDには、Releaseと Stableと
Currentという区分があります。Releaseはリリース版、Stableはリリース版の
開発ブランチで主にバグ修正用、Currentは開発版で新機能が取り込まれるところ
です。詳しくはFreeBSD - Wikipediaを見てください。


ここでは Release(リリース版)と Current(開発版)の取得について示します。
まず Releaseです。Releaseは svn://svn.freebsd.org/base/release以下に
あります。最新の Releaseは 8.1なので、それを取得します。

  % svn checkout svn://svn.freebsd.org/base/release/8.1.0
  # カレントディレクトリの 8.1.0にチェックアウトされる

変更が入らないと思われるので、ディスクの容量がという方は
checkoutでなく、exportを使ってください。特に問題がなければ、
全部チェックアウトすればいいかと思いますが、カーネルだけみたい、
ユーザランドだけみたいっていう場合は 8.1.0のあとにパスを追加
してください。'svn ls'を使えば、構成が見れます。


次に Current版です。Currentという名前ですが、リポジトリでは
headというディレクトリにあります。

  % svn checkout svn://svn.freebsd.org/base/head
  # カレントディレクトリの headにチェックアウトされる

Currentは追加・修正が頻繁に行われているので、定期的に
'svn update'すれば、最新の FreeBSDを追跡することができます。

まとめ

FreeBSDSubversionリポジトリから取得する方法を説明しました。


関係ない話ですが、*BSD系は未だに CVSですよね。NetBSD, OpenBSD
しかり。サーバをミラーリングすればいいんだろうけど、チェックアウトだけ
ではネットワークにつながっていないとログなり差分がを見れないと
いうのは、ちょっと面倒かなと思いますね。