[ 地球流体電脳倶楽部 / cc-env / G95 Debian パッケージトップページ ] [ 手引き目次 / SIGEN ]

netcdf-g95 Debian パッケージ作成の手引き


  1. 概要
  2. ディレクトリ構成
  3. ツール群の解説
  4. netcdf-g95_debmake_main.sh の使い方
  5. cron を利用した自動更新

概要

以下では, UNIDATA で公開される NetCDF ライブラリを, The G95 project で公開されている G95 Fortran Compiler によってコンパイルし, その Debian パッケージを自動生成するための方法について記す.

ディレクトリ構成

etch
G95 version 0.9 (安定版) によって生成された Debian パッケージの置き場
sarge, stable
etch へのシンボリックリンク
sid
G95 最新版によって生成された Debian パッケージの置き場
unstable
sid へのシンボリックリンク
buildpackage-tools
Debian パッケージ生成ツール群

ツール群の解説

buildpackage-tools ディレクトリ以下には以下のファイルが置かれている.

netcdf-g95_debmake_main.sh
G95 最新版によって作成される Debian パッケージアップデートのためのメインプログラム. 以降のファイルはは全てこのプログラムから呼び出される.
g95_download.sh
The G95 project から Linux g95 のバイナリをダウンロードする.
netcdf_download.sh
NetCDF 資源のミラー から NetCDF のソースをダウンロードする.
g95_vercheck.sh
ダウンロードした g95 の tar.gz パッケージを展開し, その g95 バイナリのバージョンをチェックする.
g95_getversion.sh
g95 バイナリのバージョンを取得する. スクリプトである. 内部で g95_datetrans.pl を呼び出す.
g95_datetrans.pl
g95 バイナリから出力する日付を YYYYMMDD の形式に 変更するスクリプト.
g95_version
現在 Debian パッケージ化に使用されている g95 の最新バージョンが 保持されている.

プログラムが呼び出される際のプロセスの階層を以下に示す.

netcdf-g95_debmake_main.sh    ダウンロード - Debian パッケージ作成
|
|-- g95_download.sh           ダウンロード
|-- netcdf_download.sh        ダウンロード
|
|-- g95_vercheck.sh           バージョンチェック
|   |
|   `-- g95_getversion.sh     バージョン取得
|       |
|       `-- g95_datetrans.pl  バージョンの数値変換
|
`-- g95_version               バージョン比較

netcdf-g95_debmake_main.sh の使い方

buildpackage-tools ディレクトリへ移動後, netcdf-g95_debmake_main.sh を実行する. その際, 環境変数 DEBEMAIL, DEBFULLNAME, MAILTO を設定して実行すること.

DEBFULLNAME, DEBEMAIL で設定された値は Debian パッケージ内の changelog に書き込まれる. MAILTO で設定されたメールアドレスへは, このプログラム によるアップデートの結果が送られる.

$ cd buildpackage-tools
$ DEBEMAIL=morikawa@xxxx.xxxx \
  MAILTO=morikawa@xxxx.xxxx \
  DEBFULLNAME="Yasuhiro MORIKAWA" \
  ./netcdf-g95_debmake_main.sh -v

オプション -v によって動作の詳細が標準エラー出力に 表示される. 不要な場合は -v をはずすこと.

cron を利用した自動更新

cron を利用することによって, 更新を自動化する. ただし g95_debmake_main.sh は起動するたびに The G95 project からバイナリをダウンロードするため, あまり頻繁には行わないこと.

$ crontab -e

以下に書き込む内容の例を示す. MAILTO, DEBEMAIL, DEBFULLNAME は 適宜変更せよ.

MAILTO=morikawa@xxxx.xxxx

# g95 Debian パッケージのアップデート (毎週月曜深夜にアップデート)
30 3 * * 1 umask 002; cd /GFD_Dennou_Club/ftp/arch/cc-env/g95/netcdf-g95/buildpackage-tools ; DEBEMAIL=morikawa@xxxx.xxxx DEBFULLNAME="Yasuhiro MORIKAWA" ./netcdf-g95_debmake_main.sh

Yasuhiro MORIKAWA / GFD Dennou Staff dcstaff@gfd-dennou.org
Last Updated: 2007/12/02, Since: 2006/05/31