iWA's 雑記

[2004年12月] | [2004年] | [最新] | [TOP]

2004-12-27

#1 LANDISK (その14)

(半)自動ビルドの仕組みを検討してみる。

やりたいことー。

しょりてじゅん

  1. ソースパッケージディレクトリでの処理。
    1. 事前にapt-get updateしておく。
    2. *.dsc ファイルを全部読み出す。
    3. パッケージ毎に、(バージョン番号, ローカルパッチの有無, ソースパッケージ構成ファイルリスト, バイナリパッケージファイルリスト)のリストを作る。
    4. 最新バージョン以外については削除対象としてリストアップしておく。ローカルパッチがある場合、適用済みと適用なしの両方のパッケージを残す。
    5. aptのデータベースに記録されているソースパッケージバージョンを比較し、更新されたパッケージをリストアップする。
  2. ビルド用ディレクトリに移動しての処理。
    1. リストアップしたパッケージを取得する。
    2. ローカルパッチが当たっていないパッケージについて、パッケージのビルド依存性をチェックする。
      • 追加のパッケージが不要なものをまとめてビルドする。
      • 追加のパッケージが必要のものを、ビルド対象パッケージ毎にパッケージの導入/削除を行い、ビルドを行う。
    3. ローカルパッチが当たっているパッケージについて、自動ビルドスクリプトがあればこれを起動する。なければソースパッケージが更新された旨を記録する。
    4. パッケージの導入状態を元に戻す。
    5. パッケージがビルド済みならば、ソースパッケージをソースパッケージディレクトリに、バイナリパッケージをバイナリパッケージディレクトリに移動する。
  3. ソース/バイナリパッケージ一覧ファイルを再構築する。
  4. sourceforge.jpとrsyncする。

[コメント]


[2004年12月] | [2004年] | [最新] | [TOP]