以下では, UNIDATA で公開される NetCDF ライブラリを, The G95 project で公開されている G95 Fortran Compiler によってコンパイルし, その Debian パッケージを自動生成するための方法について記す.
buildpackage-tools ディレクトリ以下には以下のファイルが置かれている.
プログラムが呼び出される際のプロセスの階層を以下に示す.
netcdf-g95_debmake_main.sh ダウンロード - Debian パッケージ作成 | |-- g95_download.sh ダウンロード |-- netcdf_download.sh ダウンロード | |-- g95_vercheck.sh バージョンチェック | | | `-- g95_getversion.sh バージョン取得 | | | `-- g95_datetrans.pl バージョンの数値変換 | `-- g95_version バージョン比較
buildpackage-tools ディレクトリへ移動後, netcdf-g95_debmake_main.sh を実行する. その際, 環境変数 DEBEMAIL, DEBFULLNAME, MAILTO を設定して実行すること.
DEBFULLNAME, DEBEMAIL で設定された値は Debian パッケージ内の changelog に書き込まれる. MAILTO で設定されたメールアドレスへは, このプログラム によるアップデートの結果が送られる.
$ cd buildpackage-tools $ [email protected] \ [email protected] \ DEBFULLNAME="Yasuhiro MORIKAWA" \ ./netcdf-g95_debmake_main.sh -v
オプション -v によって動作の詳細が標準エラー出力に 表示される. 不要な場合は -v をはずすこと.
cron を利用することによって, 更新を自動化する. ただし g95_debmake_main.sh は起動するたびに The G95 project からバイナリをダウンロードするため, あまり頻繁には行わないこと.
$ crontab -e
以下に書き込む内容の例を示す. MAILTO, DEBEMAIL, DEBFULLNAME は 適宜変更せよ.
[email protected] # g95 Debian パッケージのアップデート (毎週月曜深夜にアップデート) 30 3 * * 1 umask 002; cd /GFD_Dennou_Club/ftp/arch/cc-env/g95/netcdf-g95/buildpackage-tools ; [email protected] DEBFULLNAME="Yasuhiro MORIKAWA" ./netcdf-g95_debmake_main.sh