2013-08-16 3 views
4

데비안 패키지를 개발 중이고 DEBIAN/컨트롤 아래에 'Installed-Size'를 올바르게 정의하는 데 문제가 있습니다.
새 버전의 svn 저장소를 계속 확인하는 스크립트를 만들었습니다. 그런 다음 변경 사항이 발견되면 du -s 명령으로 코드 크기 (DEBIAN 폴더 제외)를 계산 한 다음이 값이 'Installed-size'로 지정됩니다. 다음과 같은deb 패키지의 설치 크기를 올바르게 설정하는 방법은 무엇입니까?

DEBIAN/제어 파일은 같습니다

Package: myfirstdebpackage 
Version: 1.0 
Architecture: all 
Maintainer: me 
Installed-Size: 16664 
Depends: python (>=2.7), python-appindicator, python-numpy, python-suds 
Section: extras 
Priority: optional 
Homepage: www.example.com 
Description: My first deb package 

응용 프로그램의 폴더 구조 : 우선 설치 (APT 저장소를 통해)하지만 새 버전을 만들고 패키지를 업데이트하려고 후 잘 어울리는

myfirstdebpackage/DEBIAN 
myfirstdebpackage/usr/bin/myfirstdebpackage/<files> 

'크기 불일치'또는 '해시 합 불일치'오류가 발생했습니다.

무엇이 잘못 되었나요?

답변

0

수동으로 값을 변경해야한다고 생각하지 않습니다. 대신 패키지의 루트 디렉터리에 debuild (devscripts 패키지의 일부)을 실행하십시오. 바이너리 패키지는 해당 루트의 상위 디렉토리에 작성되며 물론 자동으로 필드를 채 웁니다.

+0

제어 파일에서 'Installed-Size'필드를 제거했으며 패키지가 성공적으로 만들어졌습니다. 그러나 문제는 여전히 존재합니다. 제 아파트에 문제가 생겼나요? 새 deb 패키지를 만들 때마다 저장소 ('binary'폴더)에 복사 한 다음 'dpkg-scanpackages binary/dev/null | gzip -9c> binary/Packages.gz '명령 ... – Levi

+1

'dpkg-scanpackages'를 수동으로 실행하지 마십시오. 오히려 reprepro와 같은 도우미 도구 (http://serverfault.com/a/224635)를 사용하십시오. – Tshepang

0

동일한 버전이지만 다른 내용으로 매번 바이너리 패키지를 생성한다고 가정합니다. 그거 하지마. 이것은 apt와 다른 많은 도구들을 혼란스럽게 할 것이고, 각각의 pkgname-version-arch tuple은 독특하고 다른 패키지를 의미한다고 가정하고 가정합니다.

설치 크기와 관련하여 dpkg-gencontrol이 자동으로 생성하지만, 사용자가 DEBIAN/제어 파일을 직접 작성한다고 가정합니다. 오류가 발생하기 쉬운 수작업을 의미하기 때문에 필자는이를 권장합니다.

관련 문제