From e1d127b4eda8eefd634224dc0392d50dff2d56cf Mon Sep 17 00:00:00 2001
From: "vladislav.cholak" <vlad.hoc10@gmail.com>
Date: Mon, 1 Jul 2019 23:18:36 +0300
Subject: [PATCH] Added unstable debian config

---
 KelvinDashboard.pro                           |   6 +++
 KelvinDashboardGUI/KelvinDashboardGUI.pro     |   7 +++
 .../KelvinDashboardService.pro                |   6 +++
 debian/changelog                              |   6 +++
 debian/compat                                 |   1 +
 debian/control                                |  17 ++++++
 debian/postinst                               |  50 ++++++++++++++++++
 debian/preinst.ex                             |  35 ++++++++++++
 debian/prerm                                  |  26 +++++++++
 debian/rules                                  |   4 ++
 .../init.d/KelvinDashboardService.service     |  46 ++++++++++++++++
 debian/share/kelvindashboard.desktop          |   9 ++++
 debian/share/kelvindashboard.ico              | Bin 0 -> 2462 bytes
 debian/stamp-makefile-build                   |   0
 debian/stamp-makefile-install                 |   0
 15 files changed, 213 insertions(+)
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100755 debian/postinst
 create mode 100644 debian/preinst.ex
 create mode 100755 debian/prerm
 create mode 100755 debian/rules
 create mode 100755 debian/share/init.d/KelvinDashboardService.service
 create mode 100644 debian/share/kelvindashboard.desktop
 create mode 100644 debian/share/kelvindashboard.ico
 create mode 100644 debian/stamp-makefile-build
 create mode 100644 debian/stamp-makefile-install

diff --git a/KelvinDashboard.pro b/KelvinDashboard.pro
index 8cfdee374..26f9013c3 100755
--- a/KelvinDashboard.pro
+++ b/KelvinDashboard.pro
@@ -9,3 +9,9 @@ KelvinDashboardGUI.depends = KelvinDashboardService
 {
     BRAND = KelvinDashboard
 }
