2013-03-06 14 views
9

私のdebianリポジトリに問題があります。これはOKだった同じdebパッケージを追加しているReprepro

reprepro -Vb . remove package 

が、私は次のコマンドを使用して再び同じパッケージを追加しようとしたとき::私は間違ったパッケージを削除

Already existing files can only be included again, if they are the same, but: 
md5 expected: 1035762e5e21e6ad8689660c0032f42d, got: 77ea3b094fcbfca4110afb5a9af0d2cb 
sha1 expected: e41527e49bee98a59b3a5e16fbe856bb15a836bd, got: 5c6b673e5f11f1a80201e76d0fa4ba1d5935f095 
sha256 expected: ae795de3b2d62f513b634a00c4bec74c90d2a6f750e5ec0386ee2b7775af39ec, got: 1531b2dd1869214afe58bb526fa8bda70db1bd1ef73d133bde002d42f147a041 
size expected: 327748, got: 253398 
There have been errors! 

reprepro -Vb . includedeb squeeze package 

私は次の出力を得ました

私はこれをどのように修正できますか?私はrepreproの人をチェックしていて、私はこの状況を解決するための解決策を見いださなかった。

+0

大文字小文字の区別があるOSでこのような高レベルの "I"大文字を書けない理由を理解できません。 – peterh

答えて

12

最初のコマンドは機能していないはずです。 removeには、そのパッケージを削除する配布のコードネームが必要です。

includedebと同じように、誤ったペーストで、removeコマンドに「squeeze」を与えたと仮定すると、同じパッケージを別のディストリビューションに置いている可能性は非常に高いです。 Repreproは、最初にリリースされたディストリビューションとは無関係に、同じ名前と完全に同じバージョンのパッケージが全く同じ内容を持っているというデビアンの理想を強制しようとしています。

あなたはまだあるかもしれない場所を見るためにreprepro ls $package位置しています。一度それを見つけたら、正しいことはreprepro copyになり、それは他の場所から絞って戻ってくるでしょう。

4

アーカイブに複数のディストリビューションをサポートしている場合は、新しいファイルでインクルードすることが許可される前に、すべてのディストリビューションからファイル参照を削除する必要があります。

reprepro lsの後に、ファイルが参照されるディストリビューションごとにreprepro remove {dist} {pkg}を1回使用することをお勧めします。

すべての参照がなくなったら、includedeb新しいものを使うことができます。

1

パッケージ名のバージョンを変更するだけでは不十分で、制御ファイル(バイナリアーカイブのDEBIAN/control、ソースdebのdebian/control)でも変更する必要があります。

debパッケージを変更したため、別のバージョンにする必要があります。

Version: 1.2.3-kioplays1 (...2, 3, etc) 

または類似:通常、次のような行を

Version: 1.2.3-something 

変更する必要があります。

バージョンが異なる場合は、パッケージをレポに複数回含めることができます。

関連する問題