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