foo-dbgsym-*
데비안 패키지를 빌드할 때 일반적으로 버전 및 패키지 와 함께 함께 번들로 묶인 여러 관련 패키지를 빌드합니다 foo-doc
.
예를 들어 다음과 같은 비교적 간단한 패키지도 있습니다 make
.
make-dbgsym_4.2.1-1.2_amd64.deb
make-guile-dbgsym_4.2.1-1.2_amd64.deb
make-guile_4.2.1-1.2_amd64.deb
make_4.2.1-1.2_amd64.deb
빌드 시스템에 빌드만 make
하고 빌드하지 말라고 지시할 수 있나요 make-guile
?
다음은 패키지를 빌드하는 데 사용하는 프로세스입니다.
apt-get source make
cd make*
dpkg-buildpackage --build=binary --no-sign
빌드하려는 패키지를 지정하는 일반적인 프로세스가 있습니까?
Make는 간단한 예이지만 더 큰 패키지는 관심 없는 여러 버전의 패키지를 빌드하고 종속 라이브러리를 설치해야 하며 빌드 프로세스가 더 오래 걸립니다.
답변1
dbgsym
사용 가능한 패키지 비활성화빌드 noautodbgsym
옵션:
DEB_BUILD_OPTIONS=noautodbgsym dpkg-buildpackage -us -uc
--build
의 옵션을 변경하여 아키텍처 종속 또는 아키텍처 독립적 패키지만 빌드하는 것도 가능합니다 dpkg-buildpackage
.
그 외에 빌드할 패키지와 설치할 종속성을 선택하고 선택할 수 있는 보편적인 방법은 없습니다. 특히, 빌드 종속성은 관련 바이너리 패키지와 함께 번들로 제공되지 않습니다.
일부 패키지 지원파일 생성;및/또는 꺾쇠 괄호 안의 종속성을 찾아 Build-Profiles
이를 확인할 수 있습니다 debian/control
. 이러한 패키지에서는 적절한 구성 파일을 선택하는 dpkg-buildpackage
옵션 -P
이 빌드 옵션과 함께 사용되는 경우가 있습니다. 예를 들어, nocheck
구성 파일이 있는 패키지에서
DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -Pnocheck
테스트 관련 빌드 종속성(있는 경우)을 건너뛰고 실행 중인 테스트도 건너뜁니다.
실제로 make
패키지 의 최신 버전은 noguile
빌드 프로필을 제공한다고 주장하므로 Guile을 건너뛸 수 있어야 합니다.
dpkg-buildpackage -Pnoguile -us -uc
그 외에는구성 파일 정의가 불완전합니다..
debian/control
관련 없는 패키지를 제거하고 debian/rules
관련 없는 빌드 단계를 제거하는 편집은 언제든지 가능합니다 .