.deb 패키지: Ubuntu 18.04를 사용하여 패키지를 빌드할 때 Bintray에 업로드할 수 없습니다.

.deb 패키지: Ubuntu 18.04를 사용하여 패키지를 빌드할 때 Bintray에 업로드할 수 없습니다.

그래서 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

계속 지켜봐 주시기 바랍니다

관련 정보