さすがに16時間をリトライする気にはなれないので、途中の処理を継続できないかを調べてみる。
忘れないうちに、MANIFEST.*.inのうち、一番近そうなmips用ファイルをMANIFEST.sh4.inにコピーしておく。
dpkg-buildpackageを調べてみるとシェルスクリプトだったので、その中身を読んでみる。
-rオプションを付けると、それをコマンドとして起動するようなので、以下のようなシェルスクリプト(check.sh)を書いて、環境変数とコマンドラインを調べてみる。
#!/bin/sh echo "--------" env | sort > env.txt echo "--------" echo "Command [$*]"
以下のコマンドを実行することにより、コマンドラインは「debian/rules binary」であることを確認。環境変数は後述。
dpkg-buildpackage -ash4 -b -r./check.sh
以下のコマンドを実行することにより、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 "$*"
3での実行結果から、debian/rulesを見る。実体はMakefileのようなので、以下を実行。
./env.sh ./debian/rules -dn binary
問題なさそうなので、「-dn」を省いて再実行。check-manifestの実行過程で差分とともにエラーになるので、MANIFEST.sh4.inから余分な行を削除し、さらに再実行。