4.11.3
This commit is contained in:
parent
7fbafb9ec9
commit
4f1050a7c3
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1 @@
|
|||||||
/kdelibs-4.10.5.tar.xz
|
/kdelibs-4.11.3.tar.xz
|
||||||
/kdelibs-4.11.2.tar.xz
|
|
||||||
|
@ -1,98 +0,0 @@
|
|||||||
From c0af4b9506e4bacd4e70342d5668ccb9c8a7203c Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Faure <faure@kde.org>
|
|
||||||
Date: Sun, 29 Sep 2013 11:57:32 +0200
|
|
||||||
Subject: [PATCH 02/12] Improve error handling when writing to the kdeinit4
|
|
||||||
socket.
|
|
||||||
|
|
||||||
Loop on EINTR, and print out an error message on failure.
|
|
||||||
---
|
|
||||||
kinit/klauncher.cpp | 31 ++++++++++++++++++++++++-------
|
|
||||||
1 file changed, 24 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kinit/klauncher.cpp b/kinit/klauncher.cpp
|
|
||||||
index 0e055f5..6c71e99 100644
|
|
||||||
--- a/kinit/klauncher.cpp
|
|
||||||
+++ b/kinit/klauncher.cpp
|
|
||||||
@@ -38,6 +38,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <QtCore/QFile>
|
|
||||||
+#include <qplatformdefs.h>
|
|
||||||
|
|
||||||
#include <kconfig.h>
|
|
||||||
#include <kdebug.h>
|
|
||||||
@@ -171,6 +172,22 @@ IdleSlave::age(time_t now) const
|
|
||||||
|
|
||||||
static KLauncher* g_klauncher_self;
|
|
||||||
|
|
||||||
+
|
|
||||||
+// From qcore_unix_p.h. We could also port to QLocalSocket :)
|
|
||||||
+#define K_EINTR_LOOP(var, cmd) \
|
|
||||||
+ do { \
|
|
||||||
+ var = cmd; \
|
|
||||||
+ } while (var == -1 && errno == EINTR)
|
|
||||||
+
|
|
||||||
+ssize_t kde_safe_write(int fd, const void *buf, size_t count)
|
|
||||||
+{
|
|
||||||
+ ssize_t ret = 0;
|
|
||||||
+ K_EINTR_LOOP(ret, QT_WRITE(fd, buf, count));
|
|
||||||
+ if (ret < 0)
|
|
||||||
+ qWarning() << "write failed:" << strerror(errno);
|
|
||||||
+ return ret;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
#ifndef USE_KPROCESS_FOR_KIOSLAVES
|
|
||||||
KLauncher::KLauncher(int _kdeinitSocket)
|
|
||||||
: QObject(0),
|
|
||||||
@@ -232,7 +249,7 @@ KLauncher::KLauncher()
|
|
||||||
klauncher_header request_header;
|
|
||||||
request_header.cmd = LAUNCHER_OK;
|
|
||||||
request_header.arg_length = 0;
|
|
||||||
- write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
+ kde_safe_write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -270,8 +287,8 @@ void KLauncher::setLaunchEnv(const QString &name, const QString &value)
|
|
||||||
requestData.append(name.toLocal8Bit()).append('\0').append(value.toLocal8Bit()).append('\0');
|
|
||||||
request_header.cmd = LAUNCHER_SETENV;
|
|
||||||
request_header.arg_length = requestData.size();
|
|
||||||
- write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
- write(kdeinitSocket, requestData.data(), request_header.arg_length);
|
|
||||||
+ kde_safe_write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
+ kde_safe_write(kdeinitSocket, requestData.data(), request_header.arg_length);
|
|
||||||
#else
|
|
||||||
Q_UNUSED(name);
|
|
||||||
Q_UNUSED(value);
|
|
||||||
@@ -694,8 +711,8 @@ KLauncher::requestStart(KLaunchRequest *request)
|
|
||||||
<< "cmd=" << commandToString(request_header.cmd);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
- write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
- write(kdeinitSocket, requestData.data(), requestData.length());
|
|
||||||
+ kde_safe_write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
+ kde_safe_write(kdeinitSocket, requestData.data(), requestData.length());
|
|
||||||
|
|
||||||
// Wait for pid to return.
|
|
||||||
lastRequest = request;
|
|
||||||
@@ -1161,7 +1178,7 @@ KLauncher::requestSlave(const QString &protocol,
|
|
||||||
klauncher_header request_header;
|
|
||||||
request_header.cmd = LAUNCHER_DEBUG_WAIT;
|
|
||||||
request_header.arg_length = 0;
|
|
||||||
- write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
+ kde_safe_write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
#else
|
|
||||||
name = QString::fromLatin1("gdb");
|
|
||||||
#endif
|
|
||||||
@@ -1343,7 +1360,7 @@ void KLauncher::terminate_kdeinit()
|
|
||||||
klauncher_header request_header;
|
|
||||||
request_header.cmd = LAUNCHER_TERMINATE_KDEINIT;
|
|
||||||
request_header.arg_length = 0;
|
|
||||||
- write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
+ kde_safe_write(kdeinitSocket, &request_header, sizeof(request_header));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
From 61c81131867af964496780cbc0adda4bfc55c7cf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Luigi Toscano <luigi.toscano@tiscali.it>
|
|
||||||
Date: Mon, 14 Oct 2013 19:36:20 +0200
|
|
||||||
Subject: [PATCH 10/12] Enable translation functions for js/QScriptEngine
|
|
||||||
scripts
|
|
||||||
|
|
||||||
REVIEW: 113218
|
|
||||||
---
|
|
||||||
kross/qts/main.cpp | 1 +
|
|
||||||
kross/qts/script.cpp | 1 +
|
|
||||||
2 files changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/kross/qts/main.cpp b/kross/qts/main.cpp
|
|
||||||
index 041c306..f40c044 100644
|
|
||||||
--- a/kross/qts/main.cpp
|
|
||||||
+++ b/kross/qts/main.cpp
|
|
||||||
@@ -83,6 +83,7 @@ int main(int argc, char **argv)
|
|
||||||
|
|
||||||
app = new KApplication( /* GUIenabled */ true );
|
|
||||||
QScriptEngine* engine = new QScriptEngine();
|
|
||||||
+ engine->installTranslatorFunctions();
|
|
||||||
QScriptValue global = engine->globalObject();
|
|
||||||
|
|
||||||
//qDebug()<<"QLibraryInfo::PluginsPath="<<QLibraryInfo::location(QLibraryInfo::PluginsPath);
|
|
||||||
diff --git a/kross/qts/script.cpp b/kross/qts/script.cpp
|
|
||||||
index 41d46b2..1cee907 100644
|
|
||||||
--- a/kross/qts/script.cpp
|
|
||||||
+++ b/kross/qts/script.cpp
|
|
||||||
@@ -48,6 +48,7 @@ namespace Kross {
|
|
||||||
|
|
||||||
delete m_engine;
|
|
||||||
m_engine = new QScriptEngine();
|
|
||||||
+ m_engine->installTranslatorFunctions();
|
|
||||||
|
|
||||||
// load the Kross QScriptExtensionPlugin plugin that provides
|
|
||||||
// us a bridge between Kross and QtScript. See here plugin.h
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,141 +0,0 @@
|
|||||||
From f723e2e7d36b597c5262bf63dde380d89ec6bfcb Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Faure <faure@kde.org>
|
|
||||||
Date: Fri, 18 Oct 2013 09:44:17 +0200
|
|
||||||
Subject: [PATCH 12/12] Fix association-with-derived-mimetype again.
|
|
||||||
|
|
||||||
871cccc8a88a made it impossible to re-order file type associations.
|
|
||||||
7f42bf253009 fixed that, but changed the value of KService::mimeTypes(), which
|
|
||||||
broke okular. This new fix works the same way, but only inside kbuildsycoca
|
|
||||||
when it processes the mimetypes. The value of KService::mimeTypes() is now
|
|
||||||
restored to be exactly what's in the desktop file.
|
|
||||||
|
|
||||||
CCBUG: 321706
|
|
||||||
FIXED-IN: 4.11.3
|
|
||||||
---
|
|
||||||
kdecore/services/kservice.cpp | 45 +++++++++---------------------------------
|
|
||||||
kdecore/tests/kservicetest.cpp | 7 ++++---
|
|
||||||
kded/kbuildservicefactory.cpp | 11 ++++++++++-
|
|
||||||
3 files changed, 23 insertions(+), 40 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kdecore/services/kservice.cpp b/kdecore/services/kservice.cpp
|
|
||||||
index d7945bf..8e81929 100644
|
|
||||||
--- a/kdecore/services/kservice.cpp
|
|
||||||
+++ b/kdecore/services/kservice.cpp
|
|
||||||
@@ -227,44 +227,17 @@ void KServicePrivate::init( const KDesktopFile *config, KService* q )
|
|
||||||
<< "has an empty mimetype!";
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- // The following searches through the list for duplicate, inherited mimetypes
|
|
||||||
- // For example, if application/rtf and text/plain are both listed application/rtf is removed
|
|
||||||
- // since it is inherited from text/plain
|
|
||||||
- // This is a reworked fix for revision 871cccc8a88a600c8f850a020d44bfc5f5858caa
|
|
||||||
- bool shouldAdd = true;
|
|
||||||
- KMimeType::Ptr mimeType1 = KMimeTypeRepository::self()->findMimeTypeByName(st);
|
|
||||||
- if (mimeType1) {
|
|
||||||
- foreach(const QString mime2, lstServiceTypes) {
|
|
||||||
- // Don't compare the mimetype with itself
|
|
||||||
- if (st == mime2) {
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- // is checks for inheritance and aliases, so this should suffice
|
|
||||||
- if (mimeType1->is(mime2)) {
|
|
||||||
- shouldAdd = false;
|
|
||||||
- break;
|
|
||||||
- }
|
|
||||||
+ int initialPreference = m_initialPreference;
|
|
||||||
+ if ( st_it.hasNext() ) {
|
|
||||||
+ // TODO better syntax - separate group with mimetype=number entries?
|
|
||||||
+ bool isNumber;
|
|
||||||
+ const int val = st_it.peekNext().toInt(&isNumber);
|
|
||||||
+ if (isNumber) {
|
|
||||||
+ initialPreference = val;
|
|
||||||
+ st_it.next();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-
|
|
||||||
- // Only add unique mimetypes
|
|
||||||
- if (shouldAdd) {
|
|
||||||
- int initialPreference = m_initialPreference;
|
|
||||||
- if (st_it.hasNext()) {
|
|
||||||
- // TODO better syntax - separate group with mimetype=number entries?
|
|
||||||
- bool isNumber;
|
|
||||||
- const int val = st_it.peekNext().toInt(&isNumber);
|
|
||||||
- if (isNumber) {
|
|
||||||
- initialPreference = val;
|
|
||||||
- st_it.next();
|
|
||||||
- }
|
|
||||||
- }
|
|
||||||
- m_serviceTypes.push_back(KService::ServiceTypeAndPreference(initialPreference, st));
|
|
||||||
- } else {
|
|
||||||
- //kDebug(servicesDebugArea())<<"Not adding"<<st<<"from"<<entryPath;
|
|
||||||
- }
|
|
||||||
+ m_serviceTypes.push_back(KService::ServiceTypeAndPreference(initialPreference, st));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (entryMap.contains(QLatin1String("Actions"))) {
|
|
||||||
diff --git a/kdecore/tests/kservicetest.cpp b/kdecore/tests/kservicetest.cpp
|
|
||||||
index 0dba8d9..7371475 100644
|
|
||||||
--- a/kdecore/tests/kservicetest.cpp
|
|
||||||
+++ b/kdecore/tests/kservicetest.cpp
|
|
||||||
@@ -91,7 +91,7 @@ void KServiceTest::initTestCase()
|
|
||||||
group.writeEntry("X-KDE-Library", "fakepart");
|
|
||||||
group.writeEntry("X-KDE-Protocols", "http,ftp");
|
|
||||||
group.writeEntry("X-KDE-ServiceTypes", "KParts/ReadOnlyPart,Browser/View,KParts/ReadWritePart");
|
|
||||||
- group.writeEntry("MimeType", "text/plain;");
|
|
||||||
+ group.writeEntry("MimeType", "text/plain;text/html;");
|
|
||||||
}
|
|
||||||
|
|
||||||
// faketextplugin: a ktexteditor plugin
|
|
||||||
@@ -168,6 +168,7 @@ void KServiceTest::testProperty()
|
|
||||||
KService::Ptr fakePart = KService::serviceByDesktopPath("fakepart.desktop");
|
|
||||||
QVERIFY(fakePart); // see initTestCase; it should be found.
|
|
||||||
QVERIFY(fakePart->propertyNames().contains("X-KDE-Protocols"));
|
|
||||||
+ QCOMPARE(fakePart->mimeTypes(), QStringList() << "text/plain" << "text/html"); // okular relies on subclasses being kept here
|
|
||||||
const QStringList protocols = fakePart->property("X-KDE-Protocols").toStringList();
|
|
||||||
QCOMPARE(protocols, QStringList() << "http" << "ftp");
|
|
||||||
}
|
|
||||||
@@ -356,7 +357,7 @@ void KServiceTest::testHasServiceType1() // with services constructed with a ful
|
|
||||||
KService fakepart( fakepartPath );
|
|
||||||
QVERIFY( fakepart.hasServiceType( "KParts/ReadOnlyPart" ) );
|
|
||||||
QVERIFY( fakepart.hasServiceType( "KParts/ReadWritePart" ) );
|
|
||||||
- QCOMPARE(fakepart.mimeTypes(), QStringList() << "text/plain");
|
|
||||||
+ QCOMPARE(fakepart.mimeTypes(), QStringList() << "text/plain" << "text/html");
|
|
||||||
|
|
||||||
QString faketextPluginPath = KStandardDirs::locate( "services", "faketextplugin.desktop" );
|
|
||||||
QVERIFY( !faketextPluginPath.isEmpty() );
|
|
||||||
@@ -371,7 +372,7 @@ void KServiceTest::testHasServiceType2() // with services coming from ksycoca
|
|
||||||
QVERIFY( !fakepart.isNull() );
|
|
||||||
QVERIFY( fakepart->hasServiceType( "KParts/ReadOnlyPart" ) );
|
|
||||||
QVERIFY( fakepart->hasServiceType( "KParts/ReadWritePart" ) );
|
|
||||||
- QCOMPARE(fakepart->mimeTypes(), QStringList() << "text/plain");
|
|
||||||
+ QCOMPARE(fakepart->mimeTypes(), QStringList() << "text/plain" << "text/html");
|
|
||||||
|
|
||||||
KService::Ptr faketextPlugin = KService::serviceByDesktopPath( "faketextplugin.desktop" );
|
|
||||||
QVERIFY( !faketextPlugin.isNull() );
|
|
||||||
diff --git a/kded/kbuildservicefactory.cpp b/kded/kbuildservicefactory.cpp
|
|
||||||
index 5fb091b..b4564bd 100644
|
|
||||||
--- a/kded/kbuildservicefactory.cpp
|
|
||||||
+++ b/kded/kbuildservicefactory.cpp
|
|
||||||
@@ -267,7 +267,16 @@ void KBuildServiceFactory::populateServiceTypes()
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
- m_offerHash.addServiceOffer(mime->name(), offer); // mime->name so that we resolve aliases
|
|
||||||
+ bool shouldAdd = true;
|
|
||||||
+ foreach (const QString &otherType, service->serviceTypes()) {
|
|
||||||
+ if (stName != otherType && mime->is(otherType)) {
|
|
||||||
+ shouldAdd = false;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (shouldAdd) {
|
|
||||||
+ //kDebug(7021) << "Adding service" << service->entryPath() << "to" << mime->name();
|
|
||||||
+ m_offerHash.addServiceOffer(mime->name(), offer); // mime->name so that we resolve aliases
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
|||||||
From 8bfcace7efc0feea8899f70dfc15c3050c90ea99 Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Faure <faure@kde.org>
|
|
||||||
Date: Sat, 19 Oct 2013 10:15:35 +0200
|
|
||||||
Subject: [PATCH 15/15] Improve fix for association with derived mimetypes
|
|
||||||
(f723e2e7d36)
|
|
||||||
|
|
||||||
If a desktop file was mentionning two aliases, they would both get
|
|
||||||
removed, due to is() returning true for aliases as well.
|
|
||||||
|
|
||||||
CCBUG: 321706
|
|
||||||
---
|
|
||||||
kded/kbuildservicefactory.cpp | 7 ++++++-
|
|
||||||
kded/tests/kmimeassociationstest.cpp | 14 ++++++++++----
|
|
||||||
2 files changed, 16 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kded/kbuildservicefactory.cpp b/kded/kbuildservicefactory.cpp
|
|
||||||
index b4564bd..7a2a2fc 100644
|
|
||||||
--- a/kded/kbuildservicefactory.cpp
|
|
||||||
+++ b/kded/kbuildservicefactory.cpp
|
|
||||||
@@ -269,8 +269,13 @@ void KBuildServiceFactory::populateServiceTypes()
|
|
||||||
} else {
|
|
||||||
bool shouldAdd = true;
|
|
||||||
foreach (const QString &otherType, service->serviceTypes()) {
|
|
||||||
+ // Skip derived types if the base class is listed (#321706)
|
|
||||||
if (stName != otherType && mime->is(otherType)) {
|
|
||||||
- shouldAdd = false;
|
|
||||||
+ // But don't skip aliases (they got resolved into mime->name() already, but don't let two aliases cancel out)
|
|
||||||
+ if (KMimeTypeRepository::self()->canonicalName(otherType) != mime->name()) {
|
|
||||||
+ //kDebug() << "Skipping" << mime->name() << "because of" << otherType << "(canonical" << KMimeTypeRepository::self()->canonicalName(otherType) << ") while parsing" << service->entryPath();
|
|
||||||
+ shouldAdd = false;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (shouldAdd) {
|
|
||||||
diff --git a/kded/tests/kmimeassociationstest.cpp b/kded/tests/kmimeassociationstest.cpp
|
|
||||||
index a07637f..342a8fd 100644
|
|
||||||
--- a/kded/tests/kmimeassociationstest.cpp
|
|
||||||
+++ b/kded/tests/kmimeassociationstest.cpp
|
|
||||||
@@ -140,10 +140,12 @@ private Q_SLOTS:
|
|
||||||
// This interacted badly with mimeapps.list listing another app for text/plain, but the
|
|
||||||
// lookup found this app first, due to c-src. The fix: ignoring derived mimetypes when
|
|
||||||
// the base mimetype is already listed.
|
|
||||||
+ //
|
|
||||||
+ // Also include aliases (msword), to check they don't cancel each other out.
|
|
||||||
fakeCSrcApplication = m_localApps + "fakecsrcapplication.desktop";
|
|
||||||
if (!QFile::exists(fakeCSrcApplication)) {
|
|
||||||
mustUpdateKSycoca = true;
|
|
||||||
- writeAppDesktopFile(fakeCSrcApplication, QStringList() << "text/plain" << "text/c-src", 8);
|
|
||||||
+ writeAppDesktopFile(fakeCSrcApplication, QStringList() << "text/plain" << "text/c-src" << "application/vnd.ms-word" << "application/msword", 8);
|
|
||||||
}
|
|
||||||
|
|
||||||
fakeJpegApplication = m_localApps + "fakejpegapplication.desktop";
|
|
||||||
@@ -200,6 +202,7 @@ private Q_SLOTS:
|
|
||||||
preferredApps["text/plain"] << "faketextapplication.desktop" << "kde4-kwrite.desktop";
|
|
||||||
preferredApps["text/x-csrc"] << "faketextapplication.desktop" << "kde4-kwrite.desktop";
|
|
||||||
preferredApps["text/html"] << "fakehtmlapplication.desktop";
|
|
||||||
+ preferredApps["application/msword"] << "fakecsrcapplication.desktop";
|
|
||||||
removedApps["image/jpeg"] << "firefox.desktop";
|
|
||||||
removedApps["text/html"] << "kde4-dolphin.desktop" << "kde4-kwrite.desktop";
|
|
||||||
|
|
||||||
@@ -231,14 +234,17 @@ private Q_SLOTS:
|
|
||||||
for (ExpectedResultsMap::const_iterator it = preferredApps.constBegin(),
|
|
||||||
end = preferredApps.constEnd() ; it != end ; ++it) {
|
|
||||||
const QString mime = it.key();
|
|
||||||
- // Derived mimetypes are handled outside KMimeAssociations
|
|
||||||
- if (mime == QLatin1String("text/x-csrc"))
|
|
||||||
+ // The data for derived types and aliases isn't for this test (which only looks at mimeapps.list)
|
|
||||||
+ if (mime == QLatin1String("text/x-csrc") || mime == QLatin1String("application/msword"))
|
|
||||||
continue;
|
|
||||||
const QList<KServiceOffer> offers = offerHash.offersFor(mime);
|
|
||||||
Q_FOREACH(const QString& service, it.value()) {
|
|
||||||
KService::Ptr serv = KService::serviceByStorageId(service);
|
|
||||||
if (serv && !offersContains(offers, serv)) {
|
|
||||||
- kDebug() << serv.data() << serv->entryPath() << "does not have" << mime;
|
|
||||||
+ kDebug() << "expected offer" << serv->entryPath() << "not in offers for" << mime << ":";
|
|
||||||
+ Q_FOREACH(const KServiceOffer& offer, offers) {
|
|
||||||
+ kDebug() << offer.service()->storageId();
|
|
||||||
+ }
|
|
||||||
QFAIL("offer does not have servicetype");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.8.3.1
|
|
||||||
|
|
54
kdelibs-4.11.3-libexecdir.patch
Normal file
54
kdelibs-4.11.3-libexecdir.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp
|
||||||
|
--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp.libexecdir 2013-06-28 12:03:40.883340083 -0500
|
||||||
|
+++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs.cpp 2013-11-01 15:44:00.780783690 -0500
|
||||||
|
@@ -1871,7 +1871,7 @@ void KStandardDirs::addKDEDefaults()
|
||||||
|
addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
|
||||||
|
index+=2;
|
||||||
|
}
|
||||||
|
- addResourceType("exe", "lib", "kde4/libexec", true );
|
||||||
|
+ addResourceType("exe", 0, "libexec/kde4", true );
|
||||||
|
|
||||||
|
addResourceDir("home", QDir::homePath(), false);
|
||||||
|
|
||||||
|
diff -up kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp
|
||||||
|
--- kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2013-06-28 12:03:40.884340190 -0500
|
||||||
|
+++ kdelibs-4.11.3/kdecore/kernel/kstandarddirs_unix.cpp 2013-11-01 15:44:00.782783770 -0500
|
||||||
|
@@ -63,7 +63,7 @@ QString KStandardDirs::installPath(const
|
||||||
|
if (strcmp("lib", type) == 0)
|
||||||
|
return QFile::decodeName(LIB_INSTALL_DIR "/");
|
||||||
|
if (strcmp("libexec", type) == 0)
|
||||||
|
- return QFile::decodeName(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
|
||||||
|
+ return QFile::decodeName(LIBEXEC_INSTALL_DIR "/");
|
||||||
|
if (strcmp("locale", type) == 0)
|
||||||
|
return QFile::decodeName(LOCALE_INSTALL_DIR "/");
|
||||||
|
break;
|
||||||
|
diff -up kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp
|
||||||
|
--- kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp.libexecdir 2013-11-01 10:45:56.409145508 -0500
|
||||||
|
+++ kdelibs-4.11.3/kdecore/tests/kstandarddirstest.cpp 2013-11-01 15:50:20.473658147 -0500
|
||||||
|
@@ -96,8 +96,9 @@ void KStandarddirsTest::testFindResource
|
||||||
|
#define KIOSLAVE "bin/kioslave.exe"
|
||||||
|
#else
|
||||||
|
#define EXT ""
|
||||||
|
-#define KIOSLAVE "kde4/libexec/kioslave"
|
||||||
|
+#define KIOSLAVE "libexec/kde4/kioslave"
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
|
||||||
|
QVERIFY( !bin.isEmpty() );
|
||||||
|
QVERIFY( bin.endsWith( KIOSLAVE ) );
|
||||||
|
@@ -248,11 +249,13 @@ void KStandarddirsTest::testFindExe()
|
||||||
|
// findExe with a result in libexec
|
||||||
|
const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
|
||||||
|
QVERIFY( !lnusertemp.isEmpty() );
|
||||||
|
- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) );
|
||||||
|
+ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY )
|
||||||
|
+ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) );
|
||||||
|
|
||||||
|
// locate("exe") with a result in libexec
|
||||||
|
const QString locateExeResult = KGlobal::dirs()->locate("exe", "lnusertemp");
|
||||||
|
- QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY));
|
||||||
|
+ QVERIFY(locateExeResult.endsWith("lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY)
|
||||||
|
+ || locateExeResult.endsWith(" /libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY) );
|
||||||
|
|
||||||
|
// findExe with relative path
|
||||||
|
const QString pwd = QDir::currentPath();
|
@ -1,49 +0,0 @@
|
|||||||
diff -up kdelibs-4.9.97/kdecore/kernel/kstandarddirs.cpp.libexecdir kdelibs-4.9.97/kdecore/kernel/kstandarddirs.cpp
|
|
||||||
--- kdelibs-4.9.97/kdecore/kernel/kstandarddirs.cpp.libexecdir 2012-12-17 08:14:17.000000000 -0600
|
|
||||||
+++ kdelibs-4.9.97/kdecore/kernel/kstandarddirs.cpp 2013-01-03 14:56:38.768459213 -0600
|
|
||||||
@@ -1871,7 +1871,7 @@ void KStandardDirs::addKDEDefaults()
|
|
||||||
addResourceType(types_string + types_indices[index], 0, types_string + types_indices[index+1], true);
|
|
||||||
index+=2;
|
|
||||||
}
|
|
||||||
- addResourceType("exe", "lib", "kde4/libexec", true );
|
|
||||||
+ addResourceType("exe", 0, "libexec/kde4", true );
|
|
||||||
|
|
||||||
addResourceDir("home", QDir::homePath(), false);
|
|
||||||
|
|
||||||
diff -up kdelibs-4.9.97/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir kdelibs-4.9.97/kdecore/kernel/kstandarddirs_unix.cpp
|
|
||||||
--- kdelibs-4.9.97/kdecore/kernel/kstandarddirs_unix.cpp.libexecdir 2012-12-17 08:14:16.000000000 -0600
|
|
||||||
+++ kdelibs-4.9.97/kdecore/kernel/kstandarddirs_unix.cpp 2013-01-03 14:56:38.768459213 -0600
|
|
||||||
@@ -63,7 +63,7 @@ QString KStandardDirs::installPath(const
|
|
||||||
if (strcmp("lib", type) == 0)
|
|
||||||
return QFile::decodeName(LIB_INSTALL_DIR "/");
|
|
||||||
if (strcmp("libexec", type) == 0)
|
|
||||||
- return QFile::decodeName(KDEDIR "/lib" KDELIBSUFF "/kde4/libexec/");
|
|
||||||
+ return QFile::decodeName(LIBEXEC_INSTALL_DIR "/");
|
|
||||||
if (strcmp("locale", type) == 0)
|
|
||||||
return QFile::decodeName(LOCALE_INSTALL_DIR "/");
|
|
||||||
break;
|
|
||||||
diff -up kdelibs-4.9.97/kdecore/tests/kstandarddirstest.cpp.libexecdir kdelibs-4.9.97/kdecore/tests/kstandarddirstest.cpp
|
|
||||||
--- kdelibs-4.9.97/kdecore/tests/kstandarddirstest.cpp.libexecdir 2012-12-17 08:14:17.000000000 -0600
|
|
||||||
+++ kdelibs-4.9.97/kdecore/tests/kstandarddirstest.cpp 2013-01-03 14:56:38.769459202 -0600
|
|
||||||
@@ -96,8 +96,9 @@ void KStandarddirsTest::testFindResource
|
|
||||||
#define KIOSLAVE "bin/kioslave.exe"
|
|
||||||
#else
|
|
||||||
#define EXT ""
|
|
||||||
-#define KIOSLAVE "kde4/libexec/kioslave"
|
|
||||||
+#define KIOSLAVE "libexec/kde4/kioslave"
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
const QString bin = KGlobal::dirs()->findResource( "exe", "kioslave" EXT );
|
|
||||||
QVERIFY( !bin.isEmpty() );
|
|
||||||
QVERIFY( bin.endsWith( KIOSLAVE ) );
|
|
||||||
@@ -231,7 +232,8 @@ void KStandarddirsTest::testFindExe()
|
|
||||||
// findExe with a result in libexec
|
|
||||||
const QString lnusertemp = KGlobal::dirs()->findExe( "lnusertemp" );
|
|
||||||
QVERIFY( !lnusertemp.isEmpty() );
|
|
||||||
- QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY ) );
|
|
||||||
+ QVERIFY( lnusertemp.endsWith( "lib" KDELIBSUFF "/kde4/libexec/lnusertemp" EXT, PATH_SENSITIVITY )
|
|
||||||
+ || lnusertemp.endsWith( "libexec/kde4/lnusertemp" EXT, PATH_SENSITIVITY ) );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef Q_OS_MAC // kdeinit4 is a bundle on Mac, so the below doesn't work
|
|
||||||
diff -up kdelibs-4.9.97/kio/tests/krununittest.cpp.libexecdir kdelibs-4.9.97/kio/tests/krununittest.cpp
|
|
@ -1,83 +0,0 @@
|
|||||||
diff --git a/cmake/modules/FindUDev.cmake b/cmake/modules/FindUDev.cmake
|
|
||||||
index 4c8390d..1c05dd0 100644
|
|
||||||
--- a/cmake/modules/FindUDev.cmake
|
|
||||||
+++ b/cmake/modules/FindUDev.cmake
|
|
||||||
@@ -4,14 +4,32 @@
|
|
||||||
# UDEV_FOUND - system has UDev
|
|
||||||
# UDEV_INCLUDE_DIR - the libudev include directory
|
|
||||||
# UDEV_LIBS - The libudev libraries
|
|
||||||
+# UDEV_HAVE_GET_SYSATTR_LIST_ENTRY - TRUE if the udev library has the function
|
|
||||||
+# udev_device_get_sysattr_list_entry(), added in version 167 of libudev
|
|
||||||
|
|
||||||
# Copyright (c) 2010, Rafael Fernández López, <ereslibre@kde.org>
|
|
||||||
#
|
|
||||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
||||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
||||||
|
|
||||||
-find_path(UDEV_INCLUDE_DIR libudev.h)
|
|
||||||
-find_library(UDEV_LIBS udev)
|
|
||||||
+find_package(PkgConfig)
|
|
||||||
+if(PKG_CONFIG_FOUND)
|
|
||||||
+ pkg_check_modules(PC_LIBUDEV libudev)
|
|
||||||
+endif()
|
|
||||||
+
|
|
||||||
+find_path(UDEV_INCLUDE_DIR libudev.h
|
|
||||||
+ HINTS ${PC_LIBUDEV_INCLUDEDIR} ${PC_LIBUDEV_INCLUDE_DIRS})
|
|
||||||
+find_library(UDEV_LIBS udev
|
|
||||||
+ HINTS ${PC_LIBUDEV_LIBDIR} ${PC_LIBUDEV_LIBRARY_DIRS})
|
|
||||||
+
|
|
||||||
+if(UDEV_INCLUDE_DIR AND UDEV_LIBS)
|
|
||||||
+ include(CheckFunctionExists)
|
|
||||||
+ include(CMakePushCheckState)
|
|
||||||
+ cmake_push_check_state()
|
|
||||||
+ set(CMAKE_REQUIRED_LIBRARIES ${UDEV_LIBS} )
|
|
||||||
+ check_function_exists(udev_device_get_sysattr_list_entry UDEV_HAVE_GET_SYSATTR_LIST_ENTRY )
|
|
||||||
+ cmake_pop_check_state()
|
|
||||||
+endif()
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
|
||||||
find_package_handle_standard_args(UDev DEFAULT_MSG UDEV_INCLUDE_DIR UDEV_LIBS)
|
|
||||||
diff --git a/solid/solid/backends/shared/udevqt.h b/solid/solid/backends/shared/udevqt.h
|
|
||||||
index 228687e..9611658 100644
|
|
||||||
--- a/solid/solid/backends/shared/udevqt.h
|
|
||||||
+++ b/solid/solid/backends/shared/udevqt.h
|
|
||||||
@@ -49,7 +49,9 @@ class Device
|
|
||||||
QString primaryDeviceFile() const;
|
|
||||||
QStringList alternateDeviceSymlinks() const;
|
|
||||||
QStringList deviceProperties() const;
|
|
||||||
+#ifdef UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
|
||||||
QStringList sysfsProperties() const;
|
|
||||||
+#endif
|
|
||||||
Device parent() const;
|
|
||||||
|
|
||||||
// ### should this really be a QVariant? as far as udev knows, everything is a string...
|
|
||||||
diff --git a/solid/solid/backends/shared/udevqtdevice.cpp b/solid/solid/backends/shared/udevqtdevice.cpp
|
|
||||||
index d18b616..4721b7a 100644
|
|
||||||
--- a/solid/solid/backends/shared/udevqtdevice.cpp
|
|
||||||
+++ b/solid/solid/backends/shared/udevqtdevice.cpp
|
|
||||||
@@ -197,6 +197,7 @@ QStringList Device::deviceProperties() const
|
|
||||||
return listFromListEntry(udev_device_get_properties_list_entry(d->udev));
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
|
||||||
QStringList Device::sysfsProperties() const
|
|
||||||
{
|
|
||||||
if (!d)
|
|
||||||
@@ -204,6 +205,7 @@ QStringList Device::sysfsProperties() const
|
|
||||||
|
|
||||||
return listFromListEntry(udev_device_get_sysattr_list_entry(d->udev));
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
Device Device::parent() const
|
|
||||||
{
|
|
||||||
diff --git a/solid/solid/config-solid.h.cmake b/solid/solid/config-solid.h.cmake
|
|
||||||
index 84c3b5c..5d4b68d 100644
|
|
||||||
--- a/solid/solid/config-solid.h.cmake
|
|
||||||
+++ b/solid/solid/config-solid.h.cmake
|
|
||||||
@@ -19,4 +19,5 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#cmakedefine UDEV_FOUND
|
|
||||||
+#cmakedefine01 UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
|
||||||
#cmakedefine HUPNP_FOUND
|
|
26
kdelibs.spec
26
kdelibs.spec
@ -36,8 +36,8 @@
|
|||||||
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
||||||
|
|
||||||
Summary: KDE Libraries
|
Summary: KDE Libraries
|
||||||
Version: 4.11.2
|
Version: 4.11.3
|
||||||
Release: 3%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
Name: kdelibs
|
Name: kdelibs
|
||||||
Epoch: 6
|
Epoch: 6
|
||||||
@ -100,7 +100,7 @@ Patch9: kdelibs-4.10.0-branding.patch
|
|||||||
Patch12: kdelibs-4.10.0-xdg-menu.patch
|
Patch12: kdelibs-4.10.0-xdg-menu.patch
|
||||||
|
|
||||||
# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec
|
# patch KStandardDirs to use %{_libexecdir}/kde4 instead of %{_libdir}/kde4/libexec
|
||||||
Patch14: kdelibs-4.9.97-libexecdir.patch
|
Patch14: kdelibs-4.11.3-libexecdir.patch
|
||||||
|
|
||||||
# kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir}
|
# kstandarddirs changes: search /etc/kde, find %{_kde4_libexecdir}
|
||||||
Patch18: kdelibs-4.10.0-kstandarddirs.patch
|
Patch18: kdelibs-4.10.0-kstandarddirs.patch
|
||||||
@ -137,12 +137,6 @@ Patch49: kdelibs-solid_qt_no_debug_output.patch
|
|||||||
# https://git.reviewboard.kde.org/r/102439/
|
# https://git.reviewboard.kde.org/r/102439/
|
||||||
Patch50: kdelibs-4.7.0-knewstuff2_gpg2.patch
|
Patch50: kdelibs-4.7.0-knewstuff2_gpg2.patch
|
||||||
|
|
||||||
# an improvement on
|
|
||||||
# https://projects.kde.org/projects/kde/kdelibs/repository/revisions/a8d3d3321522d35c2852abb02a475c6b43be5cfe
|
|
||||||
# committed:
|
|
||||||
# http://commits.kde.org/kdelibs/587137e39fdcf9b9815eff3fd2fc234d378f8d93
|
|
||||||
Patch51: kdelibs-UDEV_HAVE_GET_SYSATTR_LIST_ENTRY.patch
|
|
||||||
|
|
||||||
# Toggle solid upnp support at runtime via env var SOLID_UPNP=1 (disabled by default)
|
# Toggle solid upnp support at runtime via env var SOLID_UPNP=1 (disabled by default)
|
||||||
Patch52: kdelibs-4.10.0-SOLID_UPNP.patch
|
Patch52: kdelibs-4.10.0-SOLID_UPNP.patch
|
||||||
|
|
||||||
@ -171,11 +165,6 @@ Patch092: return-application-icons-properly.patch
|
|||||||
# revert disabling of packagekit
|
# revert disabling of packagekit
|
||||||
Patch093: turn-the-packagekit-support-feature-off-by-default.patch
|
Patch093: turn-the-packagekit-support-feature-off-by-default.patch
|
||||||
|
|
||||||
Patch102: 0002-Improve-error-handling-when-writing-to-the-kdeinit4-.patch
|
|
||||||
Patch110: 0010-Enable-translation-functions-for-js-QScriptEngine-sc.patch
|
|
||||||
Patch112: 0012-Fix-association-with-derived-mimetype-again.patch
|
|
||||||
Patch115: 0015-Improve-fix-for-association-with-derived-mimetypes-f.patch
|
|
||||||
|
|
||||||
## security fix
|
## security fix
|
||||||
|
|
||||||
# rhel patches
|
# rhel patches
|
||||||
@ -356,7 +345,6 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
|
|||||||
|
|
||||||
# upstreamable patches
|
# upstreamable patches
|
||||||
%patch50 -p1 -b .knewstuff2_gpg2
|
%patch50 -p1 -b .knewstuff2_gpg2
|
||||||
%patch51 -p1 -b .UDEV_HAVE_GET_SYSATTR_LIST_ENTRY
|
|
||||||
%patch52 -p1 -b .SOLID_UPNP
|
%patch52 -p1 -b .SOLID_UPNP
|
||||||
%patch53 -p1 -b .kjs-s390
|
%patch53 -p1 -b .kjs-s390
|
||||||
%patch54 -p1 -b .kjs-locale
|
%patch54 -p1 -b .kjs-locale
|
||||||
@ -369,11 +357,6 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
|
|||||||
%patch092 -p1 -R -b .return-application-icons-properly
|
%patch092 -p1 -R -b .return-application-icons-properly
|
||||||
%patch093 -p1 -R -b .turn-the-packagekit-support-feature-off-by-default
|
%patch093 -p1 -R -b .turn-the-packagekit-support-feature-off-by-default
|
||||||
|
|
||||||
%patch102 -p1 -b .0002
|
|
||||||
%patch110 -p1 -b .0010
|
|
||||||
%patch112 -p1 -b .0012
|
|
||||||
%patch115 -p1 -b .0015
|
|
||||||
|
|
||||||
# security fixes
|
# security fixes
|
||||||
|
|
||||||
# rhel patches
|
# rhel patches
|
||||||
@ -622,6 +605,9 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Nov 01 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.3-1
|
||||||
|
- 4.11.3
|
||||||
|
|
||||||
* Sat Oct 19 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.2-3
|
* Sat Oct 19 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.2-3
|
||||||
- followup upstream mimetypes fix
|
- followup upstream mimetypes fix
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user