iWA's 雑記

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

2004-10-29

#2 LANDISK (その4) X編3

さすがに16時間をリトライする気にはなれないので、途中の処理を継続できないかを調べてみる。

  1. 忘れないうちに、MANIFEST.*.inのうち、一番近そうなmips用ファイルをMANIFEST.sh4.inにコピーしておく。

  2. dpkg-buildpackageを調べてみるとシェルスクリプトだったので、その中身を読んでみる。

  3. -rオプションを付けると、それをコマンドとして起動するようなので、以下のようなシェルスクリプト(check.sh)を書いて、環境変数とコマンドラインを調べてみる。

    #!/bin/sh
    echo "--------"
    env | sort > env.txt
    echo "--------"
    echo "Command [$*]"
    

    以下のコマンドを実行することにより、コマンドラインは「debian/rules binary」であることを確認。環境変数は後述。

    dpkg-buildpackage -ash4 -b -r./check.sh
    
  4. 以下のコマンドを実行することにより、dpkg-buildpackageで設定される環境変数を抽出。

    env | sort | diff -u0 - env.txt > env.sh
    

    env.shを編集して、以下のようなシェルスクリプトを書く。(最後は"$@"の方がよかったかも)

    #!/bin/bash
    
    export DEB_BUILD_ARCH=sh4
    export DEB_BUILD_GNU_CPU=sh4
    export DEB_BUILD_GNU_SYSTEM=linux
    export DEB_BUILD_GNU_TYPE=sh4-linux
    export DEB_HOST_ARCH=sh4
    export DEB_HOST_GNU_CPU=sh4
    export DEB_HOST_GNU_SYSTEM=linux
    export DEB_HOST_GNU_TYPE=sh4-linux
    eval "$*"
    
  5. 3での実行結果から、debian/rulesを見る。実体はMakefileのようなので、以下を実行。

    ./env.sh ./debian/rules -dn binary
    
  6. 問題なさそうなので、「-dn」を省いて再実行。check-manifestの実行過程で差分とともにエラーになるので、MANIFEST.sh4.inから余分な行を削除し、さらに再実行。

  7. Congratulations!! あ゛ー疲れた。

[コメント]


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