diff --git a/Make-PlainTextExtractor-match-text-plain-again.patch b/Make-PlainTextExtractor-match-text-plain-again.patch new file mode 100644 index 0000000..1713dd0 --- /dev/null +++ b/Make-PlainTextExtractor-match-text-plain-again.patch @@ -0,0 +1,123 @@ +From f9c8bb29b2cf5d46ff68c0261393084d1ff16ece Mon Sep 17 00:00:00 2001 +From: Igor Poboiko +Date: Fri, 17 Mar 2017 11:21:45 +0300 +Subject: Make PlainTextExtractor match "text/plain" again + +This fixes the regression introduced with commit +7c7e985a4678fef5f5d0dd8faa9b9cb42e3844b4. +Added autotest that could possibly detect such regression in the future. + +REVIEW: 130013 +--- + autotests/CMakeLists.txt | 14 +++++++++++ + autotests/extractorcollectiontest.cpp | 45 +++++++++++++++++++++++++++++++++++ + src/externalextractor.cpp | 2 -- + src/extractors/plaintextextractor.cpp | 2 +- + 4 files changed, 60 insertions(+), 3 deletions(-) + create mode 100644 autotests/extractorcollectiontest.cpp + +diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt +index 5ab742b..5d28bdf 100644 +--- a/autotests/CMakeLists.txt ++++ b/autotests/CMakeLists.txt +@@ -104,6 +104,20 @@ ecm_add_test(externalextractortest.cpp ../src/externalextractor.cpp + LINK_LIBRARIES Qt5::Test KF5::FileMetaData KF5::I18n + ) + ++# ++# Collection ++# ++set(extractorcollection_SRCS ++ extractorcollectiontest.cpp ++ ../src/extractorcollection.cpp ++ ../src/externalextractor.cpp ++) ++ ++ecm_add_test(${extractorcollection_SRCS} ++ TEST_NAME "extractorcollectiontest" ++ LINK_LIBRARIES Qt5::Test KF5::FileMetaData ++) ++ + ################ + # Writer tests # + ################ +diff --git a/autotests/extractorcollectiontest.cpp b/autotests/extractorcollectiontest.cpp +new file mode 100644 +index 0000000..dd5f396 +--- /dev/null ++++ b/autotests/extractorcollectiontest.cpp +@@ -0,0 +1,45 @@ ++/* ++ * This file is part of the KDE KFileMetaData project ++ * Copyright (C) 2014 Vishesh Handa ++ * 2017 Igor Poboiko ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General Public ++ * License along with this library; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ * ++ */ ++ ++#include ++#include ++#include ++ ++#include "extractorcollection.h" ++#include "extractors/plaintextextractor.h" ++ ++using namespace KFileMetaData; ++ ++class ExtractorCollectionTest : public QObject ++{ ++ Q_OBJECT ++private Q_SLOTS: ++ void testFetchExtractors() ++ { ++ ExtractorCollection collection; ++ QVERIFY(collection.fetchExtractors("unknown/mimetype").isEmpty()); ++ QVERIFY(!collection.fetchExtractors("text/plain").isEmpty()); ++ } ++}; ++ ++QTEST_MAIN(ExtractorCollectionTest) ++ ++#include "extractorcollectiontest.moc" +diff --git a/src/externalextractor.cpp b/src/externalextractor.cpp +index 05f0645..1927456 100644 +--- a/src/externalextractor.cpp ++++ b/src/externalextractor.cpp +@@ -30,8 +30,6 @@ + #include + #include + +-#include +- + #include "properties.h" + #include "propertyinfo.h" + #include "typeinfo.h" +diff --git a/src/extractors/plaintextextractor.cpp b/src/extractors/plaintextextractor.cpp +index 26e1247..e53d149 100644 +--- a/src/extractors/plaintextextractor.cpp ++++ b/src/extractors/plaintextextractor.cpp +@@ -43,7 +43,7 @@ PlainTextExtractor::PlainTextExtractor(QObject* parent) + + QStringList PlainTextExtractor::mimetypes() const + { +- return QStringList() << QStringLiteral("text/"); ++ return QStringList() << QStringLiteral("text/plain"); + } + + void PlainTextExtractor::extract(ExtractionResult* result) +-- +cgit v0.11.2 + diff --git a/kfilemetadata5.changes b/kfilemetadata5.changes index 8fd0ac5..96d4cbb 100644 --- a/kfilemetadata5.changes +++ b/kfilemetadata5.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Mar 20 14:52:29 UTC 2017 - wbauer@tmo.at + +- Add Make-PlainTextExtractor-match-text-plain-again.patch to fix + metadata extraction for text files which got broken in 5.32.0 + ------------------------------------------------------------------- Sun Mar 19 14:50:33 CET 2017 - lbeltrame@kde.org diff --git a/kfilemetadata5.spec b/kfilemetadata5.spec index 91e2c51..91d135b 100644 --- a/kfilemetadata5.spec +++ b/kfilemetadata5.spec @@ -30,6 +30,8 @@ Url: http://www.kde.org/ Source: http://download.kde.org/stable/frameworks/%{_tar_path}/kfilemetadata-%{version}.tar.xz Source1: baselibs.conf Patch0: ffmpeg-buildrequires.patch +# PATCH-FIX-UPSTREAM Make-PlainTextExtractor-match-text-plain-again.patch -- fixes metadata extraction for text files +Patch1: Make-PlainTextExtractor-match-text-plain-again.patch BuildRequires: extra-cmake-modules >= %{_tar_path} %if %{with ffmpeg} BuildRequires: pkgconfig(libavcodec) @@ -69,6 +71,7 @@ A library for extracting file metadata. Development files %prep %setup -q -n kfilemetadata-%{version} %patch0 -p1 +%patch1 -p1 %build %cmake_kf5 -d build -- -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir}