-1

プライベート 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 が同じ方法で圧縮していないということでしょうか?

4

2 に答える 2

-1

私の以前の答えは大丈夫ですが、完全ではありません。

次に、reprepro がソース tarball (.orig.tar.xz) について不平を言うという問題がありました。しかし、パッケージを正しく行っていなかったので、それは正常でした。

各UbuntuシリーズのVMで実行しているbashスクリプトを作成しました。このスクリプトは常にゼロからすべてを実行し、dh_make --createorig 引数を使用していましたが、ここに問題があります。

正しい方法は、一度 (たとえば Ubuntu で正確に) 生成してから .orig.tar.xz ファイルを再利用し、dh_make の --createorig 引数を使用しないことです。

これが誰かの助けになることを願っています:-)

于 2014-02-19T22:13:45.367 に答える