diff --git a/application/build.gradle b/application/build.gradle index fe90904683..1d6017c964 100644 --- a/application/build.gradle +++ b/application/build.gradle @@ -160,6 +160,13 @@ buildDeb { user pkgName permissionGroup pkgName + // Copy the system unit files + from("${buildDir}/control/${pkgName}.service") { + addParentDirs = false + fileMode 0644 + into "/lib/systemd/system" + } + directory(pkgLogFolder, 0755) link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") diff --git a/application/src/main/scripts/control/deb/postinst b/application/src/main/scripts/control/deb/postinst index d4066c027b..00979d1b1c 100644 --- a/application/src/main/scripts/control/deb/postinst +++ b/application/src/main/scripts/control/deb/postinst @@ -1,6 +1,9 @@ #!/bin/sh +set -e + chown -R ${pkg.name}: ${pkg.logFolder} chown -R ${pkg.name}: ${pkg.installFolder} -update-rc.d ${pkg.name} defaults +systemctl --no-reload enable ${pkg.name}.service >/dev/null 2>&1 || : +exit 0 diff --git a/application/src/main/scripts/control/deb/postrm b/application/src/main/scripts/control/deb/postrm index 61865803c3..2d95efa7fc 100644 --- a/application/src/main/scripts/control/deb/postrm +++ b/application/src/main/scripts/control/deb/postrm @@ -1,3 +1,7 @@ #!/bin/sh -update-rc.d -f ${pkg.name} remove +set -e + +systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : + +exit 0 diff --git a/application/src/main/scripts/control/deb/preinst b/application/src/main/scripts/control/deb/preinst index 6be5959285..ba4f417beb 100644 --- a/application/src/main/scripts/control/deb/preinst +++ b/application/src/main/scripts/control/deb/preinst @@ -1,5 +1,7 @@ #!/bin/sh +set -e + if ! getent group ${pkg.name} >/dev/null; then addgroup --system ${pkg.name} fi @@ -16,3 +18,5 @@ if ! getent passwd ${pkg.name} >/dev/null; then -gecos "Thingsboard application" \ ${pkg.name} fi + +exit 0 \ No newline at end of file diff --git a/application/src/main/scripts/control/deb/prerm b/application/src/main/scripts/control/deb/prerm index 898d3efd5c..9e2990e68b 100644 --- a/application/src/main/scripts/control/deb/prerm +++ b/application/src/main/scripts/control/deb/prerm @@ -1,5 +1,9 @@ #!/bin/sh +set -e + if [ -e /var/run/${pkg.name}/${pkg.name}.pid ]; then service ${pkg.name} stop fi + +exit 0 \ No newline at end of file