Hallo,
Vielleicht stehe ich nur auf dem Schlauch. Was ich möchte: Im clean-Ziel einer Make-Datei soll ein Verzeichnis entfernt werden, in dem verschiedene Dateien angelegt wurden. Das Verzeichnis ist standardmäßig
debian/foo (wir sprechen also über Debian-Pakete)
Nun möchte ich aber sicherstellen, dass diese Verzeichnis nicht . oder debian/ ist (und besser auch nicht oberhalb von . liegt), um irgendwelche unmotivierten Dateiverluste zu vermeiden. Eine Variante ist, dass ich das Verzeichnis direkt zu definieren, also
DIR = debian/foo
so dass der Nutzer es nicht überschreiben kann. Aber wie kann man obiges sicherstellen, wenn man dem Nutzer erlaubt, das Verzeichnis zu ändern? DIR soll also so definiert werden:
DIR ?= debian/foo
Wenn der Nutzer aber in debian/rules nun mit
DIR = .
definiert, würde das das gesamte Quellverzeichnis löschen. Wie kann ich also $DIR mit `pwd` vergleichen?
MfG Daniel
Hallo Daniel!
Am 06.03.07 schrieb Daniel Leidert daniel.leidert.spam@gmx.net:
definiert, würde das das gesamte Quellverzeichnis löschen. Wie kann ich also $DIR mit `pwd` vergleichen?
Ich würde mit Hilfe von "readlink -f" die beiden "echten" Verzeichnisnamen von $DIR und $PWD erzeugen und schauen ob realdir mit realpwd anfängt und bei der "String-Subtraktion" realdir von realpwd was übrigbleibt.
Gregor
lug-dd@mailman.schlittermann.de