데비안 소스 패키지-build-deps를 어떻게 설치합니까?


47

데비안 (기술적으로 우분투) 소스 패키지, 즉 .dsc, .tar.gz 등이 있습니다. 는 dpkg-buildpackage내가 모든 빌드 의존성을 가지고 있지 않기 때문에 실패합니다.

일반적으로을 사용 apt-get build-dep하지만이 패키지는 적합하지 않습니다.

소스 패키지가 주어지면 모든 빌드 종속성을 설치하는 '깨끗한', '적절한'방법이 있습니까? 데비안 / 컨트롤 파일을 열 수 있다는 것을 알고 있지만 '적절한'방법이 있는지 궁금합니다.

나는 build-essential모든 일반 컴파일러 등 을 설치 했으며이 패키지에는 추가 소프트웨어가 필요합니다.

답변:


34

의 mk-build-deps일부를 사용하십시오 devscripts.


12

다음은 ptman의 제안을 사용한 워크 플로 예입니다.

.dsc파일, .orig.*z파일 및 파일 을 다운로드했다고 가정하면 .debian.*z다음을 사용하여 소스 패키지의 압축을 풉니 다.

dpkg-source -x [package_name]_[package_version].dsc

추출 된 소스 폴더로 이동하여 다음을 실행하십시오.

sudo mk-build-deps -i

그러면 파일이 생성되어 [package_name]-build-deps_[version].deb설치되며 제안 된 모든 종속성이 설치됩니다.

이제 소스에서 패키지를 빌드 할 수 있어야합니다.

debuild

완료되면 build-deps생성 한 패키지를 제거하여 가져온 종속성을 쉽게 제거 할 수 있습니다 .

sudo apt-get purge --auto-remove [package_name]-build-deps

2
또한 통과 할 수 -r할 sudo mk-build-deps -i를 설치 한 후 패키지를 제거 할 수 있습니다. 또한 루트로 빌드하는 대신을 사용하여 루트로 설치할 수 있습니다 --root-cmd sudo. 결국mk-build-deps --install --root-cmd sudo --remove
— Lucas

또한 sudo apt install devscripts equivs먼저 해야 할 수도 있습니다 .
— Alba Mendez

9

실제로 dpkg-checkbuilddeps빌드 종속성을 보여주는 사용할 수 있습니다 . 그것은 내가 필요한 것의 99 %를 얻습니다


2
이상하게도 packagename-version.dsc 파일은 Build-Depends
— quack quixote

6

나는 일반적으로 debuildfrom devscripts을 사용 하여 패키지를 빌드하고 관련이 있으면 누락 된 빌드-딥 라인을 인쇄합니다.

"적절한"방법은 pbuilder패키지를 최소한으로 빌드하고 패키지에 chroot지정된대로 추가 빌드 딥을 설치하는 사용 또는 이와 유사한 방법입니다 . 이렇게하면 여러 가지 잠재적 인 문제 (패키지되지 않은 라이브러리의 로컬 설치)도 제거됩니다 예를 들어).


-6

시험:

apt-get install build-essential

빌드 필수를 설치했습니다. 이 패키지에는 추가 소프트웨어가 필요합니다.
— Rory

그리고 무엇이 필요한지 설명하지 않습니까? 아마도 libncurses-dev 일 수도 있습니다.
— Lanselot

1
요점은 그것이 아니다; 물론 그렇습니다. 요점은 단지 의존성을 표시하는 것이 아니라 실제로 의존성을 설치하는 명령을 갖는 것입니다.
— Matthias Urlichs
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.