2016-06-30 2 views
0

Ich benutze SBT nativen Packer 1.2.0-M3 für das Packen einer Play Framework 2.5.3 Anwendung als RPM (Ziel für RHEL 7 mit Systemd). Ich möchte das Verhalten des generierten RPM so ändern, dass es nach der Installation NICHT automatisch startet, sondern aktiviert wird (systemctl enable <name>.service).Überschreiben Sie postinst scriptlet, um den Dienst nicht zu starten, und registrieren Sie ihn

Ich habe die Anweisungen unter http://www.scala-sbt.org/sbt-native-packager/archetypes/java_server/customize.html befolgt. Speziell habe ich eine Datei src/rpm/scriptlets/post-rpm erstellt, die eine einzelne Zeile systemctl enable <name>.service enthält. Soweit ich die Dokumentation verstehe, ist das alles, was benötigt wird. Bei der Installation des RPM wird der Dienst jedoch immer noch automatisch gestartet. Ist eine zusätzliche Konfiguration erforderlich?

Antwort

1

Dies ist derzeit das Standardverhalten. Es gibt eine historische Erklärung here.

Was Sie eigentlich tun müssen, sind die maintainerScripts in Rpm. Es gibt a helper trait, die die Build-Definition aufhellt. So etwas wie

import RpmConstants._ 
maintainerScripts in Rpm := { 
    (maintainerScripts in Rpm).value += (
     Post -> "systemctl enable <name>.service" 
    ) 
} 

Und es gibt eine feature request diese direkt in nativer-Verpacker zu implementieren.

+0

Danke für die Bearbeitung. Ich werde die Antwort entsprechend ändern. Verstehe nicht ganz, warum es abgelehnt wurde – Muki

Verwandte Themen