2017-07-08 8 views
1

私はdebianのアップロードに慣れているので、私はちょっと間違ったことをしていると思います。しかし、私はそれが "期待どおり"に働いていたが、今は "奇妙な挙動"を経験しており、アップロード/ダウンロード時にいくつかのエラーが発生する。私は一日を過ごしました。私はいくつかの症状を絞り込んだと思います。BintrayのDebianリポジトリ複数のエラーと予期しない動作

注:私のすべてのリポジトリは自動レイアウトで作成されています。

:以下レポが先週正常に動作しませんでしたが、私はi386用のパッケージをアップロードする際に、この週は、i386用の「パッケージ」ファイルがもはや適切に更新取得され

FIRST

場合、私は思っていましたhttps://dl.bintray.com/solvingj/public-deb/dists/unstable/main/

amd64の "Packages"ファイルを見て、それをi386と比較すると、 "changelog"という名前のパッケージが昨日アップロードされ、amd64の "Packages"ファイルでのみ参照されます。これは、Bintray UIを使用してi386パッケージとamd64パッケージを一緒にアップロードし、両方の.debファイルが正しいフォルダにあり、UIに正しく表示されるため、奇妙です。注意:Travis CIからリポジトリにパブリッシュを開始したときに問題が発生したため、TravisCIアップロードモジュールが不適切なファイルをアップロードしてリポジトリを破損している可能性があると考えました。

SECOND

私がテストを開始して以来、関係なく、私は何をすべきか、私は/ distsディレクトリもない「リリース」のサブフォルダがありませんを意味し、生成されたDebianのレポを作成することはできません。 apt-get updateはリポジトリに「リリースファイルがありません」というエラーをスローし、そのリポジトリ内のパッケージを見つけることができないため、問題です。再び、私の主なdeb repo "public-deb"には/ dists/unstable/Releases構造がありますが、私の新しいリポジトリにはそれがありません。

例: https://dl.bintray.com/solvingj/public-deb-test/

私はパッケージがアップロードされているが、私は今CURL、UIからアップロードパッケージを試してみました、とトラヴィスのBintrayプロバイダを使用した後、これらのどれもの下でこれらのディレクトリのみが作成されるかもしれないと思いましたdistsディレクトリが作成されます。私はこのチュートリアル、他と同様、次の試してみた

THIRD

。ここでhttps://blog.bintray.com/2014/12/16/hosting-debian-packages-on-bintray-rocks/

{"message":"Unable to upload files: Debian distribution, component and architecture were not found on repo and were not specified"} 

はレビューのために私のcurlコマンドです::現在、CURLとのアップロードは以下のエラーで失敗します。ここ

curl -X PUT -T go-github-release-test-amd64-0.0.0.1.deb -usolvingj:mybintraykey https://api.bintray.com/content/solvingj/public-deb-test/go-github-release-test/0.0.1/pool/main/go-github-release-test/go-github-release-test-amd64-0.0.1.deb;deb_distribution=unstable;deb_component=main;deb_architecture=amd64 

追加することへのリンクです私が使用していたトラビスファイルDEBはトラヴィスからアップファイル:ここで

https://github.com/solvingJ/go-github-release-test/blob/master/.travis.yml

は、対応するbintray記述子ファイルです:グーグルを通して

https://github.com/solvingJ/go-github-release-test/blob/master/deb-publish-data.json

最後に

、私はまた、同様のエラーを持つこの人を見つけました私は彼らがおそらく関連していると思った:

https://github.com/electron-userland/electron-builder/issues/1702

答えて

3

空のリポジトリにDebianメタデータ(ReleasePackageファイルを作成)を作成するには、create repository REST APIを使用する必要があります。
Debianリポジトリを参照してください。

REST APIを使用してre-calculate your metadataを入力すると、PackagesReleaseファイルが更新されます。
注:GPGを使用してファイルに署名する場合は、provide key or passphrase

私はあなたの第3号にBintrayサポートチームに連絡します。

+0

フィードバックをいただきありがとうございます。私は知っておいてよかったメタデータAPIの再計算を知らなかった。また、UIを使用して最初のリポジトリを作成し、メタデータが自動的に計算されました(あなたが言ったようにREST APIは使用しませんでした)。 Bintrayのサポートに感謝しました。彼らは反応しましたが、まだ明確な答えを提供していません。私は私が得る更新を投稿します。 – solvingJ

+0

@solvingJ、どうやってアップロードの問題であるTHIRDを解決しましたか? – xpt

+0

私はBintrayからの確認を得られませんでしたが、その記事はもはや有効ではなく、ここに示すようにDebianのメタデータをヘッダーに入れなければならないと思います:https://github.com/roboconf/roboconf-release-scripts/blob/ 094736ec1abfca3e9d9c8adcf04462370c1bfc34/scripts/5.system-installers.sh行134-141 – solvingJ