Control: tags -1 pending

On Fri, Jul 29, 2022 at 06:21:52PM +0200, Lucas Nussbaum wrote:
> Source: maliit-framework
> Version: 2.2.1-2
> Severity: serious
> Justification: FTBFS
> Tags: bookworm sid ftbfs
> User: lu...@debian.org
> Usertags: ftbfs-20220728 ftbfs-bookworm
>
> Hi,
>
> During a rebuild of all packages in sid, your package failed to build
> on amd64.

I have just uploaded an NMU which fixes this. Attached a debdiff.

--
Dmitry Shachnev
diff -Nru maliit-framework-2.2.1/debian/changelog maliit-framework-2.2.1/debian/changelog
--- maliit-framework-2.2.1/debian/changelog	2022-06-25 17:04:48.000000000 +0300
+++ maliit-framework-2.2.1/debian/changelog	2022-09-18 16:55:17.000000000 +0300
@@ -1,3 +1,15 @@
+maliit-framework (2.2.1-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add two patches to fix FTBFS (closes: #1016264).
+    - debian/patches/0001_move-operator-definition.patch: Move the
+      operator== definition to global namespace.
+    - debian/patches/1001_fix-segfault.patch: Prevent QList returned
+      by subject->pluginDescriptions from being deleted.
+  * Update debian/libmaliit-plugins2.symbols from the current build logs.
+
+ -- Dmitry Shachnev <mity...@debian.org>  Sun, 18 Sep 2022 16:55:17 +0300
+
 maliit-framework (2.2.1-2) unstable; urgency=medium
 
   * debian/libmaliit-plugins2.symbols:
diff -Nru maliit-framework-2.2.1/debian/libmaliit-plugins2.symbols maliit-framework-2.2.1/debian/libmaliit-plugins2.symbols
--- maliit-framework-2.2.1/debian/libmaliit-plugins2.symbols	2022-06-25 17:04:08.000000000 +0300
+++ maliit-framework-2.2.1/debian/libmaliit-plugins2.symbols	2022-09-18 16:55:17.000000000 +0300
@@ -831,7 +831,6 @@
  _ZN43MImSettingsQSettingsTemporaryBackendFactoryD0Ev@Base 2.0.0
  _ZN43MImSettingsQSettingsTemporaryBackendFactoryD1Ev@Base 2.0.0
  _ZN43MImSettingsQSettingsTemporaryBackendFactoryD2Ev@Base 2.0.0
- (optional=templinst|arch=!i386 !mipsel)_ZN4QMapI7QString14QSharedPointerI12MKeyOverrideEE6insertERKS0_RKS3_@Base 2.0.0
  (optional=templinst)_ZN4QMapI7QString14QSharedPointerI12MKeyOverrideEED1Ev@Base 2.0.0
  (optional=templinst)_ZN4QMapI7QString14QSharedPointerI12MKeyOverrideEED2Ev@Base 2.0.0
  (optional=templinst)_ZN4QMapI7QString8QVariantE13detach_helperEv@Base 2.0.0
@@ -847,7 +846,7 @@
  (optional=templinst)_ZN4QMapIN6Maliit12HandlerStateEPNS0_7Plugins17InputMethodPluginEE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN4QMapIPN6Maliit7Plugins17InputMethodPluginEN23MIMPluginManagerPrivate17PluginDescriptionEE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN4QMapIPN6Maliit7Plugins17InputMethodPluginEN23MIMPluginManagerPrivate17PluginDescriptionEE6insertERKS3_RKS5_@Base 2.0.0
- (optional=templinst|arch=!amd64 !arm64)_ZN4QMapIPN6Maliit7Plugins17InputMethodPluginEN23MIMPluginManagerPrivate17PluginDescriptionEEixERKS3_@Base 2.2.1
+ (optional=templinst)_ZN4QMapIPN6Maliit7Plugins17InputMethodPluginEN23MIMPluginManagerPrivate17PluginDescriptionEEixERKS3_@Base 2.2.1
  (optional=templinst)_ZN5QHashI21MAttributeExtensionId14QSharedPointerI19MAttributeExtensionEE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashI21MAttributeExtensionId14QSharedPointerI19MAttributeExtensionEE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN5QHashI21MAttributeExtensionId14QSharedPointerI19MAttributeExtensionEE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.0
@@ -858,19 +857,17 @@
  (optional=templinst)_ZN5QHashI7QString14QSharedPointerI45MSharedAttributeExtensionManagerPluginSettingEE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString14QSharedPointerI45MSharedAttributeExtensionManagerPluginSettingEE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString14QSharedPointerI45MSharedAttributeExtensionManagerPluginSettingEE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.0
- (optional=templinst)_ZN5QHashI7QString14QSharedPointerI45MSharedAttributeExtensionManagerPluginSettingEEixERKS0_@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.0
- (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEE5eraseENS5_14const_iteratorE@Base 2.0.0
+ (optional=templinst|arch=!i386)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEE5eraseENS5_14const_iteratorE@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEED1Ev@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString5QListIP27MImSettingsQSettingsBackendEED2Ev@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString8QVariantE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString8QVariantE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QString8QVariantEixERKS0_@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QStringjE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
- (optional=templinst)_ZN5QHashI7QStringjE13detach_helperEv@Base 2.0.0
  (optional=templinst)_ZN5QHashI7QStringjE13duplicateNodeEPN9QHashData4NodeEPv@Base 2.0.0
  (optional=templinst)_ZN5QHashIN6Maliit12HandlerStateE15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 2.0.0
  (optional=templinst)_ZN5QHashIN6Maliit12HandlerStateE15QHashDummyValueE13detach_helperEv@Base 2.0.0
@@ -1263,12 +1260,12 @@
  _ZN7QStringD1Ev@Base 2.0.0
  _ZN7QStringD2Ev@Base 2.0.0
  (optional=templinst)_ZN7QVectorI15xcb_rectangle_tE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 2.0.0
-#MISSING: 2.2.0# (optional=templinst)_ZN7QVectorI5QRectED1Ev@Base 2.0.0
-#MISSING: 2.2.0# (optional=templinst)_ZN7QVectorI5QRectED2Ev@Base 2.0.0
  (optional=templinst)_ZN7QVectorIN6Maliit10WindowDataEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 2.0.0
+ (optional=templinst)_ZN7QVectorIN6Maliit10WindowDataEEC1ERKS2_@Base 2.2.1
+ (optional=templinst)_ZN7QVectorIN6Maliit10WindowDataEEC2ERKS2_@Base 2.2.1
  (optional=templinst)_ZN7QVectorIN6Maliit10WindowDataEED1Ev@Base 2.0.0
  (optional=templinst)_ZN7QVectorIN6Maliit10WindowDataEED2Ev@Base 2.0.0
- (optional=templinst|arch=i386 mipsel)_ZN8QMapDataI7QString14QSharedPointerI12MKeyOverrideEE7destroyEv@Base 2.2.1
+ (optional=templinst)_ZN8QMapDataI7QString14QSharedPointerI12MKeyOverrideEE7destroyEv@Base 2.2.1
  (optional=templinst)_ZN8QMapDataI7QString8QVariantE10createNodeERKS0_RKS1_P8QMapNodeIS0_S1_Eb@Base 2.0.0
  (optional=templinst)_ZN8QMapDataIN6Maliit12HandlerStateE7QStringE7destroyEv@Base 2.0.0
  (optional=templinst)_ZN8QMapDataIPN6Maliit7Plugins17InputMethodPluginEN23MIMPluginManagerPrivate17PluginDescriptionEE7destroyEv@Base 2.0.0
@@ -1307,8 +1304,6 @@
  (optional=templinst)_ZN9QtPrivate16ConverterFunctorI5QListIiEN17QtMetaTypePrivate23QSequentialIterableImplENS3_33QSequentialIterableConvertFunctorIS2_EEE7convertEPKNS_25AbstractConverterFunctionEPKvPv@Base 2.0.0
  (optional=templinst)_ZN9QtPrivate16ConverterFunctorI5QListIiEN17QtMetaTypePrivate23QSequentialIterableImplENS3_33QSequentialIterableConvertFunctorIS2_EEED1Ev@Base 2.0.0
  (optional=templinst)_ZN9QtPrivate16ConverterFunctorI5QListIiEN17QtMetaTypePrivate23QSequentialIterableImplENS3_33QSequentialIterableConvertFunctorIS2_EEED2Ev@Base 2.0.0
- (optional=templinst)_ZN9QtPrivate17QForeachContainerI7QVectorIN6Maliit10WindowDataEEEC1ERKS4_@Base 2.0.0
- (optional=templinst)_ZN9QtPrivate17QForeachContainerI7QVectorIN6Maliit10WindowDataEEEC2ERKS4_@Base 2.0.0
  (optional=templinst)_ZN9QtPrivate19QVariantValueHelperI13QDBusArgumentE8metaTypeERK8QVariant@Base 2.0.0
  (optional=templinst)_ZN9QtPrivate29SharedPointerMetaTypeIdHelperI14QSharedPointerI12MKeyOverrideELb1EE14qt_metatype_idEv@Base 2.0.0
  _ZN9QtPrivate8RefCount3refEv@Base 2.0.0
diff -Nru maliit-framework-2.2.1/debian/patches/0001_move-operator-definition.patch maliit-framework-2.2.1/debian/patches/0001_move-operator-definition.patch
--- maliit-framework-2.2.1/debian/patches/0001_move-operator-definition.patch	1970-01-01 03:00:00.000000000 +0300
+++ maliit-framework-2.2.1/debian/patches/0001_move-operator-definition.patch	2022-09-18 16:55:17.000000000 +0300
@@ -0,0 +1,27 @@
+Description: ut_mimserveroptions: Move the operator== definition to global namespace
+ With gcc-12 having the operator== in anonymous namespace for a struct which
+ is in the global namespace results in a lengthy compilation error. Moving
+ this non-member function into the global namespace fixes the issue.
+Origin: upstream, https://github.com/maliit/framework/commit/86e55980e3025678
+Last-Update: 2022-09-18
+
+--- a/tests/ut_mimserveroptions/ut_mimserveroptions.cpp
++++ b/tests/ut_mimserveroptions/ut_mimserveroptions.cpp
+@@ -42,12 +42,12 @@ namespace {
+                           "-testability", "TESTABILITY", "-qdevel", "-reverse",
+                           "-stylesheet", "-widgetcount", "-qdebug",
+                           "-software" } };
++}
+ 
+-    bool operator==(const MImServerCommonOptions &x,
+-                    const MImServerCommonOptions &y)
+-    {
+-        return (x.showHelp == y.showHelp);
+-    }
++bool operator==(const MImServerCommonOptions &x,
++                const MImServerCommonOptions &y)
++{
++    return (x.showHelp == y.showHelp);
+ }
+ 
+ 
diff -Nru maliit-framework-2.2.1/debian/patches/1001_fix-segfault.patch maliit-framework-2.2.1/debian/patches/1001_fix-segfault.patch
--- maliit-framework-2.2.1/debian/patches/1001_fix-segfault.patch	1970-01-01 03:00:00.000000000 +0300
+++ maliit-framework-2.2.1/debian/patches/1001_fix-segfault.patch	2022-09-18 16:55:17.000000000 +0300
@@ -0,0 +1,60 @@
+Description: prevent QList returned by subject->pluginDescriptions from being deleted
+ If we don't save QList to a variable, it becomes deleted, and pointer
+ returned by findPluginDescriptions becomes invalid. Then trying to call
+ description->enabled() results in a segmentation fault.
+Author: Dmitry Shachnev <mity...@debian.org>
+Forwarded: https://github.com/maliit/framework/pull/116
+Last-Update: 2022-09-18
+
+--- a/tests/ft_mimpluginmanager/ft_mimpluginmanager.cpp
++++ b/tests/ft_mimpluginmanager/ft_mimpluginmanager.cpp
+@@ -202,16 +202,19 @@ void Ft_MIMPluginManager::testPluginDesc
+ 
+     MImSettings enabledPluginsSettings(EnabledPluginsKey);
+     QStringList enabledPlugins;
++
++    QList<MImPluginDescription> pluginDescriptions;
+     const MImPluginDescription *description = 0;
+ 
+     enabledPlugins << pluginId + ":" + "dummyimsv1";
+     enabledPluginsSettings.set(enabledPlugins);
+     QCOMPARE(spy.count(), 1);
+ 
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName);
++    pluginDescriptions = subject->pluginDescriptions(Maliit::OnScreen);
++    description = findPluginDescriptions(pluginDescriptions, pluginName);
+     QVERIFY(description);
+     QVERIFY(description->enabled());
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName3);
++    description = findPluginDescriptions(pluginDescriptions, pluginName3);
+     QVERIFY(description);
+     QVERIFY(!description->enabled());
+     description = 0;
+@@ -220,10 +223,11 @@ void Ft_MIMPluginManager::testPluginDesc
+     enabledPluginsSettings.set(enabledPlugins);
+     QCOMPARE(spy.count(), 2);
+ 
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName);
++    pluginDescriptions = subject->pluginDescriptions(Maliit::OnScreen);
++    description = findPluginDescriptions(pluginDescriptions, pluginName);
+     QVERIFY(description);
+     QVERIFY(description->enabled());
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName3);
++    description = findPluginDescriptions(pluginDescriptions, pluginName3);
+     QVERIFY(description);
+     QVERIFY(!description->enabled());
+     description = 0;
+@@ -232,10 +236,11 @@ void Ft_MIMPluginManager::testPluginDesc
+     enabledPluginsSettings.set(enabledPlugins);
+     QCOMPARE(spy.count(), 3);
+ 
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName);
++    pluginDescriptions = subject->pluginDescriptions(Maliit::OnScreen);
++    description = findPluginDescriptions(pluginDescriptions, pluginName);
+     QVERIFY(description);
+     QVERIFY(description->enabled());
+-    description = findPluginDescriptions(subject->pluginDescriptions(Maliit::OnScreen), pluginName3);
++    description = findPluginDescriptions(pluginDescriptions, pluginName3);
+     QVERIFY(description);
+     QVERIFY(description->enabled());
+     description = 0;
diff -Nru maliit-framework-2.2.1/debian/patches/series maliit-framework-2.2.1/debian/patches/series
--- maliit-framework-2.2.1/debian/patches/series	1970-01-01 03:00:00.000000000 +0300
+++ maliit-framework-2.2.1/debian/patches/series	2022-09-18 16:55:17.000000000 +0300
@@ -0,0 +1,2 @@
+0001_move-operator-definition.patch
+1001_fix-segfault.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to