dh_auto_install과 dh_install이 동일한 디렉토리를 사용하지 않는 이유는 무엇입니까?

dh_auto_install과 dh_install이 동일한 디렉토리를 사용하지 않는 이유는 무엇입니까?

다음을 사용하여 소스에서 단일 패키지를 빌드하려고 합니다.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 디렉터리 대신 빌드 디렉터리에서 파일을 복사하시겠습니까?

관련 정보