diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-04-27 20:50:05 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-04-29 13:56:21 +0200 |
commit | 25c13ec9aa6daad7f4a16f36de0264d2a4cd38aa (patch) | |
tree | 0da1886d57dddb259761e5b268a8d65c36b4bf60 /kde-frameworks/kconfig | |
parent | dev-perl/Text-CSV_XS: Stable for HPPA (bug #616348). (diff) | |
download | gentoo-25c13ec9aa6daad7f4a16f36de0264d2a4cd38aa.tar.gz gentoo-25c13ec9aa6daad7f4a16f36de0264d2a4cd38aa.tar.bz2 gentoo-25c13ec9aa6daad7f4a16f36de0264d2a4cd38aa.zip |
kde-frameworks/kconfig: Add fix for relativePath
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'kde-frameworks/kconfig')
-rw-r--r-- | kde-frameworks/kconfig/files/kconfig-5.33.0-relativePath.patch | 88 | ||||
-rw-r--r-- | kde-frameworks/kconfig/kconfig-5.33.0-r1.ebuild | 28 |
2 files changed, 116 insertions, 0 deletions
diff --git a/kde-frameworks/kconfig/files/kconfig-5.33.0-relativePath.patch b/kde-frameworks/kconfig/files/kconfig-5.33.0-relativePath.patch new file mode 100644 index 000000000000..80bffc15a29d --- /dev/null +++ b/kde-frameworks/kconfig/files/kconfig-5.33.0-relativePath.patch @@ -0,0 +1,88 @@ +commit 3ad00c4e56eb9fe6ea7386f8ca1db6e15c26ac11 +Author: Wolfgang Bauer <wbauer@tmo.at> +Date: Tue Apr 25 23:37:11 2017 +0200 + + Fix relativePath calculation in KDesktopFile::locateLocal() + + The "dir" and "path" variables were obviously swapped here by mistake. + This resulted in the relativePath always being empty, and made the + function return "~/.local/share/" (or "~/.config/") instead of the + correct path. + + BUG: 345100 + FIXED-IN: 5.34.0 + Differential Revision: https://phabricator.kde.org/D5502 + +diff --git a/autotests/kdesktopfiletest.cpp b/autotests/kdesktopfiletest.cpp +index 393a6a0..a046196 100644 +--- a/autotests/kdesktopfiletest.cpp ++++ b/autotests/kdesktopfiletest.cpp +@@ -255,3 +255,34 @@ void KDesktopFileTest::testTryExecWithAuthorizeAction() + QVERIFY(!desktopFile.tryExec()); + } + } ++ ++void KDesktopFileTest::testLocateLocal_data() ++{ ++ QString systemConfigLocation = QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation).last(); ++ QString writableConfigLocation = QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation); ++ QString systemDataLocation = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).last(); ++ QString writableDataLocation = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); ++ ++ QTest::addColumn<QString>("path"); ++ QTest::addColumn<QString>("result"); ++ ++ QTest::newRow("configLocation, system-wide") << systemConfigLocation + "/test.desktop" << writableConfigLocation + "/test.desktop"; ++ QTest::newRow("autostart, system-wide") << systemConfigLocation + "/autostart/test.desktop" << writableConfigLocation + "/autostart/test.desktop"; ++ QTest::newRow("dataLocation, system-wide") << systemDataLocation + "/test.desktop" << writableDataLocation + "/test.desktop"; ++ QTest::newRow("applications, system-wide") << systemDataLocation + "/applications/test.desktop" << writableDataLocation + "/applications/test.desktop"; ++ QTest::newRow("desktop-directories, system-wide") << systemDataLocation + "/desktop-directories/test.directory" << writableDataLocation + "/desktop-directories/test.directory"; ++ QTest::newRow("configLocation, writable") << writableConfigLocation + "/test.desktop" << writableConfigLocation + "/test.desktop"; ++ QTest::newRow("autostart, writable") << writableConfigLocation + "/autostart/test.desktop" << writableConfigLocation + "/autostart/test.desktop"; ++ QTest::newRow("dataLocation, writable") << writableDataLocation + "/test.desktop" << writableDataLocation + "/test.desktop"; ++ QTest::newRow("applications, writable") << writableDataLocation + "/applications/test.desktop" << writableDataLocation + "/applications/test.desktop"; ++ QTest::newRow("desktop-directories, writable") << writableDataLocation + "/desktop-directories/test.directory" << writableDataLocation + "/desktop-directories/test.directory"; ++ QTest::newRow("unknown location") << "/test.desktop" << writableDataLocation + "/test.desktop"; ++} ++ ++void KDesktopFileTest::testLocateLocal() ++{ ++ QFETCH(QString, path); ++ QFETCH(QString, result); ++ ++ QCOMPARE(KDesktopFile::locateLocal(path), result); ++} +diff --git a/autotests/kdesktopfiletest.h b/autotests/kdesktopfiletest.h +index eb0bd1d..ed6679a 100644 +--- a/autotests/kdesktopfiletest.h ++++ b/autotests/kdesktopfiletest.h +@@ -34,6 +34,8 @@ private Q_SLOTS: + void testActionGroup(); + void testIsAuthorizedDesktopFile(); + void testTryExecWithAuthorizeAction(); ++ void testLocateLocal_data(); ++ void testLocateLocal(); + + }; + +diff --git a/src/core/kdesktopfile.cpp b/src/core/kdesktopfile.cpp +index 4a55030..52a97ec 100644 +--- a/src/core/kdesktopfile.cpp ++++ b/src/core/kdesktopfile.cpp +@@ -83,14 +83,14 @@ QString KDesktopFile::locateLocal(const QString &path) + // Relative to config? (e.g. for autostart) + Q_FOREACH (const QString &dir, QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation)) { + if (path.startsWith(dir + plus)) { +- relativePath = dir.mid(path.length() + 1); ++ relativePath = path.mid(dir.length() + 1); + return QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + QLatin1Char('/') + relativePath; + } + } + // Relative to xdg data dir? (much more common) + Q_FOREACH (const QString &dir, QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation)) { + if (path.startsWith(dir + plus)) { +- relativePath = dir.mid(path.length() + 1); ++ relativePath = path.mid(dir.length() + 1); + } + } + if (relativePath.isEmpty()) { diff --git a/kde-frameworks/kconfig/kconfig-5.33.0-r1.ebuild b/kde-frameworks/kconfig/kconfig-5.33.0-r1.ebuild new file mode 100644 index 000000000000..14e605e5b1c2 --- /dev/null +++ b/kde-frameworks/kconfig/kconfig-5.33.0-r1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +VIRTUALX_REQUIRED="test" +inherit kde5 + +DESCRIPTION="Framework for reading and writing configuration" +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="nls" + +RDEPEND=" + $(add_qt_dep qtgui) + $(add_qt_dep qtxml) +" +DEPEND="${RDEPEND} + nls? ( $(add_qt_dep linguist-tools) ) + test? ( $(add_qt_dep qtconcurrent) ) +" + +# bug 560086 +RESTRICT+=" test" + +DOCS=( DESIGN docs/DESIGN.kconfig docs/options.md ) + +PATCHES=( "${FILESDIR}/${P}-relativePath.patch" ) |