diff --git a/KelvinDashboard.pro b/KelvinDashboard.pro index 8cfdee374c6f7d6c8852ef105f3dc7def3ba89ce..26f9013c37ae7121ea4565db0ab9715179bc35e9 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 88630aa38ecc00bf502e61e3a3cde3da0bc5d261..0e5a7c2d17031717a0f0d6001f12b3e48ed6f66e 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 52458e45e6a29c1abfcf858b7ae9e6bb10a98388..3c5870f058f7db2137c9c3f5b87af356569c623a 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 0000000000000000000000000000000000000000..8aa80ceca52e0238ed961d193fb2373fd5d62c2b --- /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 0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000000000000000000000000000000000000..50da4db66ada42353df78277f7dfc755c8cd858a --- /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 0000000000000000000000000000000000000000..d20c4457329117ab5cb9901af44d9f44611e2d05 --- /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 0000000000000000000000000000000000000000..f9179c878704f3e74a352698ae2963827583eec8 --- /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 0000000000000000000000000000000000000000..2e389b2ecd09c4c0247d3d40e7380bef08f6e3a1 --- /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 0000000000000000000000000000000000000000..4609cdd81b5ace8dbe51ceee27b4af9e63dedddd --- /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 0000000000000000000000000000000000000000..f00e8ae4c2f424bf24fd50951eec1e1cf50c1784 --- /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 0000000000000000000000000000000000000000..ecaf9281f670947f6398134e9abf18171a1092df --- /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 Binary files /dev/null and b/debian/share/kelvindashboard.ico differ diff --git a/debian/stamp-makefile-build b/debian/stamp-makefile-build new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/debian/stamp-makefile-install b/debian/stamp-makefile-install new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391