2014-01-09 11 views
5

mit würde Ich mag über Gründe für die Tatsache stellen, dass die SBT-native-Verpacker Plugin erstellt einen Symlink/etc/->/usr/share // conf (statt wirklich Dateien dort setzen und irgendwie in der App angeben, wo man nach ihnen sucht)?config wenn sbt-native-Verpacker

Insbesondere, wie beeinflusst es update/uninstall + install process? Sind die Konfigurationen irgendwie erhalten (zum Beispiel für debian mit java_server Architektur Einstellung)?

Antwort

7

ich über Gründe für die Tatsache, fragen möchten, dass die SBT-native-Verpacker-Plugin einen Symlink erstellt/etc/->/usr/share // conf

alles Keeping in ein Platz. Sie haben Ihr Anwendungsverzeichnis, das alles enthält, und dann verknüpfen Sie einfach von den OS-spezifischen Ordnern zu den entsprechenden Verzeichnissen in Ihrem Anwendungsordner.

Sind die configs irgendwie

tatsächlich

Ja erhalten. Sie können es mit einer einfachen Spielanwendung ausprobieren. Fügen Sie diese auf Ihre build.sbt

mappings in Universal <+= (packageBin in Compile, baseDirectory) map { (_, base) => 
    val conf = base/"conf"/"application.conf" 
    conf -> "conf/application.conf" 
} 

Dies wird Ihre application.conf im conf Ordner zuordnen. Wenn Sie ein Debian-Paket mit

debian:packageBin 

bauen können Sie in Ziel sehen/-/DEBIAN/conffiles einen Eintrag

/usr/share/<app-name>/conf/application.conf 

Ein apt-get your-app entfernen wird nicht entfernen Diese Datei, nur eine löschen

+0

Leider funktioniert nicht mit universal: packageZipTarball –

+0

Und das macht Sinn. Weil Tarballs kein natives OS-Packungsformat wie deb oder rpm sind. – Muki