我使用Bintray作为APT debian存储库,之前工作正常。但是我在上传debian软件包时遇到了一个问题(.deb文件)
Push to https://api.bintray.com/content/amurzeau/streamlink-debian/streamlink/0.9.0-59-g9435397+dfsg-1/pool/main/s/streamlink/livestreamer_1.12.2+streamlink+0.9.0-59-g9435397+dfsg-1_all.deb;deb_distribution=experimental;deb_component=main;deb_architecture=amd64,i386;publish=0;override=1
Response: {"message":"Unable to upload files: Could not extract metadata for artifact 'pool/main/s/streamlink/livestreamer_1.12.2+streamlink+0.9.0-59-g9435397+dfsg-1_all.deb', content might be malformed."}
我发现该问题与.deb文件的内容有关:
control.tar.gz
和data.tar.gz
,它就可以了control.tar.xz
和data.tar.xz
,则失败所以问题:
control.tar.xz
和data.tar.xz
的.deb包?注意:要从.changes文件中将debian包推送到bintray,我使用这个脚本https://github.com/amurzeau/debian-travis/blob/c1aa5e895dc78ad44b8ae76a89871af3b93a6e23/travis-build/bintray_upload_changes.py。
不同之处在于indeed与.deb的内容有关,压缩方法准确无误。
Bintray仍然不支持截至今天在Ubuntu 18.04上创建的软件包。
通过在debian / rules文件中指定possible to workaround this issue的选项,它是dh_builddeb:
override_dh_builddeb:
dh_builddeb -- --no-uniform-compression