Bintray上的Debian存储库存在多个错误和意外行为

时间:2017-07-08 22:34:51

标签: debian apt bintray

我是debian上传的新手,所以我愿意相信我只是做错了什么。但是,我让它按预期工作,但现在遇到“奇怪的行为”,上传/下载时出现一些错误。我花了一整天时间,我想我已经缩小了一些症状:

注意:我的所有存储库都是使用自动布局创建的。我想知道是否

第一

下面的repo在上周正常工作,但是本周我上传i386软件包时,i386的“Packages”文件不再正常更新:

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上传模块可能不正确地上传了一些文件并破坏了存储库。

第二

自从我开始测试以来,无论我做什么,我都无法创建生成/ dists目录的debian repo,这也意味着没有“Releases”子文件夹。这是一个问题,因为apt-get update会抛出一个错误,说存储库“没有Release文件”,并且无法在该repo中找到任何包。再一次,我的主要deb repo“public-deb”有/ dists / unstable / Releases结构应该如此,但我的新回购没有得到它。

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

我想也许这些目录只是在上传包后创建的,但我现在尝试从CURL,UI和使用travis的Bintray提供程序上传包,并且在这些情况下都没有创建dists目录。

THIRD

我已尝试过本教程以及其他教程。目前,使用CURL上传失败,错误如下:

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

其他

这是我用来从travis推送.deb文件的travis文件的链接:

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

1 个答案:

答案 0 :(得分:3)

为了在空存储库上创建Debian元数据(ReleasePackage文件),您需要使用create repository REST API。 /> 请参阅 Debian存储库参考。

您可以re-calculate your metadata使用REST API,它会更新您的/distPackages文件。
注意:如果您要签署文件(使用GPG),您应该provide key or passphrase

我会就你的第三个问题联系Bintray支持团队。