나만의 데비안 패키지를 만들어 설치하고 싶습니다 /opt/A/B/C
.
오버레이 dh_auto_install
문서에 나와 있듯이 params --destdir=
및 -- prefix=
.
데비안을 설치하려면 다음을 /opt/A/B/C
통해 이를 지정할 수 있습니다.
override_dh_auto_install:
dh_auto_install -- prefix=/opt/A/B/C
또는
override_dh_auto_install:
dh_auto_install --destdir=/opt/A/B/C
참고: Ubuntu 14.04 시스템에 deb를 설치할 계획입니다.
답변1
dh_auto_install
--destdir
를 작성할 때 옵션으로 만 인식되며 -- prefix=...
, 이는 옵션이 아니며 설치를 수행하기 위해 실행해야 한다고 결정하는 dh_auto_install
모든 프로그램에 전달되는 인수입니다 .dh_auto_install
그러나 dh_auto_install
이는 달성하려는 목표에 적합한 도구가 아닐 수도 있습니다. 최종 설치 접두사는 일반적으로 설치 시간이 아닌 구성 시간에 지정됩니다. 이를 위해서는 다음을 재정의해야 합니다 dh_auto_configure
.
override_dh_auto_configure:
dh_auto_configure -- --prefix=/opt/A/B/C
답변2
당신은 사이의 차이점을 알아야합니다접두사그리고대상 디렉터리(destdir):
접두사- 바이너리 파일 앞에 추가되는 경로입니다.
대상 디렉토리- 바이너리의 위치입니다.
일반적으로(가장 널리 사용되는 방식) 소스 코드에서 바이너리를 생성하는 워크플로는 다음과 같습니다(단지 예일 뿐임).
./configure --prefix=/prepend/path ...
.make ...
.make install DESTDIR=/path/for/binaries
.
보시다시피,접두사구성 단계에서 설정합니다.
3단계 후에는 빌드된 파일이 설치 /path/for/binaries
되어 /path/for/binaries/prepend/path
.
debian
패키지를 빌드하면 소스 코드가 포함된 디렉터리와 그 안에 디렉터리가 생깁니다 .
프로그램을 찾아야 하는 경우 /opt/A/B/C
재정의해야 합니다 dh_auto_configure
(사람 1 dh_auto_configure) 목표는 debian/rules
다음과 같습니다.
override_dh_auto_configure:
dh_auto_configure -- --prefix=/opt/A/B/C
이 단계는 답변을 요청할 때 언급한 1단계에 해당합니다.
그러면 다시 작성할 필요가 없습니다 debian/rules
.
@StephenKitt는 dh_auto_install
이 질문에 대한 의견에서 좋은 설명을 제공했습니다.