Package: kde4libs / 4:4.14.2-5+deb8u2

relax_plugin_kde_version_check.diff Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Description: relax KDE version check when loading plugins
 This patch removes the check that kdecore runtime version must be higher or
 equal to the version a KDE plugin has been compiled against. It does not make
 much sense since Debian enforces dependencies on the symbol level and kde4libs
 guarantees binary compatibility.
 .
 The worst about this check was that it made impossible for most KDE packages
 to migrate to testing before newer kde4libs even if they did not need symbols
 from it. See the bug report for more information about breakage it once caused
 in testing.
 .
 This patch also removes similar "later" version check in libplasma.
Author: Modestas Vainius <modestas@vainius.eu>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=585792
Forwarded: not-needed
Origin: vendor
Last-Update: 2010-06-22

Index: kde4libs/kdecore/util/kpluginloader.cpp
===================================================================
--- kde4libs.orig/kdecore/util/kpluginloader.cpp	2014-02-05 15:07:11.485862527 +0100
+++ kde4libs/kdecore/util/kpluginloader.cpp	2014-02-05 15:07:30.750314800 +0100
@@ -243,7 +243,6 @@
     d->verificationData = (KDEPluginVerificationData *) lib.resolve("kde_plugin_verification_data");
     if (d->verificationData) {
         if (d->verificationData->dataVersion < KDEPluginVerificationData::PluginVerificationDataVersion
-            || ((d->verificationData->KDEVersion & 0xFFFF00) > (KDE_VERSION & 0xFFFF00))  // newer minor version
             || (KDE_VERSION_MAJOR << 16 != (d->verificationData->KDEVersion & 0xFF0000))) // different major version
         {
             d->errorString = i18n("The plugin '%1' uses an incompatible KDE library (%2).", d->name, QString::fromLatin1(d->verificationData->KDEVersionString));
Index: kde4libs/plasma/version.cpp
===================================================================
--- kde4libs.orig/plasma/version.cpp	2014-02-05 15:07:11.485862527 +0100
+++ kde4libs/plasma/version.cpp	2014-02-05 15:07:11.485862527 +0100
@@ -58,12 +58,11 @@
 
     // we require PLASMA_VERSION_MAJOR and PLASMA_VERSION_MINOR
     const quint32 minVersion = PLASMA_MAKE_VERSION(PLASMA_VERSION_MAJOR, 0, 0);
-    const quint32 maxVersion = PLASMA_MAKE_VERSION(PLASMA_VERSION_MAJOR, PLASMA_VERSION_MINOR, 60);
 
-    if (version < minVersion || version > maxVersion) {
+    if (version < minVersion) {
         kDebug() << "plugin is compiled against incompatible Plasma version  " << version
                  << "This build is compatible with" << PLASMA_VERSION_MAJOR << ".0.0 (" << minVersion
-                 << ") to" << PLASMA_VERSION_STRING << "(" << maxVersion << ")";
+                 << ")";
         return false;
     }