主にNode.js JavascriptファイルからDEBパッケージをビルドする必要がありますが、いくつかのバイナリファイルも含める必要があります。それらはdebian/source/include-binaries内にリストされています。そうでない場合、エラーメッセージが表示されます
dpkg-source: error: unrepresentable changes to source
問題のコマンドは次のとおりです。
bzr builddeb -- -us -uc
ファイルinclude-binariesを追加した後、bzr builddeb--us -ucを実行すると、別のエラーが表示されます。
dpkg-source: error: aborting due to unexpected upstream changes, see /tmp/mailadmin_0.0-1.diff.n6m5_6
私はこれを取り除く方法がわかりません。
出力の次の行では、
dpkg-source: info: you can integrate the local changes with dpkg-source --commit
しかし、パッケージのビルドエリアでこのコマンドを実行すると、ソースへの代表できない変更エラーメッセージが再び表示されます。にもかかわらずdebian/source/include-binariesはビルド領域にも存在します。
私はこれから抜け出す方法を逃しています...
ビルドプロセスによって生成されたすべてのファイルを削除しようとしましたが、まだ成功しませんでした。
詳細:
ターゲットディレクトリは/ opt/mailadminです。このディレクトリは珍しいので、ファイルにリストしましたdebian/mailadmin.install(これには1行が含まれています:)
opt/mailadmin opt/
bzr builddebプロセスは、期待どおりにこのファイルを使用します。
プロジェクトは新しいため、アップストリームのtarballはありません。
エラーはバイナリファイルとは関係ありません。それは非常に似ていますが。 (dpkg
にこれらの場合のより良いエラーメッセージに関するバグを提出する価値があるかもしれません。)バイナリファイルに関するものであれば、次のようになります。
dpkg-source: error: cannot represent change to package_name-X.Y/debian/some_binary_file.png: binary file contents changed
そして、それでも、古いスタイルバージョン1.0
ソースパッケージを使用している場合にのみ発生します。
これは、アップストリームのtarballに関係しています。本当にbzr builddeb -- -us -uc
を使用している場合は、bzr builddeb
にアップストリームのtarballがあるか、それを探すのにエラーが発生していると確信している必要があります。作成したtarballの内容はbzrブランチの内容と一致しないため、「予期しないアップストリームの変更」に関するエラーが発生します。
この場合に対処する最も簡単な方法は、--split
フラグを渡すことです。
bzr builddeb --split -- -us -uc
bzr help builddeb
から:
--split Automatically create an .orig.tar.gz from a full
source branch.
これは、単に/debian
以外のすべてをtarballに入れて使用します。