2009-06-18 3 views
0

데비안 패키지를 빌드하려고하는데 이상한 의사 디렉토리 문제가 있습니다. 나는 다음을 실행한다 :데비안 패키지 생성 오류

$ fakeroot debian/rules binary 

필자는 전에 바이너리를 만들었지 만 시스템에서 뭔가가 변경되었을 것입니다.

실제로
md5sum: include: Is a directory 
dh_md5sums: command returned error code 
make: *** [binary-arch] Error 1 

, include이 디렉토리 : 이제 오류가 밖으로 되돌아 dh_md5sums. 그래서 dh_md5sums에 디버깅 문을 추가하여 디렉터리를 필터링해야하는 줄에도 불구하고 include이 해시 된 이유를 알아 냈습니다. 추가 :

total 28 
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin 
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include 
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var 
# some directories removed for brevity's sake 

그래서, 내가 그것을 제거 할 수 있습니다

doit("ls", "-l", "$tmp"); 

참으로 include이 dh_md5sums가 실행되는 디렉토리가 아닌 것을 보여줍니다?

doit("rm", "$tmp/include"); 

을 얻은 : 나는 추가

rm: cannot remove `debian/myproject/include': Is a directory 

은 어쩌면 ... 디렉토리로 전환? 나는 rm 아래에 또 다른 ls -l을 추가하고 있어요 :

total 28 
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin 
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include 
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var 

및 스크립트 실행이 완료되면, 내가 할 수있는 : 이상한

$ ls -l 
drwxr-xr-x 2 x x 4096 2009-06-18 13:48 bin 
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 include 
drwxr-xr-x 3 x x 4096 2009-06-18 13:48 var 

을 ... include는 디렉토리와를수록 소유권 변경 (x은 내 사용자 이름 임). include은 예상되는 모든 헤더 파일까지 포함합니다.

무슨 일이 일어나는지 아는 사람 있습니까? include이 1 개 하위 디렉토리에있는 디렉토리, 또는 3 개 개의 하드 링크가있는 파일 중 하나가 있다고 나타내는 3의 링크 수를 가지고

답변

1
total 28 
drwxr-xr-x 2 root root 4096 2009-06-18 13:36 bin 
-rwxr-xr-x 3 root root 4096 2009-06-18 13:36 include 
drwxr-xr-x 3 root root 4096 2009-06-18 13:36 var 
# some directories removed for brevity's sake 

참고. 전자가 더 가능성이 보인다.

이것은 fakeroot와의 나쁜 상호 작용처럼 보입니다. 나는 fakeroot가 때때로 권한을 "잊어 버리는"것을 보았습니다. 따라서 include이 생성되거나 수정되었을 때 그 유형을 올바르게 (그리고 최근 변경 사항이 없음) 두 번 확인하십시오.