Frage

Ich habe folgende debian Struktur:

  • debian / usr / share / test
  • debian / usr / share / test / test
  • debian / usr / share / test / test / a
  • debian / usr / share / test / test / b

das Pakets Nach dem Bau mit dpkg-deb --build und Installation es mit dpkg -i, es scheint nicht zu dem Ordner Test automatisch zu erstellen, wenn sie nicht existieren. Muss ich sie manuell in preinst Skript erstellen?

UPDATE: Problem war, weil preinst ein Fehler hatte war so Auspacken keine Chance bekommen passieren

.

Laurent

War es hilfreich?

Lösung

Schauen Sie

ein Beispiel von mir hier .

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

Sie haben ein paar Möglichkeiten:

  1. Füllen Sie die Verzeichnisse mit den Dateien vor zu erzeugen, das Paket (Binärpaket)
  2. Erstellen Sie eine source Paket, in dem MAKE wird das Paket zu erstellen und installieren Sie es aufgerufen werden.

Im ersten Fall müssen Sie nicht die Verzeichnisse durch einen preinst Skript erstellen. Die Ordner-Hierarchie wird durch den Paketmanager bei Bedarf erstellt werden, wenn das Paket installiert ist

Im zweiten Fall müssen Sie mkdir -p verwenden, um die Ordner-Hierarchie während der install Phase zu schaffen.


Ich habe für Debian-Repositories im letzten Jahr durch drei verschiedene Arten von Verpackungen gewesen und glauben Sie mir, um die Details zu Konto für zahlreich sind. Eine Erleichterung war die Bekanntschaft von Launchpad und ihren PPA Publishing-Prozess zu machen.

Andere Tipps

Sie müssen diejenigen in Paket mit dem Namen entweder tmp oder das gleiche wie Ihr erstes Paket in debian / control aufgeführt, auf welche Version des debhelper compat-Modus ab, die Sie wählen.

z. ein Anruf von einem der debhelper Beispieldateien:

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

Sie fehlen, dass man Dereferenzierungsebene hier.

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