diff --git a/kde-cli-tools5.changes b/kde-cli-tools5.changes index e8ab49d..a59399b 100644 --- a/kde-cli-tools5.changes +++ b/kde-cli-tools5.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon May 30 19:15:56 UTC 2016 - wbauer@tmo.at + +- Add keditfiletype-create-directory-if-it-doesnt-exist.patch to + fix modifying filetypes on fresh user accounts (kde#356237) + ------------------------------------------------------------------- Sun May 15 16:50:12 UTC 2016 - hrvoje.senjan@gmail.com diff --git a/kde-cli-tools5.spec b/kde-cli-tools5.spec index 12fb570..fce0e2f 100644 --- a/kde-cli-tools5.spec +++ b/kde-cli-tools5.spec @@ -28,6 +28,8 @@ Source: kde-cli-tools-%{version}.tar.xz Source99: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE kdesu-add-some-i18n-love.patch -- boo#852256 Patch0: kdesu-add-some-i18n-love.patch +# PATCH-FIX-UPSTREAM keditfiletype-create-directory-if-it-doesnt-exist.patch kde#356237 -- fix modifying filetypes on fresh user accounts +Patch1: keditfiletype-create-directory-if-it-doesnt-exist.patch BuildRequires: extra-cmake-modules >= 1.3.0 BuildRequires: kf5-filesystem BuildRequires: xz @@ -64,6 +66,7 @@ Additional CLI tools for KDE applications and workspaces. %prep %setup -q -n kde-cli-tools-%{version} %patch0 -p1 +%patch1 -p1 %build %cmake_kf5 -d build -- -DCMAKE_INSTALL_LOCALEDIR=share/locale/kf5 diff --git a/keditfiletype-create-directory-if-it-doesnt-exist.patch b/keditfiletype-create-directory-if-it-doesnt-exist.patch new file mode 100644 index 0000000..842277c --- /dev/null +++ b/keditfiletype-create-directory-if-it-doesnt-exist.patch @@ -0,0 +1,39 @@ +From: Wolfgang Bauer +Date: Mon, 30 May 2016 13:49:31 +0000 +Subject: Create ~/.local/share/mime/packages/ if it doesn't exist +X-Git-Url: http://quickgit.kde.org/?p=kde-cli-tools.git&a=commitdiff&h=c2aa2a46d51793d26dc6e93e60b5933cb1193e56 +--- +Create ~/.local/share/mime/packages/ if it doesn't exist + +QStandardDirs::writableLocation() doesn't guarantee that the returned +directory actually exists. +So create it, otherwise saving the changes will fail if it isn't there. +BUG: 356237 +FIXED-IN: 5.6.5 +REVIEW: 128055 +--- + + +--- a/keditfiletype/mimetypewriter.cpp ++++ b/keditfiletype/mimetypewriter.cpp +@@ -21,6 +21,7 @@ + #include "mimetypewriter.h" + + #include ++#include + #include + #include + #include +@@ -146,7 +147,10 @@ + // and in ~/.local we don't really expect other packages to be installed anyway... + QString baseName = m_mimeType; + baseName.replace('/', '-'); +- return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/mime/") + "packages/" + baseName + ".xml" ; ++ QString packagesDirName = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + QLatin1String("/mime/") + "packages/"; ++ // create the directory, the saving will fail if it doesn't exist (bug#356237) ++ QDir(packagesDirName).mkpath(QStringLiteral(".")); ++ return packagesDirName + baseName + ".xml" ; + } + + static QString existingDefinitionFile(const QString& mimeType) +