changeset 1043:1e5d9c28e9ed

Add systemd unit file for thermostat storage. Reviewed-by: vanaltj, omajid Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005936.html
author Severin Gehwolf <sgehwolf@redhat.com>
date Thu, 28 Feb 2013 18:38:44 +0100
parents 40414c3e4f02
children c6c9f2c7961c
files distribution/pom.xml distribution/systemd/thermostat-storage.service pom.xml
diffstat 3 files changed, 67 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/distribution/pom.xml	Tue Mar 19 17:33:08 2013 +0100
+++ b/distribution/pom.xml	Thu Feb 28 18:38:44 2013 +0100
@@ -136,6 +136,12 @@
                   <targetPath>bin</targetPath>
                   <filtering>true</filtering>
                 </resource>
+                <!-- systemd service unit files -->
+                <resource>
+                  <directory>systemd</directory>
+                  <targetPath>systemd</targetPath>
+                  <filtering>true</filtering>
+                </resource>
                 <resource>
                   <directory>config</directory>
                   <targetPath>agent</targetPath>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/distribution/systemd/thermostat-storage.service	Thu Feb 28 18:38:44 2013 +0100
@@ -0,0 +1,56 @@
+#
+# Copyright 2012, 2013 Red Hat, Inc.
+#
+# This file is part of Thermostat.
+#
+# Thermostat is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published
+# by the Free Software Foundation; either version 2, or (at your
+# option) any later version.
+#
+# Thermostat is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Thermostat; see the file COPYING.  If not see
+# <http://www.gnu.org/licenses/>.
+#
+# Linking this code with other modules is making a combined work
+# based on this code.  Thus, the terms and conditions of the GNU
+# General Public License cover the whole combination.
+#
+# As a special exception, the copyright holders of this code give
+# you permission to link this code with independent modules to
+# produce an executable, regardless of the license terms of these
+# independent modules, and to copy and distribute the resulting
+# executable under terms of your choice, provided that you also
+# meet, for each linked independent module, the terms and conditions
+# of the license of that module.  An independent module is a module
+# which is not derived from or based on this code.  If you modify
+# this code, you may extend this exception to your version of the
+# library, but you are not obligated to do so.  If you do not wish
+# to do so, delete this exception statement from your version.
+#
+#####################################################################
+#
+# Unit file in order to be able to start
+# thermostat storage via systemd.
+#
+[Unit]
+Description=Thermostat storage service
+After=syslog.target network.target
+Documentation=http://icedtea.classpath.org/wiki/Thermostat/Packaging/SystemdServices
+
+[Service]
+Type=forking
+ExecStart=@thermostat.home@/bin/thermostat storage --start
+ExecStop=@thermostat.home@/bin/thermostat storage --stop
+PIDFile=@thermostat.home@/storage/run/db.pid
+User=@thermostat.system.user@
+Group=@thermostat.system.group@
+
+
+[Install]
+WantedBy=multi-user.target
--- a/pom.xml	Tue Mar 19 17:33:08 2013 +0100
+++ b/pom.xml	Thu Feb 28 18:38:44 2013 +0100
@@ -59,6 +59,11 @@
     <thermostat.build.directory>target</thermostat.build.directory>
     <thermostat.java.version>1.7</thermostat.java.version>
     <thermostat.home>${project.build.directory}</thermostat.home>
+    <!-- used in systemd service files. Set this to the username thermostat should run
+         under when run via systemd. -->
+    <thermostat.system.user>thermostat</thermostat.system.user>
+    <thermostat.system.group>thermostat</thermostat.system.group>
+    <!-- directory into which the exploded web archive should be deployed to -->
     <thermostat.web.deploy.dir>${thermostat.build.directory}/${project.build.finalName}</thermostat.web.deploy.dir>
     <java.dir>/usr/share/java</java.dir>