그래서 18.04를 실행하는 컴퓨터에서 컴파일하고 빌드한 패키지를 Bintray에 업로드하려고 합니다.
이것은 작동하지 않습니다. 다음 메시지가 나타납니다.
Unable to upload files: Could not extract metadata for artifact 'pool/m/myapp/myapp_1.0~bionic1_amd64.deb', content might be malformed.
문제없이 패키지 설치를 시도했습니다. 또한 다음을 사용하여 패키지 정보를 얻으려고 했습니다.
dpkg-deb --build myapp_1.0~bionic1_amd64.deb
이것도 문제 없습니다.
다음은 패키지를 빌드하는 데 사용하는 명령입니다.
dpkg-deb --build myapp_1.0~bionic1_amd64
16.04(LiveDVD에서 부팅)를 사용하여 패키지를 빌드하고 동일한 명령을 실행하면 문제 없이 .deb를 업로드할 수 있습니다.
다른 저장소 1개를 시도했지만(정확한 사이트는 기억나지 않지만 "gem"으로 시작했습니다) 동일한 오류가 발생했습니다.
내가 뭘 잘못하고 있는지, 어떻게 해결할 수 있는지에 대한 아이디어가 있나요?
고마워하는
답변1
잘 모르겠지만 Ubuntu 18.04는 기본 통합 압축을 사용하는 dpkg 1.19.0을 사용합니다. 어쩌면 Travis CI가 이를 지원하지 않을 수도 있습니다.
--[없음-] 균일한 압축
동일한 압축 매개변수를 지정하면 모든 아카이브 멤버(즉, dpkg 1.17.6부터 control.tar 및 data.tar)에 적용됩니다. 그렇지 않으면 data.tar 멤버만 이 매개변수를 사용합니다. 균일하게 사용할 수 있도록 지원되는 유일한 압축 유형은 none, gzip 및 xz입니다. --no-uniform-compression 옵션은 균일 압축을 비활성화합니다(dpkg 1.19.0부터). 통합 압축이 기본값입니다(dpkg 1.19.0부터).
답변2
차이점은물론압축 부분에 사용되는 패키지 control
:
$ ar t example.deb # 16.04
debian-binary
control.tar.gz
data.tar.xz
$ ar t example.deb # 18.04
debian-binary
control.tar.xz
data.tar.xz
Bintray는 여전히 Ubuntu 18.04에서 생성된 패키지를 지원하지 않습니다.
이 문제는 옵션을 지정하여 해결할 수 있습니다.dh_builddebdebian/rules
파일 에서 :
override_dh_builddeb:
dh_builddeb -- --no-uniform-compression
답변3
bintray가 이 기능을 환영할까요?
나는 그들에게 핑을 보냈다: https://github.com/travis-ci/travis-ci/issues/9656
계속 지켜봐 주시기 바랍니다