From ea2fbc3da0509a3ef4f9369948246f3c80282a00 Mon Sep 17 00:00:00 2001
From: "vladislav.cholak" <vlad.hoc10@gmail.com>
Date: Fri, 5 Jul 2019 22:06:54 +0300
Subject: [PATCH] Edited to improve building of deb

---
 .../KelvinDashboardService.pro                |  6 +-
 debian/control                                |  2 +-
 debian/postinst                               | 33 +---------
 debian/prerm                                  |  7 ---
 .../init.d/KelvinDashboardService.service     | 61 +++++--------------
 5 files changed, 22 insertions(+), 87 deletions(-)
 mode change 100755 => 100644 debian/share/init.d/KelvinDashboardService.service

diff --git a/KelvinDashboardService/KelvinDashboardService.pro b/KelvinDashboardService/KelvinDashboardService.pro
index 3c5870f05..7d40ebc9e 100755
--- a/KelvinDashboardService/KelvinDashboardService.pro
+++ b/KelvinDashboardService/KelvinDashboardService.pro
@@ -1,7 +1,7 @@
-QT += core network widgets
-QT += gui
+QT += core network
+QT -= gui
 
-CONFIG += c++11
+CONFIG += c++11 console
 CONFIG -= app_bundle
 
 !defined(BRAND,var){
diff --git a/debian/control b/debian/control
index 50da4db66..5394e5333 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Homepage: https://ncodedcommunications.com
 
 Package: kelvindashboard
 Architecture: any
-Depends: psmisc, menu, net-tools, ${shlibs:Depends}, ${misc:Depends}
+Depends: psmisc, menu, ${shlibs:Depends}, ${misc:Depends}
 Replaces: KelvinDashboard
 Description: KelvinDashboard
  KelvinDashboard
diff --git a/debian/postinst b/debian/postinst
index d20c44573..54c99385e 100755
--- a/debian/postinst
+++ b/debian/postinst
@@ -3,40 +3,13 @@
 case "$1" in
     configure)
 
-    ls -s /opt/KelvinDashboard/share/init.d/KelvinDashboardService.service /etc/init.d/kelvindashboardservice
-    chmod +x /etc/init.d/kelvindashboardservice
-	update-rc.d kelvindashboardservice defaults
-	service kelvindashboardservice restart
+    ln -sf /opt/KelvinDashboard/share/init.d/KelvinDashboardService.service /etc/systemd/user/KelvinDashboardService.service
+    systemctl --system enable /opt/KelvinDashboard/share/init.d/KelvinDashboardService.service
     ln -s /opt/KelvinDashboard/bin/KelvinDashboard /usr/local/bin/
     cp -f /opt/KelvinDashboard/share/kelvindashboard.desktop /usr/share/applications/kelvindashboard.desktop
 	cp -f /opt/KelvinDashboard/share/kelvindashboard.ico	/usr/share/pixmaps/kelvindashboard.ico
     update-menus
-
-<< --COMMENT--
- --- It must be commented until we use rooted user. Uncomment to use UltraPAD user for service ---
-
-	adduser --force-badname UltraPAD
-	adduser UltraPAD netdev
-	chown -R UltraPAD /opt/sap/ultrapad/
-	chown UltraPAD /sys/class/dmi/id/product_uuid
-    ln -s /opt/sap/ultrapad/bin/UltraPad /usr/local/bin/
-	chown -h UltraPAD /usr/local/bin/UltraPad
-	chown UltraPAD /var/run/
-	sudo touch /etc/rc.local
-	sudo grep -q '^#!/bin/bash' /etc/rc.local && sudo sed -i '1i#!/bin/bash\' /etc/rc.local
-	sudo grep -q '^exit 0' /etc/rc.local && sudo sed -i '/exit 0/i chown UltraPAD /sys/class/dmi/id/product_uuid' /etc/rc.local || sudo sh -c "printf 'chown UltraPAD /sys/class/dmi/id/product_uuid\nexit 0' >> /etc/rc.local" 
-    cp -f /opt/sap/ultrapad/share/init.d/UltraPadService.service /etc/init.d/ultrapadservice
-    chown UltraPAD /etc/init.d/ultrapadservice
-    chmod +x /etc/init.d/ultrapadservice
-	setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /opt/sap/ultrapad/bin/UltraPadService
-    setcap 'CAP_MKNOD=epi CAP_NET_ADMIN=epi CAP_NET_BIND_SERVICE=epi CAP_NET_RAW=epi CAP_SYS_NICE=epi CAP_SYS_RAWIO=epi CAP_SYS_RESOURCE=epi CAP_SYSLOG=epi CAP_MAC_ADMIN=epi CAP_MAC_OVERRIDE=epi' /etc/init.d/ultrapadservice
-	setcap 'CAP_NET_ADMIN=epi' /bin/ip
-	update-menus
-	update-rc.d ultrapadservice defaults
-	service ultrapadservice start
-    cp -f /opt/sap/ultrapad/share/ultrapad.desktop /usr/share/applications/ultrapad.desktop
-	cp -f /opt/sap/ultrapad/share/ultrapad.png	/usr/share/pixmaps/ultrapad.png
---COMMENT--
+    echo "For start Kelvin Dashboard Service - run 'systemctl start KelvinDashboardService'"
 ;;
     abort-upgrade|abort-remove|abort-deconfigure)
     ;;
