Bug#988309: unblock: qtmir/0.6.1-7
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package qtmir
The recent version in unstable has been fixed in regards to launching
a graphical qtmir shell from the command line nested on X11.
QtMir and the QtMir Shell are basic components of Ubuntu Touch's
operating environment Lomiri.
Additionally, builds on some more architectures have been fixed
(due to upates of the .symbols files).
[ Reason ]
I forgot to file this unblock request several weeks ago, the changes
provided allow developers to really test qtmir and develop on it
using qtmir from upcoming Debian 11.
[ Impact ]
No impact for other packages, really. (Lomiri is not in Debian, yet).
[ Tests ]
The code changes / fixes have been tested manually on a Debian testing
system.
[ Risks ]
None known.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
None
unblock qtmir/0.6.1-7
diff -Nru qtmir-0.6.1/debian/changelog qtmir-0.6.1/debian/changelog
--- qtmir-0.6.1/debian/changelog 2020-12-16 16:32:50.000000000 +0100
+++ qtmir-0.6.1/debian/changelog 2021-03-14 21:36:52.000000000 +0100
@@ -1,3 +1,28 @@
+qtmir (0.6.1-7) unstable; urgency=medium
+
+ * debian/libqtmirserver1.symbols:
+ + Update for architectures arm64, m68k, mips64el and sh4.
+
+ -- Mike Gabriel <sunweaver@debian.org> Sun, 14 Mar 2021 21:36:52 +0100
+
+qtmir (0.6.1-6) unstable; urgency=medium
+
+ * debian/control:
+ + Limit qtmir to linux-any architecture builds.
+ * debian/patches:
+ + Add 0001_demo-fix-detecting-running-installed.patch,
+ 0002_demos-fix-application-name.patch. Fix loading demo shell and demo
+ client.
+ + Add 2004_qml-demo-shell-work-without-ui-toolkit.patch. Make qml-demo-shell
+ work without lomiri-ui-toolkit.
+ * debian/rules:
+ + Move qtmir-demo-shell files to the correct location.
+ * debian/qtmir-tests.install:
+ + Pick up files for qtmir-demo-shell and qtmir-demo-client from the correct
+ location (as moved around by d/rules).
+
+ -- Mike Gabriel <sunweaver@debian.org> Wed, 10 Mar 2021 21:08:51 +0100
+
qtmir (0.6.1-5) unstable; urgency=medium
* debian/control:
diff -Nru qtmir-0.6.1/debian/control qtmir-0.6.1/debian/control
--- qtmir-0.6.1/debian/control 2020-12-16 16:31:24.000000000 +0100
+++ qtmir-0.6.1/debian/control 2020-12-19 13:58:58.000000000 +0100
@@ -70,7 +70,7 @@
This variant of the package is for Android-based phones and tablets.
Package: qtmir-desktop
-Architecture: any
+Architecture: linux-any
Multi-Arch: same
Conflicts: qtmir-android,
qtubuntu-android,
@@ -88,7 +88,7 @@
Package: libqtmirserver-dev
Section: libdevel
-Architecture: any
+Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends}
Depends: qtmir-desktop (= ${binary:Version}) | qtmir-android (= ${binary:Version}),
@@ -115,7 +115,7 @@
Contains the shared library containing QtMir server API.
Package: qml-module-qtmir
-Architecture: any
+Architecture: linux-any
Multi-Arch: same
Pre-Depends: ${misc:Pre-Depends},
Depends: qtmir-desktop (= ${binary:Version}) | qtmir-android (= ${binary:Version}),
@@ -134,7 +134,7 @@
Package: qtmir-tests
Section: libdevel
-Architecture: any
+Architecture: linux-any
Multi-Arch: foreign
Pre-Depends: ${misc:Pre-Depends},
Depends: littler,
diff -Nru qtmir-0.6.1/debian/libqtmirserver1.symbols qtmir-0.6.1/debian/libqtmirserver1.symbols
--- qtmir-0.6.1/debian/libqtmirserver1.symbols 2020-10-30 19:54:45.000000000 +0100
+++ qtmir-0.6.1/debian/libqtmirserver1.symbols 2021-03-14 21:35:19.000000000 +0100
@@ -1,4 +1,4 @@
-# SymbolsHelper-Confirmed: 0.6.1 amd64 armel armhf i386 mipsel ppc64el
+# SymbolsHelper-Confirmed: 0.6.1 amd64 arm64 armel armhf i386 m68k mips64el mipsel ppc64el sh4
libqtmirserver.so.1 libqtmirserver1 #MINVER#
* Build-Depends-Package: libqtmirserver-dev
_Z10QTMIR_DBUSv@Base 0.6.1
@@ -629,7 +629,7 @@
_ZN5qtmir17SessionAuthorizerD0Ev@Base 0.6.1
_ZN5qtmir17SessionAuthorizerD1Ev@Base 0.6.1
_ZN5qtmir17SessionAuthorizerD2Ev@Base 0.6.1
- (optional=templinst|arch=armel armhf)_ZN5qtmir17compressTimestampINSt6chrono8durationImSt5ratioILx1ELx1000EEEEEET_NS2_IxS3_ILx1ELx1000000000EEEE@Base 0.6.1
+ (optional=templinst|arch=armel armhf m68k)_ZN5qtmir17compressTimestampINSt6chrono8durationImSt5ratioILx1ELx1000EEEEEET_NS2_IxS3_ILx1ELx1000000000EEEE@Base 0.6.1
_ZN5qtmir18dispatchInputEventERKN5miral6WindowEPK13MirInputEvent@Base 0.6.1
_ZN5qtmir19WindowModelNotifier11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
_ZN5qtmir19WindowModelNotifier11qt_metacastEPKc@Base 0.6.1
@@ -826,12 +826,12 @@
_ZN7QStringC2ERKS_@Base 0.6.1
_ZN7QStringD1Ev@Base 0.6.1
_ZN7QStringD2Ev@Base 0.6.1
- (optional=templinst|arch=!amd64 !ppc64el)_ZN7QVectorI5QRectEC1ERKS1_@Base 0.6.1
- (optional=templinst|arch=!amd64 !ppc64el)_ZN7QVectorI5QRectEC2ERKS1_@Base 0.6.1
+ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI5QRectEC1ERKS1_@Base 0.6.1
+ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI5QRectEC2ERKS1_@Base 0.6.1
(optional=templinst)_ZN7QVectorI5QRectED1Ev@Base 0.6.1
(optional=templinst)_ZN7QVectorI5QRectED2Ev@Base 0.6.1
- (optional=templinst|arch=!amd64 !ppc64el)_ZN7QVectorI7QPointFEC1ERKS1_@Base 0.6.1
- (optional=templinst|arch=!amd64 !ppc64el)_ZN7QVectorI7QPointFEC2ERKS1_@Base 0.6.1
+ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI7QPointFEC1ERKS1_@Base 0.6.1
+ (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI7QPointFEC2ERKS1_@Base 0.6.1
(optional=templinst)_ZN7QVectorI7QPointFED1Ev@Base 0.6.1
(optional=templinst)_ZN7QVectorI7QPointFED2Ev@Base 0.6.1
(optional=templinst)_ZN7QVectorIN5qtmir12EventBuilder9EventInfoEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
@@ -1327,7 +1327,7 @@
(optional=templinst)_ZNSt6vectorISt10shared_ptrIN5miral9WorkspaceEESaIS3_EED1Ev@Base 0.6.1
(optional=templinst)_ZNSt6vectorISt10shared_ptrIN5miral9WorkspaceEESaIS3_EED2Ev@Base 0.6.1
(optional=templinst|subst)_ZNSt6vectorIhSaIhEE17_M_default_appendE{size_t}@Base 0.6.1
- (arch=amd64)_ZNSt7__cxx119to_stringEm@Base 0.6.1
+ (arch=amd64 arm64)_ZNSt7__cxx119to_stringEm@Base 0.6.1
_ZTI10QMirServer@Base 0.6.1
_ZTI11MirGLConfig@Base 0.6.1
_ZTI12QtCompositor@Base 0.6.1
diff -Nru qtmir-0.6.1/debian/patches/0001_demo-fix-detecting-running-installed.patch qtmir-0.6.1/debian/patches/0001_demo-fix-detecting-running-installed.patch
--- qtmir-0.6.1/debian/patches/0001_demo-fix-detecting-running-installed.patch 1970-01-01 01:00:00.000000000 +0100
+++ qtmir-0.6.1/debian/patches/0001_demo-fix-detecting-running-installed.patch 2021-03-10 16:20:06.000000000 +0100
@@ -0,0 +1,38 @@
+From 3647b8a34dcc83574efe47221dd84ada251ebb4a Mon Sep 17 00:00:00 2001
+From: Ratchanan Srirattanamet <ratchanan@ubports.com>
+Date: Wed, 3 Feb 2021 03:25:10 +0700
+Subject: [PATCH] demo: fix detecting running installed
+
+QCoreApplication::applicationDirPath() is not available before a QCore
+Application is created, but we need this value before we create QCore
+Application. So, we have to change the approach.
+---
+ demos/paths.h.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/demos/paths.h.in b/demos/paths.h.in
+index 843c0ef3..101c4386 100644
+--- a/demos/paths.h.in
++++ b/demos/paths.h.in
+@@ -18,15 +18,15 @@
+ #define PATHS_H
+
+ // Qt
+-#include <QtCore/QCoreApplication>
+ #include <QtCore/QDir>
++#include <QtCore/QFile>
+ #include <QtGui/QIcon>
+ #include <QtQml/QQmlEngine>
+ #include <QStandardPaths>
+
+ inline bool isRunningInstalled() {
+- static bool installed = (QCoreApplication::applicationDirPath() ==
+- QDir(("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath());
++ static bool installed = (QFile::symLinkTarget(QStringLiteral("/proc/self/exe")).startsWith(
++ QDir(("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath()));
+ return installed;
+ }
+
+--
+GitLab
+
diff -Nru qtmir-0.6.1/debian/patches/0002_demos-fix-application-name.patch qtmir-0.6.1/debian/patches/0002_demos-fix-application-name.patch
--- qtmir-0.6.1/debian/patches/0002_demos-fix-application-name.patch 1970-01-01 01:00:00.000000000 +0100
+++ qtmir-0.6.1/debian/patches/0002_demos-fix-application-name.patch 2021-03-10 16:23:10.000000000 +0100
@@ -0,0 +1,22 @@
+Description: Fix application name for demo shell.
+Author: Ratchanan Srirattanamet <ratchanan@ubports.com>
+Origin: https://gitlab.com/ubports/core/qtmir/-/merge_requests/12/commits?commit_id=3647b8a34dcc83574efe47221dd84ada251ebb4a.patch
+
+
+--- a/demos/qml-demo-shell/main.cpp
++++ b/demos/qml-demo-shell/main.cpp
+@@ -181,12 +181,12 @@
+
+ setenv("QT_QPA_PLATFORM_PLUGIN_PATH", qPrintable(::qpaPluginDirectory()), 1 /* overwrite */);
+
+- qtmir::MirServerApplication::setApplicationName("api-demo-shell");
++ qtmir::MirServerApplication::setApplicationName("qml-demo-shell");
+ qtmir::MirServerApplication *application;
+
+ application = new qtmir::MirServerApplication(argc, (char**)argv, { displayConfig, sessionAuth, wmPolicy, displayStorage });
+ auto qmlEngine = new QQmlApplicationEngine(application);
+- qmlEngine->setBaseUrl(QUrl::fromLocalFile(::qmlDirectory() + "api-demo-shell"));
++ qmlEngine->setBaseUrl(QUrl::fromLocalFile(::qmlDirectory() + "qml-demo-shell"));
+ qmlEngine->addImportPath(::qmlPluginDirectory());
+ QObject::connect(qmlEngine, &QQmlEngine::quit, application, &QGuiApplication::quit);
+
diff -Nru qtmir-0.6.1/debian/patches/2004_qml-demo-shell-work-without-ui-toolkit.patch qtmir-0.6.1/debian/patches/2004_qml-demo-shell-work-without-ui-toolkit.patch
--- qtmir-0.6.1/debian/patches/2004_qml-demo-shell-work-without-ui-toolkit.patch 1970-01-01 01:00:00.000000000 +0100
+++ qtmir-0.6.1/debian/patches/2004_qml-demo-shell-work-without-ui-toolkit.patch 2021-03-10 16:44:32.000000000 +0100
@@ -0,0 +1,20 @@
+--- a/demos/qml-demo-shell/qml-demo-shell.qml
++++ b/demos/qml-demo-shell/qml-demo-shell.qml
+@@ -17,6 +17,8 @@
+ value: index == 0
+ }
+
++/* Requires Lomiri UI Toolkit
++
+ Row {
+ x: 10
+ y: 10
+@@ -28,6 +30,8 @@
+ }
+ }
+
++*/
++
+ Shell {
+ width: parent.width
+ height: parent.height
diff -Nru qtmir-0.6.1/debian/patches/series qtmir-0.6.1/debian/patches/series
--- qtmir-0.6.1/debian/patches/series 2020-12-16 16:27:03.000000000 +0100
+++ qtmir-0.6.1/debian/patches/series 2021-03-10 21:04:50.000000000 +0100
@@ -8,3 +8,6 @@
1007_make-valgrind-dependency-optional.patch
1008_drop-Werror-enforcement-leave-it-to-configure-option.patch
2003_disable-benchmarks.patch
+0001_demo-fix-detecting-running-installed.patch
+0002_demos-fix-application-name.patch
+2004_qml-demo-shell-work-without-ui-toolkit.patch
diff -Nru qtmir-0.6.1/debian/qtmir-tests.install qtmir-0.6.1/debian/qtmir-tests.install
--- qtmir-0.6.1/debian/qtmir-tests.install 2020-12-16 16:25:35.000000000 +0100
+++ qtmir-0.6.1/debian/qtmir-tests.install 2021-03-10 20:55:51.000000000 +0100
@@ -1,5 +1,5 @@
usr/bin/qtmir-demo-client
usr/bin/qtmir-demo-shell
usr/share/applications/qtmir-demo-client.desktop
-usr/share/qtmir/qtmir-demo-client/*
-usr/share/qtmir/qtmir-demo-shell/*
+usr/share/qtmir/qml-demo-client/*
+usr/share/qtmir/qml-demo-shell/*
diff -Nru qtmir-0.6.1/debian/rules qtmir-0.6.1/debian/rules
--- qtmir-0.6.1/debian/rules 2020-10-30 17:50:43.000000000 +0100
+++ qtmir-0.6.1/debian/rules 2021-03-10 21:06:17.000000000 +0100
@@ -71,6 +71,9 @@
-rm -rf $(TMP1_DIR)/usr/include/gmock $(TMP1_DIR)/usr/include/gtest
dh_install --sourcedir=$(TMP1_DIR) -pqtmir-android
endif
+ #move qtmir-demo-shell and qtmir-demo-client files to the correct location
+ mv $(TMP2_DIR)/usr/share/qtmir/qtmir-demo-shell $(TMP2_DIR)/usr/share/qtmir/qml-demo-shell/
+ mv $(TMP2_DIR)/usr/share/qtmir/qtmir-demo-client $(TMP2_DIR)/usr/share/qtmir/qml-demo-client/
#clean gmock/gtest if it built in our build dir
-rm -f $(TMP2_DIR)/usr/lib/libgmock*.a $(TMP2_DIR)/usr/lib/libgtest*.a
-rm -rf $(TMP2_DIR)/usr/include/gmock $(TMP2_DIR)/usr/include/gtest
Reply to: