summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Sánchez Parra <jsanchez@soleta.eu>2020-05-07 11:34:18 +0200
committerOpenGnSys Support Team <soporte-og@soleta.eu>2020-05-19 18:29:46 +0200
commit2ddeadc34264844bb779af5cb178868228306bb4 (patch)
tree094cff02425a1bd24d6fe2ef9d314af035e84f00
parentfc7946c37dda3ad10eea144dde6ad403e5d27ec8 (diff)
#981 Add systemd unit file
The ogAdmServer needs to be started after MySQL, because it queries the DB at the beginning to obtain the schedules. This commit adds a systemd unit file that force OpenGnsys service to start after MySQL service
-rw-r--r--admin/Sources/Services/opengnsys.service25
-rwxr-xr-xinstaller/opengnsys_installer.sh2
-rwxr-xr-xinstaller/opengnsys_update.sh14
3 files changed, 41 insertions, 0 deletions
diff --git a/admin/Sources/Services/opengnsys.service b/admin/Sources/Services/opengnsys.service
new file mode 100644
index 00000000..89b8c492
--- /dev/null
+++ b/admin/Sources/Services/opengnsys.service
@@ -0,0 +1,25 @@
+# OpenGnsys systemd service file
+
+[Unit]
+Documentation=https://opengnsys.es/trac/wiki/En%3ADocumentacionUsuario
+SourcePath=/etc/init.d/opengnsys
+Description=LSB: OpenGnsys system services
+Before=multi-user.target
+Before=graphical.target
+Requires=mysql.service
+After=mysql.service
+
+[Install]
+WantedBy=multi-user.target
+
+[Service]
+Type=forking
+Restart=no
+TimeoutSec=5min
+IgnoreSIGPIPE=no
+KillMode=process
+GuessMainPID=no
+RemainAfterExit=yes
+SuccessExitStatus=5 6
+ExecStart=/etc/init.d/opengnsys start
+ExecStop=/etc/init.d/opengnsys stop
diff --git a/installer/opengnsys_installer.sh b/installer/opengnsys_installer.sh
index 2553ab76..cde604c3 100755
--- a/installer/opengnsys_installer.sh
+++ b/installer/opengnsys_installer.sh
@@ -1461,6 +1461,8 @@ function openGnsysConfigure()
echoAndLog "${FUNCNAME}(): Copying init files."
cp -a $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.init /etc/init.d/opengnsys
+ cp -a $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.service \
+ /lib/systemd/system/opengnsys.service
cp -a $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.default /etc/default/opengnsys
# Deshabilitar servicios de BitTorrent si no están instalados.
if [ ! -e /usr/bin/bttrack ]; then
diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh
index 8ca4dfff..4f1ea042 100755
--- a/installer/opengnsys_update.sh
+++ b/installer/opengnsys_update.sh
@@ -977,6 +977,20 @@ function updateServerFiles()
$STARTSERVICE
NEWFILES="$NEWFILES /etc/init.d/opengnsys"
fi
+ if ! diff -q \
+ $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.service \
+ /lib/systemd/system/opengnsys.service 2>/dev/null; then
+ echoAndLog "${FUNCNAME}(): updating new service file"
+ backupFile /lib/systemd/system/opengnsys.service
+ service="opengnsys"
+ $STOPSERVICE
+ cp -a \
+ $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.service \
+ /lib/systemd/system/opengnsys.service
+ systemctl daemon-reload
+ $STARTSERVICE
+ NEWFILES="$NEWFILES /lib/systemd/system/opengnsys.service"
+ fi
if ! diff -q $WORKDIR/opengnsys/admin/Sources/Services/opengnsys.default /etc/default/opengnsys >/dev/null; then
echoAndLog "${FUNCNAME}(): updating new default file"
backupFile /etc/default/opengnsys