dh_auto_install:
파일 의 대상을 재정의했습니다 debian/rule
. 이제 내가 만든 모든 구성 요소가 debian/tmp
.
내 세트의 각 패키지를 준비 했지만 package.install
다음과 같은 문제가 발생했습니다.
패키지에는 두 개의 파일이 A
포함되어야 합니다 scripts
.
패키지에는 dir B
도 포함되어야 scripts
하지만 패키지에는 두 개의 파일이 없습니다 A
.
물론 files scripts
내의 디렉토리에 파일을 설정하는 것도 가능합니다 debian/B.install
. 그러나 scripts
dir에는 많은 파일이 포함되어 있으므로 각 파일을 배치하는 데 더 많은 시간이 걸립니다.
package.install
파일에서 특정 파일을 제외할 수 있나요 ?
답변1
package.install
파일에서 특정 파일을 제외할 수 있나요 ?
직접적으로는 아니지만 원하는 것을 달성하는 데는 최소한 세 가지 방법이 있습니다. (rewriting을 언급하셨으니 , 짧은 스타일을 dh_install
사용하고 계신 것 같아요 .)dh
rules
dh_install
복사파일을debian/tmp
대상으로 보냅니다. 이전 버전이dh_movefiles
이를 옮겼지만 더 이상 사용되지 않지만 이 경우에는 계속 사용할 수 있습니다. 이를 수행하는 방법은A
패키지B
보다 먼저 패키지를 나열 하고debian/control
(둘 다 동일한 아키텍처를 가지고 있다고 가정하여 먼저 처리되도록) 이름을 바꾸고A.install
먼저 실행 되도록A.files
재정의하는 것 입니다.dh_install
dh_movefiles
override_dh_install: dh_movefiles dh_install
이렇게 하면 파일 이 나열될 수 있고 에 남아 있는 모든 파일이 포함될 수
A
있도록 파일이 이동됩니다 .debian/tmp
B.install
scripts
B
scripts
시퀀스를
dh
건너뛰dh_movefiles
므로 두 번 실행되지 않도록 특별한 작업을 수행할 필요가 없습니다.debhelper
프로필은 실행 가능하므로 ' 내용을 하나로B.install
나열scripts
하고 필터링 할 수 있습니다A.install
.또 다른 방법은 단계를 추가한
dh_install
다음A
fromB
;override_dh_install: dh_install cd debian/A/scripts; find . -type f -exec rm -f ../B/scripts/{} \;
(검증되지 않은).