プライベート APT リポジトリを構成しました ( http://inodes.org/2009/09/14/building-a-private-ppa-on-ubuntu/などのインターネット上のリソースを使用)。私の C++ アプリケーションのソースを含むパッケージ。したがって、reprepro リポジトリは空です。
ビルドを開始するには、次のコマンドを使用します。
sudo reprepro -V -b /srv/reprepro processincoming incoming
pbuilder
その後、ビルドが開始され、多くの出力が生成され、プロジェクトのソース コードがコンパイルされていることがわかります。すべて問題ありません。result/
フォルダーdebianパッケージなどでも見つけることができます...
しかし、ビルドは POST_BUILD_FAILED で失敗しました。これは、pbuilder がdouane-testing_0.8.1-apt1.debian.tar.gzファイルを変更したようで、md5 サムが次のように異なるためです。
File "pool/main/d/douane-testing/douane-testing_0.8.1-apt1.debian.tar.gz" is already registered with different checksums!
md5 expected: 97257ae2c5790b84ed7bb1b412f1d518, got: df78f88b97cadc10bc0a73bf86442838
sha1 expected: ae93c44593e821696f72bee4d91ce4b6f261e529, got: d6f910ca5707ec92cb71601a4f4c72db0e5f18d9
sha256 expected: c3fac5ed112f89a8ed8d4137b34f173990d8a4b82b6212d1e0ada1cddc869b0e, got: ebdcc9ead44ea0dd99f2dc87decffcc5e3efaee64a8f62f54aec556ac19d579c
size expected: 2334, got: 2344
There have been errors!
2つのパッケージ(これらのmd5サムを持つ)を比較すると、コンテンツが厳密に同じであるため、なぜ失敗するのかわかりません(差分ツールを使用しましたが、違いはなく、新しいファイルまたは削除されたファイルはありません)。私が確認できる唯一のことは、pbuild からのアーカイブが、アップロードした元のアーカイブよりも 10 バイト大きいことです。
私の開発マシンでは、md5 97257ae2c5790b84ed7bb1b412f1d518のファイル:
-rw-r--r-- 1 zedtux zedtux 2334 Feb 3 23:38 douane-testing_0.8.1-apt1.debian.tar.gz
私のサーバーでは、 md5 df78f88b97cadc10bc0a73bf86442838のファイル:
-rw-r--r-- 1 root root 2344 Feb 5 00:58 douane-testing_0.8.1-apt1.debian.tar.gz
サーバーに pbuild バージョン 0.213 があります。
この動作の理由は何ですか?どうすれば修正できますか?
編集
行方不明に見えるGPGキーの問題が疑われ、ファイルが署名されていないため、md5sumが異なります。ビルドプロセス中に、次の行があります。
I: Extracting source
gpgv: Signature made Wed Feb 5 22:04:37 2014 UTC using RSA key ID 9474CF36
gpgv: Can't check signature: public key not found
dpkg-source: warning: failed to verify signature on ./douane-testing_0.8.1-apt1.dsc
編集 2
.debian.tar.gz ファイルを手動で作成するコマンドを見つけようとしました。私が見つけた最高のものは次のとおりです。
tar cv debian | gzip --no-name --rsyncable -9 > douane-testing_0.8.1-apt1.debian.tar.gz
同じ結果は得られませんがdpkg-source
、サーバーで同じコマンドを試しましたが(少なくとも同じサイズにする必要があります)、一致しません...
Debian と Ubuntu が同じ方法で圧縮していないということでしょうか?