From 66193a348c9dc94bf6cafbc6b805642f705b9c00 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Thu, 20 Jun 2019 13:31:38 +0300 Subject: [PATCH] Improve debian packaging scripts. --- application/build.gradle | 7 +++++++ application/src/main/scripts/control/deb/postinst | 5 ++++- application/src/main/scripts/control/deb/postrm | 6 +++++- application/src/main/scripts/control/deb/preinst | 4 ++++ application/src/main/scripts/control/deb/prerm | 4 ++++ 5 files changed, 24 insertions(+), 2 deletions(-) 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