2009-06-18 17 views
0

J'essaye de construire un paquet Debian, mais j'ai ce problème bizarre de pseudo-répertoire. Je cours:Erreur de création de paquet Debian

$ fakeroot debian/rules binary 

J'ai déjà construit le binaire, mais quelque chose a dû changer sur mon système. dh_md5sums Maintenant, les erreurs dues et les retours:

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

En effet, include est un répertoire. Donc, j'ai ajouté quelques instructions de débogage à dh_md5sums, pour comprendre pourquoi include était en cours de hachage malgré la ligne censée filtrer les répertoires. Ajout:

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

montre que, en effet, include est pas un répertoire lorsque dh_md5sums est exécuté:

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 

Alors, puis-je le supprimer? J'ai ajouté:

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

et a obtenu:

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

peut-être ... transformé en un répertoire? J'ai ajouté une autre ls -l en dessous du rm et a obtenu:

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 

et quand les scripts sont en cours d'exécution fait, je peux le faire:

$ 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 

... ce qui est bizarre, comme include devient un répertoire et changements de propriété (x est mon nom d'utilisateur). include contient même tous les fichiers d'en-tête qu'il est supposé contenir.

Est-ce que quelqu'un sait ce qui se passe?

Répondre

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 

Notez que include a un nombre de liens 3, ce qui indique qu'il est soit un répertoire avec 1 sous-répertoire ou un fichier avec 3 liens durs. Le premier semble plus probable.

Cela semble être une mauvaise interaction avec fakeroot. Je l'ai déjà vu auparavant où fakeroot "oublie" parfois les permissions, donc vérifiez que lorsque include est en cours de création ou de modification, il a le bon type (et qu'aucun d'entre eux n'a de changements récents).