아이디어 및 목적
이러한 다른 패키지를 분리하는 주된 이유는 디스크 공간 및 다운로드 속도와 관련이 있습니다. 특히, 이는 데이터의 여러 사본을 분배하는 것을 의미하므로 미러 공간에 대한 큰 관심사입니다. 제작하여 foo-common
, foo-data
또는 foo-doc
패키지를 Architecture: all
, 우리는 하나의 아카이브에서 데이터의 복사 대신이 각 아키텍처로 복사 한 유지 (예 : I386, AMD64, 요법 ...). 디버깅 기호는 대부분의 사용자에게 필요하지 않으며 결국 패키지 다운로드 시간이 더 오래 걸립니다.
공식 우분투 아카이브에있는 패키지의 경우 실제로 -dbg
패키지를 수동으로 생성 할 이유가 없습니다 . 빌드 머신은 자동으로 디버깅 심볼을 제거 -dbgsym
하여 ddebs.ubuntu.com에서 호스팅 되는 패키지에 넣습니다. (참조 : 디버그 기호 패키지 ) -dbg
일반적으로 단순히 데비안에서 이월되는 존재 할 패키지를.
명령
구현에 관해서는이 질문을 살펴보십시오.
간단히, debian/control
각 패키지마다 새 스탠자를 작성해야 합니다. 그때debian/foo-*.install
파일도 작성해야합니다. 이를 dh_install
통해 올바른 내용을 올바른 패키지에 넣을 수 있습니다.
foo.install
처럼 보일 수 있습니다 주요 바이너리 패키지 :
usr/bin/
usr/lib/
foo-common.install
, foo-data.install
, foo-doc.install
, 또는 무엇이든 :
/usr/share/doc/
/usr/share/icons/
/usr/share/foo/
/usr/share/locale/
그리고위한 foo-dev
:
/usr/include/
/usr/lib/pkgconfig
/usr/lib/*.so
만들기] foo-dbg
패키지 것은 편집을 필요 debian/rules
로 일반적으로 dh_strip
디버깅 심볼을 제거합니다. 따라서 해당 동작을 재정의해야합니다.
.PHONY: override_dh_strip
override_dh_strip:
dh_strip --dbg-package=foo-dbg