From 25608c1aa3af3359815275a11282c10f1aa41348 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Thu, 19 Jan 2023 23:04:12 +0100 Subject: [PATCH] WIP: Initial attempt to port to 20.04 update clickable.json to clickable.yaml and set template unconfined WIP: Initial attempt to port to 20.04 update clickable.json to clickable.yaml and set template unconfined bumb click app version to 1.7.18 bump version accordingly to version.txt bump version accordingly to version.txt bump version accordingly to version.txt --- clickable.json | 1 - clickable.yaml | 1 + nymea-app/nymea-app.pro | 2 +- .../ubports/platformhelperubports.cpp | 18 +++++++++------ packaging/ubuntu/click/clickable.json | 22 ------------------- packaging/ubuntu/click/clickable.yaml | 21 ++++++++++++++++++ packaging/ubuntu/click/manifest.json | 6 ++--- packaging/ubuntu/click/nymea-app.apparmor | 2 +- packaging/ubuntu/click/push-apparmor.json | 2 +- 9 files changed, 39 insertions(+), 36 deletions(-) delete mode 120000 clickable.json create mode 120000 clickable.yaml delete mode 100644 packaging/ubuntu/click/clickable.json create mode 100644 packaging/ubuntu/click/clickable.yaml 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 }