[ English | Japanese ] [ 地球流体電脳倶楽部 / 惑星大気モデル DCPAM ] [ ディレクトリ管理の手引き / SIGEN ]

ftp/arch/dcpam/ ディレクトリのメンテナンス手引

この文書について

この文書は ftp/arch/dcpam/ ディレクトリのメンテナンスの手引である.

このディレクトリに置かれている主な資源

ftp/arch/dcpam/ には, 主に以下の情報が置かれている.

各ディレクトリの詳細については, SIGEN.htm を参照のこと.

HTML 文書の管理方法

dcpam ソースの展開とシンボリックリンクの方針

dcpam のバージョンに関して

CVS タグの付け方

ソースツリーのタグは, 日付を表すタグ (日付タグと呼ぶ) と, バージョン名を表すタグ (バージョン名タグと呼ぶ) の両方を付けることとする. バージョン名タグは必須ではない *1.

日付タグ            バージョン名タグ
----------------------------------------
dcpam0-20040125   
dcpam1-20040320     dcpam1-0_1
dcpam1-20040429   
dcpam1-20040630     dcpam1-1_0
dcpam2-20040901     dcpam2-1_0
dcpam2-20050901     dcpam2-2_0
dcpam2-20050901-1   dcpam2-2_1     # 一日に複数回, 日付タグを設定する
                                   # 場合には, 接尾詞として "-1", "-2"
                                   # といったものを付記すること. 

タグの付ける際には, CVS 作業コピーのトップディレクトリで,

$ cvs tag dcpam2-20030901
          ^^^^^^^^^^^^^^^ ← これがタグ名となる. 

等とする.

ソース展開の手順 (手動)

ソース展開の手順として, まず手動での展開の手順を示す. Makefile を用いて自動化された展開の手順は, その後の ソース展開の手順 (自動) で示す.

展開の準備

展開のため, グループユーザと umask を設定する.

$ sg dcpam
$ umask 002				! group writable にする

展開するタグを確認する. cvs の作業コピー内で, 以下のように コマンドした際, 以下のように表示されるのがタグである.

$ cvs log ファイル

  symbolic names:
         dcpam2-20050530: 1.8
         dcpam2-20050207-1: 1.4
                      :

ソース展開の手順

cvs export コマンドにより, 展開を行う. まず CVS リポジトリと同名のディレクトリに移動する.

$ cd /GFD_Dennou_Club/ftp/arch/dcpam/dcpam5

日付タグの場合には以下のように展開する.

$ cvs -d /GFD_Dennou_Club/ftp/arch/dcpam/cvsroot export -r "dcpam5-20090325" dcpam2

バージョン名タグの場合は以下のようになる.

$ cvs -d /GFD_Dennou_Club/ftp/arch/dcpam/cvsroot export -r "dcpam5-1_1" dcpam2

ソースは, 今回の例であれば dcpam5 ディレクトリ以下に展開される. その後, ディレクトリ名をタグ名 (dcpam5-20090325 等) に変更し, SIGEN ファイルを作成する.

ドキュメント, 依存関係ファイル, emacs tags ファイルの生成

展開したソースツリー以下でドキュメント等の生成を行う. 一度 configure したのち (ソースコードをコンパイルするわけでは ないので, 指定するライブラリは存在さえしていれば良い), make でドキュメント等を生成し, 最後に distclean で configure のキャッシュファイルなどを削除する.

$ cd dcpam5-20090325
$ ./configure \
              --with-netcdf=/usr/lib/libnetcdf-ffc5.a \
              --with-gtool5=/usr/lib/gtool5-ffc5/lib/libgtool5.a \
              --with-ispack=/usr/lib/libisp-ffc5.a \
              --with-spml=/usr/lib/spml-ssl2-ffc5/lib/libspml-ssl2.a \
$ make doc
$ make depend
$ make tags
$ make distclean

tgz 作成の手順

tgz を作成する.

$ cd ..
$ tar cvzf dcpam5-20090325.tgz dcpam5-20090325

シンボリックリンクの貼り換え

古いシンボリックリンクを削除し, 新しいシンボリックリンクを作成.

$ rm dcpam5_current	     ! 古いリンクを一旦削除
$ rm dcpam5_current.tgz
$ ln -s dcpam5-20090325 dcpam5_current
$ ln -s dcpam5-20090325.tgz dcpam5_current.tgz

過去版アーカイブリストの更新

$ vi index.htm

  (書き換え作業)

$ vi index.htm.en

  (書き換え作業)

dcpam トップページに記載される dcpam の最新バージョンの書き換え

$ cd ..
$ vi index.rd

  (書き換え作業)

$ make

ソース展開の手順 (自動)

Makefile を用いて, 上記作業の一部を自動化した際の方法を以下に示す.

※ 現在はこの自動化をオフにしてあります, 使用する場合には /ftp/arch/dcpam/dcpam5/Makefile を編集してください.

展開の準備

展開のため, グループユーザと umask を設定する.

$ sg dcpam
$ umask 002		! group writable にする

展開するタグを確認する. cvs の作業コピー内で, 以下のように コマンドした際, 以下のように表示されるのがタグである.

$ cvs log ファイル

  symbolic names:
         dcpam2-20050530: 1.8
         dcpam2-20050207-1: 1.4
                  :

Current_CVS_Tag.mk の編集

<URL:Current_CVS_Tag.mk> DCPAM5TAG を展開する版のタグに変更する.

$ vi Current_CVS_Tag.mk

DCPAM5PROJ  = dcpam5
DCPAM5TAG   = $(DCPAM5PROJ)-20090325

make の実行

CVS プロジェクト名ディレクトリ (例: dcpam5/ ) に移動し, 以下のようにコマンドする.

$ make export

ソースコードの展開, およびソースコード内部でのドキュメント等の生成, tgz パッケージの作成とシンボリックリンクの張替え, SIGEN ファイルの作成, トップページのバージョン情報の置きかえが行われる.

これは上記手動での更新における ソース展開の手順, ドキュメント, 依存関係ファイル, emacs tags ファイルの生成, tgz 作成の手順, シンボリックリンクの貼り換え, 過去版アーカイブリストの更新, dcpam トップページに記載される dcpam の最新バージョンの書き換え の作業に相当する.

確認

CVS プロジェクト名ディレクトリ (例: dcpam5/ ) 以下に, CVS タグ名 のディレクトリと <CVSタグ名>.tgz の TGZ パッケージが作成され, そのディレクトリに <CVSプロジェクト名>_current, その TGZ パッケージに <CVSプロジェクト名>_current.tgz というシンボリックリンクが貼られていることを確認する.

また CVS プロジェクト名ディレクトリ (例: dcpam5/ ) 中の index.htm, index.htm.en のアーカイブリストが更新されている ことを確認する.

最後に dcpam トップページ の以下の "******" の部分が Current_CVS_Tag.mk の編集 で 変更した値になっていることを確認する.

(Version: *****)

*1 (2005/04/05 石渡) バージョン名タグとして "dcpam2-1.0" と付けようと思ったら cvs [tag aborted]: tag `dcpam2-1.0' must not contain the characters `$,.:;@' と言われたよ! どうやら "$", ",", ".", ":", ";", "@" といった文字は含めてはいけないらしい!


DCPAM Development Group dcmodel-rqst@gfd-dennou.org
Last Updated: 2009/03/24, Since: 2005/04/05