다음을 사용하여 소스에서 단일 패키지를 빌드하려고 합니다.dpkg 빌드 패키지. dh_auto_install
호출되어 어느 시점에서 실행됩니다.make install DESTDIR=/somewhere/debian/package-name
그런 다음 dh_install
호출 되지만 .
or에서만 검색하고 ! debian/tmp
에서는 검색하지 않습니다 .debian/package-name
비슷한 정보를 얻습니다.
dh_install: Cannot find (any matches for) "usr/include/*" (tried in ., debian/tmp)
동일한 디렉토리에서 모두 사용할 수 있게 하려면 어떻게 해야 합니까?
(여러 패키지를 빌드하려고 하면 문제가 없습니다.) (compat 9)
답변1
나는 귀하의 소스 패키지가 바이너리 패키지를 구축할 것이라고 추측합니다.즉, 섹션이 debian/control
있습니다 Package:
. 이 경우 dh_auto_install
파일을 설치 debian/package
한 다음 충분하다고 가정하고,즉debian/package
완료되면 설치에 필요한 모든 파일이 올바른 위치에 배치됩니다 dh_auto_install
.
dh_install
여러 바이너리 패키지에 대한 소스 패키지를 빌드하는 데 주로 사용됩니다. debian/tmp
또는 아래의 파일을 가져 .
와서 에 복사합니다 debian/packageX
.
귀하의 경우에는 를 설치하려고 하므로 usr/include/*
전혀 그럴 필요가 없을 것 같습니다 dh_install
. 설치하려는 파일을 찾아서 기다리기만 하면 됩니다 debian/package/usr/include
. 그러나 아래에 파일을 설치하는 경우 usr/include
라이브러리를 패키징할 수 있습니다. 이 경우 파일을 변경하여 debian/control
여러 바이너리 패키지(라이브러리용 하나, 개발 파일용 하나)를 만든 다음 예상대로 dh_auto_install
설치 debian/tmp
하고 작동해야 합니다. dh_install
.
당신은 또한 볼 수 있습니다Dpkg dh_install: debian/tmp 디렉터리 대신 빌드 디렉터리에서 파일을 복사하시겠습니까?