diff --git a/debian b/debian
new file mode 120000
index 00000000..3f3d1dfa
--- /dev/null
+++ b/debian
@@ -0,0 +1 @@
+packaging/ubuntu/debian/
\ No newline at end of file
diff --git a/libnymea-app-core/libnymea-app-core.pro b/libnymea-app-core/libnymea-app-core.pro
index ab91361b..6b4127ef 100644
--- a/libnymea-app-core/libnymea-app-core.pro
+++ b/libnymea-app-core/libnymea-app-core.pro
@@ -143,8 +143,3 @@ HEADERS += \
configuration/mqttpolicy.h \
configuration/mqttpolicies.h \
models/devicemodel.h
-
-unix {
- target.path = /usr/lib
- INSTALLS += target
-}
diff --git a/libnymea-common/libnymea-common.pro b/libnymea-common/libnymea-common.pro
index cfe3fcb7..0e627d64 100644
--- a/libnymea-common/libnymea-common.pro
+++ b/libnymea-common/libnymea-common.pro
@@ -7,9 +7,6 @@ CONFIG += staticlib
QT -= gui
QT += network
-target.path = /usr/lib/$$system('dpkg-architecture -q DEB_HOST_MULTIARCH')
-INSTALLS += target
-
HEADERS += \
types/types.h \
types/vendor.h \
@@ -100,11 +97,3 @@ SOURCES += \
types/repeatingoption.cpp \
types/tag.cpp \
types/tags.cpp
-
-# install header file with relative subdirectory
-for(header, HEADERS) {
- path = /usr/include/nymea-common/$${dirname(header)}
- eval(headers_$${path}.files += $${header})
- eval(headers_$${path}.path = $${path})
- eval(INSTALLS *= headers_$${path})
-}
diff --git a/nymea-app.pro b/nymea-app.pro
index 79416e12..c9c5675e 100644
--- a/nymea-app.pro
+++ b/nymea-app.pro
@@ -69,15 +69,28 @@ osxbundle.commands += hdiutil convert nymea-app_writable.dmg -format UDRO -o ../
osxbundle.commands += rm nymea-app.dmg nymea-app_writable.dmg
QMAKE_EXTRA_TARGETS += osxbundle
-# Linux desktop (snap package)
+# Generic linux desktop
linux:!android: {
-desktopfile.files = packaging/linux/nymea-app.desktop
+desktopfile.files = packaging/linux-common/nymea-app.desktop
desktopfile.path = /usr/share/applications/
-icons.files = packaging/linux/icons
+icons.files = packaging/linux-common/icons/
icons.path = /usr/share/
INSTALLS += desktopfile icons
}
+# Linux desktop (snap package)
+snap: {
+desktopfile.files = packaging/linux/nymea-app.desktop
+desktopfile.path = /usr/share/applications/
+INSTALLS += desktopfile
+}
+
+click: {
+ubuntu_files.path += /
+ubuntu_files.files += manifest.json nymea-app.apparmor nymea-app.desktop packaging/android/appicon.svg
+INSTALLS += ubuntu_files
+}
+
# Translations support
TRANSLATIONS += $$files($$absolute_path(nymea-app)/translations/*.ts, true)
system("lrelease $$TRANSLATIONS")
diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro
index b3e84269..6b142c18 100644
--- a/nymea-app/nymea-app.pro
+++ b/nymea-app/nymea-app.pro
@@ -122,10 +122,6 @@ ios: {
QMAKE_MAC_XCODE_SETTINGS += IOS_ENTITLEMENTS
}
-ubuntu_files.path += /
-ubuntu_files.files += ../manifest.json ../nymea-app.apparmor ../nymea-app.desktop ../packaging/android/appicon.svg
-INSTALLS += ubuntu_files
-
BR=$$BRANDING
!equals(BR, "") {
DEFINES += BRANDING=\\\"$${BR}\\\"
diff --git a/packaging/linux/exportappicons.sh b/packaging/linux-common/exportappicons.sh
similarity index 100%
rename from packaging/linux/exportappicons.sh
rename to packaging/linux-common/exportappicons.sh
diff --git a/packaging/linux/icons/hicolor/16x16/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/16x16/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/16x16/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/16x16/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/22x22/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/22x22/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/22x22/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/22x22/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/24x24/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/24x24/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/24x24/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/24x24/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/256x256/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/256x256/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/256x256/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/256x256/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/32x32/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/32x32/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/32x32/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/32x32/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/48x48/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/48x48/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/48x48/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/48x48/apps/nymea-app.png
diff --git a/packaging/linux/icons/hicolor/64x64/apps/nymea-app.png b/packaging/linux-common/icons/hicolor/64x64/apps/nymea-app.png
similarity index 100%
rename from packaging/linux/icons/hicolor/64x64/apps/nymea-app.png
rename to packaging/linux-common/icons/hicolor/64x64/apps/nymea-app.png
diff --git a/packaging/linux-common/nymea-app-kiosk.service b/packaging/linux-common/nymea-app-kiosk.service
new file mode 100644
index 00000000..9da06725
--- /dev/null
+++ b/packaging/linux-common/nymea-app-kiosk.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=nymea frontend app
+Documentation=https://github.com/guh/mea
+After=network.target
+Wants=network-online.target
+
+[Service]
+User = nymea
+Group = nymea
+ExecStart = /usr/bin/xinit /usr/bin/dbus-launch --exit-with-session /usr/bin/nymea-app --fullscreen -- :0 -nolisten tcp vt7
+StandardOutput=journal
+StandardError=journal
+Restart=on-failure
+Type=simple
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/packaging/linux-common/nymea-app-plain.svg b/packaging/linux-common/nymea-app-plain.svg
new file mode 100644
index 00000000..064fcc23
--- /dev/null
+++ b/packaging/linux-common/nymea-app-plain.svg
@@ -0,0 +1,555 @@
+
+
diff --git a/packaging/linux/nymea-app.desktop b/packaging/linux-common/nymea-app.desktop
similarity index 64%
rename from packaging/linux/nymea-app.desktop
rename to packaging/linux-common/nymea-app.desktop
index 6a9c90ff..332dbd8e 100644
--- a/packaging/linux/nymea-app.desktop
+++ b/packaging/linux-common/nymea-app.desktop
@@ -1,7 +1,7 @@
[Desktop Entry]
Name=nymea:app
Comment=A client application for nymea
-Icon=${SNAP}/usr/share/icons/hicolor/256x256/apps/nymea-app.png
+Icon=/usr/share/icons/hicolor/256x256/apps/nymea-app.png
Terminal=false
Type=Application
Exec=nymea-app
diff --git a/packaging/linux-common/nymea-app.service b/packaging/linux-common/nymea-app.service
new file mode 100644
index 00000000..94c46853
--- /dev/null
+++ b/packaging/linux-common/nymea-app.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=nymea frontend app
+Documentation=https://github.com/guh/mea
+After=network.target
+Wants=network-online.target
+
+[Service]
+ExecStart=/usr/bin/mea -platform webgl
+StandardOutput=journal
+StandardError=journal
+Restart=on-failure
+Type=simple
+
+[Install]
+WantedBy=multi-user.target
diff --git a/packaging/linux/nymea-app.svg b/packaging/linux-common/nymea-app.svg
similarity index 100%
rename from packaging/linux/nymea-app.svg
rename to packaging/linux-common/nymea-app.svg
diff --git a/packaging/ubuntu/README b/packaging/ubuntu/README
new file mode 100644
index 00000000..531fe8db
--- /dev/null
+++ b/packaging/ubuntu/README
@@ -0,0 +1,3 @@
+To build a ubuntu package (dpkg), link the debian folder to the
+top level of the repository and run dpkg-buildpackage or your
+favorite wrapper on it.
diff --git a/packaging/ubuntu/debian/changelog b/packaging/ubuntu/debian/changelog
new file mode 100644
index 00000000..29bcad50
--- /dev/null
+++ b/packaging/ubuntu/debian/changelog
@@ -0,0 +1,5 @@
+nymea-app (1.0.112) bionic; urgency=medium
+
+ * Initial release.
+
+ -- Michael Zanetti Sun, 14 Apr 2019 23:06:13 +0200
diff --git a/packaging/ubuntu/debian/compat b/packaging/ubuntu/debian/compat
new file mode 100644
index 00000000..ec635144
--- /dev/null
+++ b/packaging/ubuntu/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/packaging/ubuntu/debian/control b/packaging/ubuntu/debian/control
new file mode 100644
index 00000000..d7ff5468
--- /dev/null
+++ b/packaging/ubuntu/debian/control
@@ -0,0 +1,45 @@
+Source: nymea-app
+Section: utils
+Priority: optional
+Maintainer: Michael Zanetti
+Standards-Version: 3.9.7
+Homepage: https://nymea.io
+Vcs-Git: https://github.com/guh/guh.git
+Build-Depends: debhelper (>= 9.0.0),
+ dpkg-dev (>= 1.16.1~),
+ libavahi-client-dev,
+ libavahi-common-dev,
+ libqt5charts5-dev,
+ libqt5svg5-dev,
+ libqt5websockets5-dev,
+ qtbase5-dev,
+ qtconnectivity5-dev,
+ qtdeclarative5-dev,
+
+Package: nymea-app
+Architecture: any
+Section: tools
+Multi-Arch: same
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+ libqt5network5,
+ libqt5gui5,
+ libqt5websockets5,
+ libqt5bluetooth5,
+ qml-module-qt-labs-settings,
+ qml-module-qtquick-controls2,
+ qml-module-qtquick-layouts,
+ qml-module-qtquick-window2,
+ qml-module-qtquick2,
+ xinit,
+Suggests: nymea,
+ network-manager
+Description: An open source IoT server - daemon
+ The nymea daemon is a plugin based IoT (Internet of Things) server. The
+ server works like a translator for devices, things and services and
+ allows them to interact.
+ With the powerful rule engine you are able to connect any device available
+ in the system and create individual scenes and behaviors for your environment.
+ .
+ This package will install nymea:app.
+
diff --git a/packaging/ubuntu/debian/nymea-app.install b/packaging/ubuntu/debian/nymea-app.install
new file mode 100644
index 00000000..d025cfe1
--- /dev/null
+++ b/packaging/ubuntu/debian/nymea-app.install
@@ -0,0 +1 @@
+packaging/linux-common/nymea-app-kiosk.service /lib/systemd/system/
diff --git a/packaging/ubuntu/debian/rules b/packaging/ubuntu/debian/rules
new file mode 100755
index 00000000..5522e76a
--- /dev/null
+++ b/packaging/ubuntu/debian/rules
@@ -0,0 +1,25 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+export DH_VERBOSE=1
+
+#DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+
+#PREPROCESS_FILES := $(wildcard debian/*.in)
+
+#$(PREPROCESS_FILES:.in=): %: %.in
+# sed 's,/@DEB_HOST_MULTIARCH@,$(DEB_HOST_MULTIARCH:%=/%),g' $< > $@
+
+
+#override_dh_install: $(PREPROCESS_FILES:.in=)
+# dh_install
+
+#override_dh_auto_test:
+# LD_LIBRARY_PATH=`pwd`/libnymea-mqtt/ dh_auto_test
+
+#override_dh_auto_clean:
+# dh_auto_clean
+# rm -rf $(PREPROCESS_FILES:.in=)
+
+%:
+ dh $@ --buildsystem=qmake --parallel