Mercurial(hg) を利用して OpenSolaris のソースを取得
OpenSolaris のソースを Mercurial(hg)を利用して opensolaris.org と同期します。 ここでは、Solaris 10 x86 上に構築します。
Mercurial は Python で記述されているので、Python をインストールしておく必要があります。 Solaris 10 用の Python は http://www.sunfreeware.com/ から入手しインストールするとよいでしょう。ソースから作成する場合も、Python 2.5 であれば Solaris 10 にインストールするのは簡単です(ncurses ライブラリはあらかじめインストールしてき、./configure; make で...)。
Mercurial の入手とインストール
http://www.selenic.com/mercurial/wiki/index.cgi/Download/
作業は スーパーユーザー(root) で行ってください。
# gzip -dc mercurial-stable-snapshot.tar.gz | tar xf - # cd mercurial-<version> # python setup.py install --force
opensolaris.org へユーザー登録し、公開キーを登録してアクセス権を得る
公開キーは、OpenSSH を利用して作成します。Solaris 10 には、OpenSSHがインストールされているため ssh-keygen
コマンドを利用してキーを作成します。ここでは、ソース管理用アカウント srcadmin
を用意してあるとします。
srcadmin$ ssh-keygen -b 1024 -t dsa 公開/非公開 dsa 鍵のペアを生成しています。 鍵を保存するファイルを入力してください (/home/srcadmin/.ssh/id_dsa): <Enter> ディレクトリ '/home/srcadmin/.ssh' を作成しました。 パスフレーズを入力してください (パスフレーズなしの場合は空): <パスフレーズ> パスフレーズをもう一度入力してください: <パスフレーズ> 識別情報が /home/srcadmin/.ssh/id_dsa に保存されました。 公開鍵が /home/srcadmin/.ssh/id_dsa.pub に保存されました。 鍵のフィンガープリント: 83:c5:22:8a:9c:d9:f4:1a:20:f0:65:e9:ad:28:6a:a1 srcadmin@example.com srcadmin$
ここで作成した公開キー /home/srcadmin/.ssh/id_dsa.pub
を OpenSolaris.org に登録します。
OpenSolaris.org
のサイトへアクセスして、 アカウントを作成し Mercurial でのアクセス許可設定を行います。
アカウントを作成していなければ、register からアカウントを作成、アカウントを持っていれば Sign in からログインします。
自分のアカウント名をクリックし、update profile をクリックして作成した公開キーを登録します。SSH Authorized Keys のセクションに移動し、Type を DSA にして Key の欄に /home/srcadmin/.ssh/id_dsa.pub
の内容を貼り付け "Save" ボタンを押して保存します。
ソース入手
ソースツリーを作成したいディレクトリを作成し、Mercurial(hg)を利用して最新のソースを入手します。
ソースツリーの初期化
srcadmin$ mkdir -p /usr/local/src/solaris srcadmin$ cd /usr/local/src/solaris srcadmin$ hg clone ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate destination directory: onnv-gate requesting all changes adding changesets adding manifests adding file changes added 3460 changesets with 67162 changes to 43027 files 39682 files updated, 0 files merged, 0 files removed, 0 files unresolved srcadmin$
アップデート方法
srcadmin$ cd onnv-gate srcadmin$ hg pull pulling from ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate searching for changes adding changesets adding manifests adding file changes added 112 changesets with 1962 changes to 1779 files (run 'hg update' to get a working copy) srcadmin$ hg update 1771 files updated, 0 files merged, 350 files removed, 0 files unresolved srcadmin$ ls -l usr/src 合計 394 -rw-rw-r-- 1 srcadmin staff 12561 2月 3日 14:42 Makefile -rw-rw-r-- 1 srcadmin staff 7672 2月 3日 14:42 Makefile.lint -rw-rw-r-- 1 srcadmin staff 31124 2月 3日 14:42 Makefile.master -rw-rw-r-- 1 srcadmin staff 2325 1月 13日 12:30 Makefile.master.64 -rw-rw-r-- 1 srcadmin staff 2295 1月 13日 12:30 Makefile.msg.targ -rw-rw-r-- 1 srcadmin staff 4179 1月 13日 12:30 Makefile.noget -rw-rw-r-- 1 srcadmin staff 8881 2月 3日 14:42 Makefile.psm -rw-rw-r-- 1 srcadmin staff 5446 2月 3日 14:42 Makefile.psm.targ -rw-rw-r-- 1 srcadmin staff 18924 1月 13日 12:30 OPENSOLARIS.LICENSE -rw-rw-r-- 1 srcadmin staff 65171 2月 3日 14:42 Targetdirs drwxrwxr-x 412 srcadmin staff 7168 2月 3日 14:42 cmd/ drwxrwxr-x 27 srcadmin staff 512 1月 13日 12:32 common/ drwxrwxr-x 4 srcadmin staff 512 1月 13日 12:32 grub/ drwxrwxr-x 9 srcadmin staff 3584 2月 3日 14:42 head/ drwxrwxr-x 169 srcadmin staff 3584 2月 3日 14:42 lib/ drwxrwxr-x 383 srcadmin staff 8192 2月 3日 14:42 pkgdefs/ drwxrwxr-x 2 srcadmin staff 512 1月 13日 12:34 prototypes/ drwxrwxr-x 4 srcadmin staff 512 1月 13日 12:34 psm/ -rw-rw-r-- 1 srcadmin staff 1729 1月 13日 12:34 req.flg drwxrwxr-x 4 srcadmin staff 512 1月 13日 12:34 stand/ drwxrwxr-x 26 srcadmin staff 1024 2月 3日 14:42 tools/ drwxrwxr-x 39 srcadmin staff 1024 1月 13日 12:34 ucbcmd/ drwxrwxr-x 4 srcadmin staff 512 1月 13日 12:34 ucbhead/ drwxrwxr-x 7 srcadmin staff 512 1月 13日 12:34 ucblib/ drwxrwxr-x 11 srcadmin staff 512 1月 13日 12:35 uts/ drwxrwxr-x 2 srcadmin staff 512 1月 13日 12:35 xmod/ srcadmin$