GUACAMOLE-30: Merge support for systemd.

This commit is contained in:
Michael Jumper 2018-03-16 23:18:18 -07:00
commit e2feb41605
4 changed files with 60 additions and 3 deletions

View File

@ -148,6 +148,14 @@ AC_ARG_WITH(init_dir,
AM_CONDITIONAL([ENABLE_INIT], [test "x${init_dir}" != "x"])
AC_SUBST(init_dir)
# Systemd directory
AC_ARG_WITH(systemd_dir,
[AS_HELP_STRING([--with-systemd-dir=<path>],
[install systemd units to the given directory])
],systemd_dir=$withval)
AM_CONDITIONAL([ENABLE_SYSTEMD], [test "x${systemd_dir}" != "x"])
AC_SUBST(systemd_dir)
# guacd config file
AC_ARG_WITH(guacd_conf,
[AS_HELP_STRING([--with-guacd-conf=<path>],
@ -1251,6 +1259,12 @@ AM_COND_IF([ENABLE_GUACLOG], [build_guaclog=yes], [build_guaclog=no])
AM_COND_IF([ENABLE_INIT], [build_init="${init_dir}"], [build_init=no])
#
# Systemd units
#
AM_COND_IF([ENABLE_SYSTEMD], [build_systemd="${systemd_dir}"], [build_systemd=no])
#
# Display summary
#
@ -1290,6 +1304,7 @@ $PACKAGE_NAME version $PACKAGE_VERSION
guaclog .... ${build_guaclog}
Init scripts: ${build_init}
Systemd units: ${build_systemd}
Type \"make\" to compile $PACKAGE_NAME.
"

View File

@ -2,6 +2,9 @@
# Compiled init script
init.d/guacd
# Compiled systemd unit
systemd/guacd.service
# Compiled proxy
guacd
guacd.exe

View File

@ -61,11 +61,12 @@ guacd_LDFLAGS = \
@SSL_LIBS@
EXTRA_DIST = \
init.d/guacd.in \
man/guacd.8.in \
init.d/guacd.in \
systemd/guacd.service.in \
man/guacd.8.in \
man/guacd.conf.5.in
CLEANFILES = $(init_SCRIPTS)
CLEANFILES = $(init_SCRIPTS) $(systemd_UNITS)
# Init script
if ENABLE_INIT
@ -77,3 +78,12 @@ init.d/guacd: init.d/guacd.in
chmod +x init.d/guacd
endif
# Systemd service
if ENABLE_SYSTEMD
systemddir = @systemd_dir@
systemd_DATA = systemd/guacd.service
systemd/guacd.service: systemd/guacd.service.in
sed -e 's,[@]sbindir[@],$(sbindir),g' < systemd/guacd.service.in > systemd/guacd.service
endif

View File

@ -0,0 +1,29 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
[Unit]
Description=Guacamole Server
Documentation=man:guacd(8)
After=network.target
[Service]
User=daemon
ExecStart=@sbindir@/guacd -f
Restart=on-abnormal
[Install]
WantedBy=multi-user.target