Frage

Ich versuche, ein Debian-Paket zu bauen, aber ich habe dieses seltsame Pseudo-Verzeichnis Problem. Ich betreibe:

$ fakeroot debian/rules binary

Ich habe das binäre vor gebaut, aber etwas auf meinem System geändert haben muss. Jetzt dh_md5sums Fehler aus und kehrt:

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

Tatsächlich ist include ein Verzeichnis. Also, ich habe noch einige Debugging-Anweisungen zu dh_md5sums, um herauszufinden, warum include trotz der Linie gehasht werden wurde, die angeblich Verzeichnisse auszufiltern. Hinzufügen:

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

zeigt, dass in der Tat, include kein Verzeichnis ist, wenn dh_md5sums ausgeführt wird:

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

Also, ich kann es entfernen? Ich fügte hinzu:

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

und bekam:

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

vielleicht ist es ... verwandelte sich in ein Verzeichnis? Ich habe eine andere ls -l unter dem rm und bekam:

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

und wenn die das Ausführen von Skripts fertig ist, kann ich tun:

$ 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

... was merkwürdig ist, als include ein Verzeichnis und die Eigentümerwechsel wird (x ist mein Benutzername). include selbst enthält alle Header-Dateien es soll.

Wer weiß, was los ist?

War es hilfreich?

Lösung

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

Beachten Sie, dass include eine Link Zahl von 3 hat, was darauf hinweist, dass es entweder ein Verzeichnis mit 1 Unterverzeichnis oder eine Datei mit drei harten Links. Der ehemalige scheint wahrscheinlicher.

Dies scheint wie eine schlechte Wechselwirkung mit fakeroot. Ich habe es gesehen, bevor in dem fakeroot manchmal „vergisst“ Berechtigungen, so überprüfen Sie, dass, wenn include erstellt oder geändert wird, dass es die richtige Art hat (und dass keiner von ihnen hat die jüngsten Änderungen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top