Debian repository on Bintray multiple errors and unexpected behavior

社会主义新天地 提交于 2019-12-24 08:41:17

问题


I'm new to debian uploading, so I'm willing to believe I'm just doing something wrong. However, I had it working "as expected", but now am experiencing "strange behavior" and some errors when uploading/downloading. I spent a whole day and I think I've narrowed down some of the symptoms:

NOTE: All my repositories are created with the Automatic Layout. I was wondering if

FIRST

The repo below was working normally last week, but this week the "Packages" file for i386 is no longer getting updated properly when I upload a package for i386:

https://dl.bintray.com/solvingj/public-deb/dists/unstable/main/

If you look at the "Packages" file for amd64 and compare it to i386, the package named "changelog" was uploaded yesterday and it is only referenced in the "Packages" file for amd64. This is odd because I uploaded the i386 package and the amd64 package together using the Bintray UI, and both .deb files exist in the correct folder and appear correctly in the UI. Note: the problem began when I started publishing to the repository from Travis CI, so I thought it might be possible that the TravisCI upload module uploaded some files improperly and broke the repository.

SECOND

Since I started testing, no matter what I do, I can't create a debian repo where the /dists directory is generated, which also means there's no "Releases" subfolder. This is a problem because apt-get update throws an error saying the repository "does not have a Release file", and fails to find any packages in that repo. Again, my main deb repo "public-deb" has the /dists/unstable/Releases structure as it should, but none of my new repos get it.

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

I thought perhaps those directories are only created after packages are uploaded, but I've now tried uploading packages from CURL, the UI, and using travis's Bintray provider, and under none of these circumstances is the dists directory created.

THIRD

I've tried following this tutorial, as well as others. Currently, the upload with CURL fails with the error below:

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"}

Here is my curl command for review:

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

Additional

Here is a link to the travis file I was using to push the .deb file up from travis:

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

Here is the corresponding bintray descriptor file:

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

Finally

Through googling, I also found this person having a similar error, I thought perhaps they were related:

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


回答1:


In order to create Debian metadata (Release and Package files under /dist) on an empty repository you'll need to use the create repository REST API.
see Debian repository reference.

You can re-calculate your metadata using REST API, it will update your Packages and Release files.
NOTE: In case you want to sign your files (using GPG) you should provide key or passphrase

I would contact Bintray support team on your THIRD issue.



来源:https://stackoverflow.com/questions/44991329/debian-repository-on-bintray-multiple-errors-and-unexpected-behavior

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!