¡Hola Debian! El 2017-04-09 a las 16:45 +0200, Maximiliano Curia escribió:
I'm attaching the corresponding debdiff.
Attaching now. Happy hacking, -- "Las computadoras son inútiles, solo pueden darte respuestas." -- Pablo Picasso Saludos /\/\ /\ >< `/
diff -Nru solid-5.28.0/debian/changelog solid-5.28.0/debian/changelog
--- solid-5.28.0/debian/changelog 2016-11-30 15:57:09.000000000 +0100
+++ solid-5.28.0/debian/changelog 2017-04-08 19:58:03.000000000 +0200
@@ -1,3 +1,17 @@
+solid (5.28.0-3) unstable; urgency=medium
+
+ * Pick "Work round DBus property fetching bug" (6f1c6dc)
+ Workaround for a qt5 dbus property issue.
+ Add upstream patch as: Work-round-DBus-property-fetching-bug.patch
+ This fixes KDE#345871
+ * Pick "[UDisks 2 Device] Add description for Floppy Disk" (d92588b)
+ Floppy disks now show up as "Floppy Disk" instead of "0 B Removable
+ Media"
+ Add upstream patch as:
+ UDisks-2-Device-Add-description-for-Floppy-Disk.patch
+
+ -- Maximiliano Curia <maxy@debian.org> Sat, 08 Apr 2017 19:58:03 +0200
+
solid (5.28.0-2) unstable; urgency=medium
* Add patch: fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch.
diff -Nru solid-5.28.0/debian/patches/series solid-5.28.0/debian/patches/series
--- solid-5.28.0/debian/patches/series 2016-11-30 15:57:09.000000000 +0100
+++ solid-5.28.0/debian/patches/series 2017-04-08 19:58:03.000000000 +0200
@@ -1,2 +1,4 @@
use_shortest_filepath.diff
fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch
+Work-round-DBus-property-fetching-bug.patch
+UDisks-2-Device-Add-description-for-Floppy-Disk.patch
diff -Nru solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch
--- solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch 1970-01-01 01:00:00.000000000 +0100
+++ solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch 2017-04-08 19:58:03.000000000 +0200
@@ -0,0 +1,26 @@
+From: Kai Uwe Broulik <kde@privat.broulik.de>
+Date: Sat, 11 Feb 2017 17:06:15 +0100
+Subject: [UDisks 2 Device] Add description for Floppy Disk
+
+Ensures a floppy disk shows up as "Floppy Disk" instead of "0 Byte Removable Media"
+
+CHANGELOG: Floppy disks now show up as "Floppy Disk" instead of "0 B Removable Media"
+
+Differential Revision: https://phabricator.kde.org/D4570
+---
+ src/solid/devices/backends/udisks2/udisksdevice.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/solid/devices/backends/udisks2/udisksdevice.cpp b/src/solid/devices/backends/udisks2/udisksdevice.cpp
+index 5208ece..b0a6b51 100644
+--- a/src/solid/devices/backends/udisks2/udisksdevice.cpp
++++ b/src/solid/devices/backends/udisks2/udisksdevice.cpp
+@@ -573,6 +573,8 @@ QString Device::volumeDescription() const
+ description = tr("Hard Drive");
+ }
+ }
++ } else if (drive_type == Solid::StorageDrive::Floppy) {
++ description = tr("Floppy Disk");
+ } else {
+ if (drive_is_removable) {
+ description = tr("%1 Removable Media", "%1 is the size").arg(size_str);
diff -Nru solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch
--- solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch 1970-01-01 01:00:00.000000000 +0100
+++ solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch 2017-04-08 19:58:03.000000000 +0200
@@ -0,0 +1,68 @@
+From: David Edmundson <kde@davidedmundson.co.uk>
+Date: Fri, 27 Jan 2017 09:11:17 +0000
+Subject: Work round DBus property fetching bug
+
+Summary:
+property() works in a slightly different way to just calling Get().
+It allocates the variant of the relevant type in advance in QObject
+code, and then calls
+the DBus code to populate it.
+
+This fails for QByteArrayList, before it reaches DBus code.
+I don't know why, but we need a wokraround in Solid anyway.
+
+>From a DBus traffic perspective this code is identical, we just avoid
+going through Qt properties.
+
+This shouldn't introduce any new bugs, as we already use GetAll
+directly, if anything this brings it more
+in line.
+
+BUG: 345871
+
+Test Plan:
+Commented out the checkCache so that it always loads data.
+Instead of failing, it now works.
+
+Subscribers: #frameworks
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D4305
+---
+ .../backends/udisks2/udisksdevicebackend.cpp | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+diff --git a/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp b/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
+index c49001f..eaaa307 100644
+--- a/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
++++ b/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
+@@ -182,15 +182,19 @@ void DeviceBackend::checkCache(const QString &key) const
+ return;
+ }
+
+- QVariant reply = m_device->property(key.toUtf8());
+- m_propertyCache.insert(key, reply);
+-
+- if (!reply.isValid()) {
+- /* Store the item in the cache anyway so next time we don't have to
+- * do the DBus call to find out it does not exist but just check whether
+- * prop(key).isValid() */
+-// qDebug() << m_udi << ": property" << key << "does not exist";
+- }
++ QDBusMessage call = QDBusMessage::createMethodCall(UD2_DBUS_SERVICE, m_udi, DBUS_INTERFACE_PROPS, "Get");
++ /*
++ * Interface is set to an empty string as in this QDBusInterface is a meta-object of multiple interfaces on the same path
++ * The DBus properties also interface supports this, and will find the appropriate interface if none is explicitly set.
++ * This matches what QDBusAbstractInterface would do
++ */
++ call.setArguments(QVariantList() << QString() << key);
++ QDBusPendingReply<QVariant> reply = QDBusConnection::systemBus().call(call);
++
++ /* We don't check for error here and store the item in the cache anyway so next time we don't have to
++ * do the DBus call to find out it does not exist but just check whether
++ * prop(key).isValid() */
++ m_propertyCache.insert(key, reply.value());
+ }
+
+ void DeviceBackend::slotPropertiesChanged(const QString &ifaceName, const QVariantMap &changedProps, const QStringList &invalidatedProps)
Attachment:
signature.asc
Description: PGP signature