데비안 소스 패키지-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
또한 통과 할 수 -rsudo 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.