Package: release.debian.org
Severity: normal
User: release.debian....@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 <sunwea...@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 <sunwea...@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 <ratcha...@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 <ratcha...@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 via email to