diff --git a/debian/prerm b/debian/prerm
index 2e389b2ec..2df4d479d 100755
--- a/debian/prerm
+++ b/debian/prerm
@@ -9,13 +9,6 @@ case "$1" in
     systemctl daemon-reload
     [ -f /usr/share/applications/kelvindashboard.desktop ] && rm /usr/share/applications/kelvindashboard.desktop
     [ -f /usr/share/pixmaps/kelvindashboard.ico ] && rm /usr/share/pixmaps/kelvindashboard.ico
-<< --COMMENT--
-    killall UltraPAD
-	userdel --remove UltraPAD
-    systemctl daemon-reload
-    rm /usr/share/applications/ultrapad.desktop
-    rm /usr/share/pixmaps/ultrapad.png
---COMMENT--
     ;;
     *)
         echo "postrm called with unknown argument \`$1'" >&2
diff --git a/debian/share/init.d/KelvinDashboardService.service b/debian/share/init.d/KelvinDashboardService.service
old mode 100755
new mode 100644
index f00e8ae4c..75597dac2
--- a/debian/share/init.d/KelvinDashboardService.service
+++ b/debian/share/init.d/KelvinDashboardService.service
@@ -1,46 +1,15 @@
-#!/bin/bash
-# Start/stop the UltraPadService daemon.
-#
-### BEGIN INIT INFO
-# Provides:          kelvindashoard-service
-# Required-Start:    $syslog $time
-# Required-Stop:     $syslog $time
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: KelvinDashboardService running tool.
-# Description:       KelvinDashboardService running tool.
-### END INIT INFO
-
-
-#LSBNAMES='-l'  # Uncomment for LSB name support in /etc/cron.d/
-
-. /lib/lsb/init-functions
-
-if [ ! -d "/opt/KelvinDashboard/log" ]; then
-  sudo mkdir -pm 777 /opt/KelvinDashboard/log
-fi
-
-case "$1" in
-    start)
-	log_begin_msg "Starting KelvinDashboardService..."
-        sudo /opt/KelvinDashboard/bin/KelvinDashboardService
-	log_end_msg $?
-    ;;
-    stop)
-
-	log_begin_msg "Stopping KelvinDashboardService..."
-        killall kelvindashboardservice
-	log_end_msg 0
-    ;;
-     restart|force-reload)
-	log_begin_msg "Restarting KelvinDashboardService..."
-	service kelvindashboardservice stop
-    service kelvindashboardservice start
-	log_end_msg $?
-    ;;
-    *)
-	log_success_msg "Usage: /etc/init.d/kelvindashboardservice {start|stop|restart|force-reload}"
-	exit 1
-esac
-
-exit 0
+[Unit]
+Description=Kelvin Dashboard Service
+After=network.target
+
+[Service]
+Type=forking
+OOMScoreAdjust=-1000
+PIDFile=/opt/KelvinDashboard/kelvindashboardservice.pid
+WorkingDirectory=/opt/KelvinDashboard/
+ExecStart=/opt/KelvinDashboard/bin/KelvinDashboardService -D
+ExecStop=/opt/KelvinDashboard/bin/KelvinDashboardService --stop
+Restart=always
+
+[Install] 
+WantedBy=multi-user.target
-- 
GitLab