=begin
= g95 Debian パッケージ作成の手引き
#* 森川 靖大
# * 2007/12/02 (森川 靖大) 安定版と不安定版を別々にする
# * 2006/05/30 (森川 靖大) ディレクトリ構成の変更
# * 2006/04/20 (森川 靖大) 作成
== 概要
以下では, (())
で公開されている G95 Fortran Compiler の Debian パッケージを自動生成するための
方法について記す.
== ディレクトリ構成
: etch
G95 version 0.9 (安定版) によって生成された Debian パッケージの置き場
: sarge, stable
etch へのシンボリックリンク
: sid
G95 最新版によって生成された Debian パッケージの置き場
: unstable
sid へのシンボリックリンク
: buildpackage-tools
Debian パッケージ生成ツール群
== ツール群の解説
buildpackage-tools ディレクトリ以下には以下のファイルが置かれている.
: g95_debmake_main.sh
G95 最新版によって作成される
Debian パッケージアップデートのためのメインプログラム.
以降のファイルはは全てこのプログラムから呼び出される.
: g95_download.sh
(()) から
Linux g95 のバイナリをダウンロードする.
: g95_vercheck.sh
ダウンロードした g95 の tar.gz パッケージを展開し,
その g95 バイナリのバージョンをチェックする.
: g95_getversion.sh
g95 バイナリのバージョンを取得する.
スクリプトである. 内部で g95_datetrans.pl を呼び出す.
: g95_datetrans.pl
g95 バイナリから出力する日付を YYYYMMDD の形式に
変更するスクリプト.
: g95_version
現在 Debian パッケージ化されている g95 の最新バージョンが
保持されている.
プログラムが呼び出される際のプロセスの階層を以下に示す.
g95_debmake_main.sh ダウンロード - Debian パッケージ作成
|
|-- g95_download.sh ダウンロード
|
|-- g95_vercheck.sh バージョンチェック
| |
| `-- g95_getversion.sh バージョン取得
| |
| `-- g95_datetrans.pl バージョンの数値変換
|
`-- g95_version バージョン比較
== g95_debmake_main.sh の使い方
buildpackage-tools ディレクトリへ移動後, g95_debmake_main.sh を実行する.
その際, 環境変数 DEBEMAIL, DEBFULLNAME, MAILTO を設定して実行すること.
DEBFULLNAME, DEBEMAIL で設定された値は Debian パッケージ内の changelog
に書き込まれる. MAILTO で設定されたメールアドレスへは, このプログラム
によるアップデートの結果が送られる.
$ cd buildpackage-tools
$ DEBEMAIL=morikawa@xxx.xxxx.xx \
MAILTO=morikawa@xxx.xxxx.xx \
DEBFULLNAME="Yasuhiro MORIKAWA" \
./g95_debmake_main.sh -v
オプション -v によって動作の詳細が標準エラー出力に
表示される. 不要な場合は -v をはずすこと.
== cron を利用した自動更新
cron を利用することによって, 更新を自動化する. ただし
g95_debmake_main.sh は起動するたびに
(())
からバイナリをダウンロードするため, あまり頻繁には行わないこと.
$ crontab -e
以下に書き込む内容の例を示す. MAILTO, DEBEMAIL, DEBFULLNAME は
適宜変更せよ.
MAILTO=morikawa@xxx.xxxx.xx
# g95 Debian パッケージのアップデート (毎週月曜深夜にアップデート)
30 3 * * 1 umask 002; cd /GFD_Dennou_Club/ftp/arch/cc-env/g95/g95/buildpackage-tools ; DEBEMAIL=morikawa@xxx.xxxx.xx DEBFULLNAME="Yasuhiro MORIKAWA" ./g95_debmake_main.sh
=end