+
+unix: !mac : !android {
+    share_target.files = debian/share/*
+    share_target.path = /opt/KelvinDashboard/share/
+    INSTALLS += share_target
+}
diff --git a/KelvinDashboardGUI/KelvinDashboardGUI.pro b/KelvinDashboardGUI/KelvinDashboardGUI.pro
index 88630aa38..0e5a7c2d1 100755
--- a/KelvinDashboardGUI/KelvinDashboardGUI.pro
+++ b/KelvinDashboardGUI/KelvinDashboardGUI.pro
@@ -96,4 +96,11 @@ include (../DapRPCProtocol/DapRPCProtocol.pri)
 INCLUDEPATH += $$_PRO_FILE_PWD_/../libKelvinDashboardCommon/
                $$_PRO_FILE_PWD_/../DapRPCProtocol/
 
+
+unix: !mac : !android {
+    gui_target.files = $${BRAND}
+    gui_target.path = /opt/$$BRAND/bin/
+    INSTALLS += gui_target
+}
+
 DISTFILES +=
diff --git a/KelvinDashboardService/KelvinDashboardService.pro b/KelvinDashboardService/KelvinDashboardService.pro
index 52458e45e..3c5870f05 100755
--- a/KelvinDashboardService/KelvinDashboardService.pro
+++ b/KelvinDashboardService/KelvinDashboardService.pro
@@ -61,5 +61,11 @@ INCLUDEPATH += $$_PRO_FILE_PWD_/../libKelvinDashboardCommon/
                $$_PRO_FILE_PWD_/../DapRPCProtocol/
                 $$_PRO_FILE_PWD_/../kelvin-node/
 
+unix: !mac : !android {
+    service_target.files = $${BRAND}Service
+    service_target.path = /opt/$$BRAND/bin/
+    INSTALLS += service_target
+}
+
 RESOURCES += \
     KelvinDashboardService.qrc
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..8aa80ceca
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,6 @@
+kelvindashboard (1.0) unstable; urgency=medium
+
+    * created
+        - created transactions
+
+-- vladislav.cholak vlad.hoc10@gmail.com  01.07.2019
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 000000000..ec635144f
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000..50da4db66
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,17 @@
+Source: kelvindashboard
+Section: unknown
+Priority: optional
+Maintainer: support <support@ncodedcommunications.com>
+Build-Depends: debhelper (>= 9)
+Standards-Version: 5.8-4
+Homepage: https://ncodedcommunications.com
+
+Package: kelvindashboard
+Architecture: any
+Depends: psmisc, menu, net-tools, ${shlibs:Depends}, ${misc:Depends}
+Replaces: KelvinDashboard
+Description: KelvinDashboard
+ KelvinDashboard
+
+
+
diff --git a/debian/postinst b/debian/postinst
new file mode 100755
index 000000000..d20c44573
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,50 @@
+#!/bin/bash -
+
+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 -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--
+;;
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 2
+    ;;
+esac
+exit 0
+
+
diff --git a/debian/preinst.ex b/debian/preinst.ex
new file mode 100644
index 000000000..f9179c878
--- /dev/null
+++ b/debian/preinst.ex
@@ -0,0 +1,35 @@
+#!/bin/sh
+# preinst script for dapvpngui
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <new-preinst> `install'
+#        * <new-preinst> `install' <old-version>
+#        * <new-preinst> `upgrade' <old-version>
+#        * <old-preinst> `abort-upgrade' <new-version>
+# for details, see https://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    install|upgrade)
+    ;;
+
+    abort-upgrade)
+    ;;
+
+    *)
+        echo "preinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/prerm b/debian/prerm
new file mode 100755
index 000000000..2e389b2ec
--- /dev/null
+++ b/debian/prerm
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+case "$1" in
+    purge|remove|abort-upgrade|failed-upgrade|upgrade)
+    [ -f /etc/init.d/kelvindashboardservice ] && service kelvindashboardservice stop
+    [ -d /opt/KelvinDashboard ] && rm -rf /opt/KelvinDashboard/
+    [ -f /usr/local/bin/KelvinDashboard ] && rm /usr/local/bin/KelvinDashboard
+    [ -f /etc/init.d/kelvindashboardservice ] && rm /etc/init.d/kelvindashboardservice
+    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
+        exit 1
+    ;;
+esac
+
+exit 0
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..4609cdd81
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/qmake.mk
diff --git a/debian/share/init.d/KelvinDashboardService.service b/debian/share/init.d/KelvinDashboardService.service
new file mode 100755
index 000000000..f00e8ae4c
--- /dev/null
+++ b/debian/share/init.d/KelvinDashboardService.service
@@ -0,0 +1,46 @@
+#!/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
diff --git a/debian/share/kelvindashboard.desktop b/debian/share/kelvindashboard.desktop
new file mode 100644
index 000000000..ecaf9281f
--- /dev/null
+++ b/debian/share/kelvindashboard.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Kelvin Dashboard
+Exec=/opt/KelvinDashboard/bin/KelvinDashboard
+Icon=/opt/sap/ultrapad/share/kelvindashboard.ico
+Terminal=false
+Type=Application
+Encoding=UTF-8
+Categories=Network;Application;
+Name[en_US]=Kelvin Dashboard
diff --git a/debian/share/kelvindashboard.ico b/debian/share/kelvindashboard.ico
new file mode 100644
index 0000000000000000000000000000000000000000..41230db92cb8101b8f24cf6f861082c6dfb827e1
GIT binary patch
literal 2462
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

literal 0
HcmV?d00001

diff --git a/debian/stamp-makefile-build b/debian/stamp-makefile-build
new file mode 100644
index 000000000..e69de29bb
diff --git a/debian/stamp-makefile-install b/debian/stamp-makefile-install
new file mode 100644
index 000000000..e69de29bb
-- 
GitLab