diff --git a/clickable.json b/clickable.json deleted file mode 120000 index c75b255c..00000000 --- a/clickable.json +++ /dev/null @@ -1 +0,0 @@ -packaging/ubuntu/click/clickable.json \ No newline at end of file diff --git a/clickable.yaml b/clickable.yaml new file mode 120000 index 00000000..faaa7f73 --- /dev/null +++ b/clickable.yaml @@ -0,0 +1 @@ +packaging/ubuntu/click/clickable.yaml \ No newline at end of file diff --git a/nymea-app/nymea-app.pro b/nymea-app/nymea-app.pro index 05cf702b..20021ade 100644 --- a/nymea-app/nymea-app.pro +++ b/nymea-app/nymea-app.pro @@ -206,7 +206,7 @@ ubports: { DEFINES += UBPORTS CONFIG += link_pkgconfig - PKGCONFIG += connectivity-qt1 dbus-1 libnih-dbus libnih + PKGCONFIG += lomiri-connectivity-qt1 HEADERS += platformintegration/ubports/pushclient.h \ platformintegration/ubports/platformhelperubports.h \ diff --git a/nymea-app/platformintegration/ubports/platformhelperubports.cpp b/nymea-app/platformintegration/ubports/platformhelperubports.cpp index 4cbd56cf..dc26bcf0 100644 --- a/nymea-app/platformintegration/ubports/platformhelperubports.cpp +++ b/nymea-app/platformintegration/ubports/platformhelperubports.cpp @@ -1,6 +1,3 @@ -#include -#include - #include "platformhelperubports.h" @@ -36,7 +33,7 @@ QString PlatformHelperUBPorts::deviceSerial() const void PlatformHelperUBPorts::setupUriHandler() { - QString objectPath; + QString objectPath = QStringLiteral("/"); if (!QDBusConnection::sessionBus().isConnected()) { qWarning() << "UCUriHandler: D-Bus session bus is not connected, ignoring."; @@ -49,9 +46,16 @@ void PlatformHelperUBPorts::setupUriHandler() qWarning() << "UCUriHandler: Empty \"APP_ID\" environment variable, ignoring."; return; } - char* path = nih_dbus_path(NULL, "", applicationId.constData(), nullptr); - objectPath = QString::fromLocal8Bit(path); - nih_free(path); + + // Convert applicationID into usable dbus object path + for (int i = 0; i < applicationId.size(); ++i) { + QChar ch = applicationId.at(i); + if (ch.isLetterOrNumber()) { + objectPath += ch; + } else { + objectPath += QString::asprintf("_%02x", ch.toLatin1()); + } + } // Ensure handler is running on the main thread. QCoreApplication* instance = QCoreApplication::instance(); diff --git a/packaging/ubuntu/click/clickable.json b/packaging/ubuntu/click/clickable.json deleted file mode 100644 index 392726ab..00000000 --- a/packaging/ubuntu/click/clickable.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "builder": "qmake", - "kill": "nymea-app", - "qt_version": "5.12", - "build_args": "CONFIG+=ubports", - "ignore_review_errors": true, - "dependencies_target": [ - "libavahi-client-dev", - "libavahi-common-dev", - "libqt5charts5-dev", - "qt5-default", - "qml-module-qtcharts", - "qml-module-qt-labs-calendar", - "libconnectivity-qt1-dev", - "libunity-api-dev", - "libnih-dbus-dev", - "libdbus-1-dev" - ], - "install_qml": [ - "/usr/lib/${ARCH_TRIPLET}/qt5/qml/Qt/labs/calendar/" - ] -} diff --git a/packaging/ubuntu/click/clickable.yaml b/packaging/ubuntu/click/clickable.yaml new file mode 100644 index 00000000..05770e0c --- /dev/null +++ b/packaging/ubuntu/click/clickable.yaml @@ -0,0 +1,21 @@ +clickable_minimum_required: '7.5.0' +builder: qmake +kill: nymea-app +skip_review: true +ignore_review_errors: true +framework: ubuntu-sdk-20.04 +dependencies_target: +- libavahi-client-dev +- libavahi-common-dev +- libqt5charts5-dev +- qt5-default +- qml-module-qtcharts +- qml-module-qt-labs-calendar +- qtconnectivity5-dev +- libunity-api-dev +- liblomiri-connectivity-qt1 +- libdbus-1-dev +qt_version: '5.12' +build_args: 'CONFIG+=ubports' +install_qml: +- /usr/lib/${ARCH_TRIPLET}/qt5/qml/Qt/labs/calendar/ diff --git a/packaging/ubuntu/click/manifest.json b/packaging/ubuntu/click/manifest.json index cab368f5..36f7236d 100644 --- a/packaging/ubuntu/click/manifest.json +++ b/packaging/ubuntu/click/manifest.json @@ -1,6 +1,6 @@ { "name": "io.guh.nymeaapp", - "description": "Client app for for nymea", + "description": "Client app for nymea", "title": "nymea:app", "architecture": "@CLICK_ARCH@", "hooks": { @@ -14,7 +14,7 @@ "push-helper": "push.json" } }, - "version": "1.0.100", + "version": "1.8.14", "maintainer": "nymea GmbH ", - "framework" : "ubuntu-sdk-16.04.6" + "framework" : "ubuntu-sdk-20.04" } diff --git a/packaging/ubuntu/click/nymea-app.apparmor b/packaging/ubuntu/click/nymea-app.apparmor index ec01c126..0e7ac9c2 100644 --- a/packaging/ubuntu/click/nymea-app.apparmor +++ b/packaging/ubuntu/click/nymea-app.apparmor @@ -1,5 +1,5 @@ { "template": "unconfined", "policy_groups": ["networking"], - "policy_version": 16.04 + "policy_version": 20.04 } diff --git a/packaging/ubuntu/click/push-apparmor.json b/packaging/ubuntu/click/push-apparmor.json index af147848..26c2c0ac 100644 --- a/packaging/ubuntu/click/push-apparmor.json +++ b/packaging/ubuntu/click/push-apparmor.json @@ -3,5 +3,5 @@ "policy_groups": [ "push-notification-client" ], - "policy_version": 16.04 + "policy_version": 20.04 }