Question

J'essaie de construire un paquet Debian, mais j'ai ce problème étrange de pseudo-répertoire. Je cours:

$ fakeroot debian/rules binary

J'ai déjà construit le binaire, mais quelque chose doit avoir changé sur mon système. Maintenant dh_md5sums sort et retourne:

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

En effet, include est un répertoire. J'ai donc ajouté quelques instructions de débogage à dh_md5sums, pour comprendre pourquoi le code include était haché malgré la ligne censée filtrer les répertoires. Ajout de:

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

montre qu'en effet, include n'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 l'enlever? J'ai ajouté:

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

et j'ai:

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

peut-être que ... transformé en un répertoire? J'ai ajouté un autre ls -l sous le rm et j'ai 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 lorsque les scripts sont terminés, je peux 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 étrange, car include devient un répertoire et la propriété change ( x est mon nom d'utilisateur). include contient même tous les fichiers d’en-tête qu’il est supposé utiliser.

Quelqu'un sait-il ce qui se passe?

Était-ce utile?

La solution

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 de 3, indiquant qu'il s'agit soit d'un répertoire avec 1 sous-répertoire, soit d'un fichier avec 3 liens physiques. Le premier semble plus probable.

Cela semble être une mauvaise interaction avec fakeroot. Je l'ai déjà vu auparavant, où fakeroot parfois "oublie" Vérifiez donc que lorsque include est créé ou modifié, il a le bon type (et qu’aucun d’entre eux n’a fait l’objet de modifications récentes).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top