Mercurial > hg > release > thermostat-0.7
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>