* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/baloo/files/, kde-frameworks/baloo/
@ 2021-04-04 13:23 Andreas Sturmlechner
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Sturmlechner @ 2021-04-04 13:23 UTC (permalink / raw
To: gentoo-commits
commit: 1864f401c9efcea3a6a6fef344826f14718526e7
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 4 11:57:11 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 4 13:19:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1864f401
kde-frameworks/baloo: Fix baloo losing filename after rename
Upstream commit 24da759545088060b863fef13496a5b22a5534d6
See also: https://invent.kde.org/frameworks/baloo/-/merge_requests/44
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=433116
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
kde-frameworks/baloo/baloo-5.80.0-r1.ebuild | 39 ++++++++++++++++++++
...-5.80.0-update-filename-terms-moving-file.patch | 41 ++++++++++++++++++++++
2 files changed, 80 insertions(+)
diff --git a/kde-frameworks/baloo/baloo-5.80.0-r1.ebuild b/kde-frameworks/baloo/baloo-5.80.0-r1.ebuild
new file mode 100644
index 00000000000..a38d095d548
--- /dev/null
+++ b/kde-frameworks/baloo/baloo-5.80.0-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.2
+VIRTUALX_REQUIRED="test"
+inherit ecm kde.org
+
+DESCRIPTION="Framework for searching and managing metadata"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+RESTRICT+=" test" # bug 624250
+
+DEPEND="
+ >=dev-db/lmdb-0.9.17
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ =kde-frameworks/kconfig-${PVCUT}*:5
+ =kde-frameworks/kcoreaddons-${PVCUT}*:5
+ =kde-frameworks/kcrash-${PVCUT}*:5
+ =kde-frameworks/kdbusaddons-${PVCUT}*:5
+ =kde-frameworks/kfilemetadata-${PVCUT}*:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+ =kde-frameworks/kidletime-${PVCUT}*:5
+ =kde-frameworks/kio-${PVCUT}*:5
+ =kde-frameworks/solid-${PVCUT}*:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-update-filename-terms-moving-file.patch" # KDE-bug #433116
+)
diff --git a/kde-frameworks/baloo/files/baloo-5.80.0-update-filename-terms-moving-file.patch b/kde-frameworks/baloo/files/baloo-5.80.0-update-filename-terms-moving-file.patch
new file mode 100644
index 00000000000..a5ba6232d26
--- /dev/null
+++ b/kde-frameworks/baloo/files/baloo-5.80.0-update-filename-terms-moving-file.patch
@@ -0,0 +1,41 @@
+From f6a7845b8f3cd3188053ba58f9fe7053558aec86 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Sat, 27 Mar 2021 13:32:55 +0100
+Subject: [PATCH] [MetadataMover] Update filename terms when moving/renaming
+ file
+
+After the removal of BasicIndexingJob::index() (bd1041ea2826e295 "Make
+renames a DB only operation") the filename terms where left empty.
+
+BUG: 433116
+---
+ src/file/metadatamover.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/file/metadatamover.cpp b/src/file/metadatamover.cpp
+index 70ca9822..2bff5a2e 100644
+--- a/src/file/metadatamover.cpp
++++ b/src/file/metadatamover.cpp
+@@ -8,6 +8,7 @@
+
+ #include "metadatamover.h"
+ #include "database.h"
++#include "termgenerator.h"
+ #include "transaction.h"
+ #include "baloodebug.h"
+
+@@ -99,6 +100,11 @@ void MetadataMover::updateMetadata(Transaction* tr, const QString& from, const Q
+ }
+
+ Document doc;
++
++ const QByteArray fileName = toPath.mid(lastSlash + 1);
++ TermGenerator tg(doc);
++ tg.indexFileNameText(QFile::decodeName(fileName));
++
+ doc.setId(id);
+ doc.setParentId(parentId);
+ doc.setUrl(toPath);
+--
+GitLab
+
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/baloo/files/, kde-frameworks/baloo/
@ 2023-03-26 9:52 Andreas Sturmlechner
0 siblings, 0 replies; 2+ messages in thread
From: Andreas Sturmlechner @ 2023-03-26 9:52 UTC (permalink / raw
To: gentoo-commits
commit: 4ee291116bdea2eb537cac76f6aa3c1ca2e46ae0
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 26 09:22:53 2023 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 26 09:50:04 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ee29111
kde-frameworks/baloo: Skip all unprintable characters (5.105 backport)
See also: https://invent.kde.org/frameworks/baloo/-/merge_requests/87
Upstream commit 886aba423f3659ef591903f1f3dea87f8b4c6016
Bug: https://bugs.gentoo.org/899706
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
kde-frameworks/baloo/baloo-5.104.0-r1.ebuild | 37 ++++++++++++
.../baloo-5.104.0-skip-all-unprintable-chars.patch | 70 ++++++++++++++++++++++
2 files changed, 107 insertions(+)
diff --git a/kde-frameworks/baloo/baloo-5.104.0-r1.ebuild b/kde-frameworks/baloo/baloo-5.104.0-r1.ebuild
new file mode 100644
index 000000000000..ead3aed883ec
--- /dev/null
+++ b/kde-frameworks/baloo/baloo-5.104.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.5
+VIRTUALX_REQUIRED="test"
+inherit ecm frameworks.kde.org
+
+DESCRIPTION="Framework for searching and managing metadata"
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RESTRICT="test" # bug 624250
+
+DEPEND="
+ >=dev-db/lmdb-0.9.17
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ =kde-frameworks/kconfig-${PVCUT}*:5
+ =kde-frameworks/kcoreaddons-${PVCUT}*:5
+ =kde-frameworks/kcrash-${PVCUT}*:5
+ =kde-frameworks/kdbusaddons-${PVCUT}*:5
+ =kde-frameworks/kfilemetadata-${PVCUT}*:5
+ =kde-frameworks/ki18n-${PVCUT}*:5
+ =kde-frameworks/kidletime-${PVCUT}*:5
+ =kde-frameworks/kio-${PVCUT}*:5
+ =kde-frameworks/solid-${PVCUT}*:5
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-skip-all-unprintable-chars.patch" )
diff --git a/kde-frameworks/baloo/files/baloo-5.104.0-skip-all-unprintable-chars.patch b/kde-frameworks/baloo/files/baloo-5.104.0-skip-all-unprintable-chars.patch
new file mode 100644
index 000000000000..7e9eb0d74c42
--- /dev/null
+++ b/kde-frameworks/baloo/files/baloo-5.104.0-skip-all-unprintable-chars.patch
@@ -0,0 +1,70 @@
+From 886aba423f3659ef591903f1f3dea87f8b4c6016 Mon Sep 17 00:00:00 2001
+From: Igor Poboiko <igor.poboiko@gmail.com>
+Date: Mon, 20 Mar 2023 13:20:33 +0000
+Subject: [PATCH] [TermGenerator] Skip all unprintable characters
+
+Some extractors can produce text which includes special unicode
+control characters (e.g. Poppler can give us 0x0001 from some PDFs).
+TermGenerator then generates proper (yet meaningless) terms out of those
+characters, and they end up in database. It should be safe to skip all
+unprintable characters to avoid that (although surrogates are fine, they
+are dealt with later via QString::normalize call).
+
+Character 0x0001 is the worst, as it is used internally in DocTermsCodec
+for compactification. Such collision then leads to the corrupted database
+(some terms from DocTermsDB are not present in PostingDB).
+
+The corruption is not hypothetical (although not critical), I've encountered bunch of broken DB entries for some PDF files on my machine.
+
+
+(cherry picked from commit 492321e53a41762555ba6528e15cd0d0188ed153)
+---
+ autotests/unit/engine/termgeneratortest.cpp | 11 +++++++++++
+ src/engine/termgenerator.cpp | 2 +-
+ 2 files changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/autotests/unit/engine/termgeneratortest.cpp b/autotests/unit/engine/termgeneratortest.cpp
+index 361c4934c..69885c133 100644
+--- a/autotests/unit/engine/termgeneratortest.cpp
++++ b/autotests/unit/engine/termgeneratortest.cpp
+@@ -31,6 +31,7 @@ private Q_SLOTS:
+ void testWordPositions();
+ void testWordPositionsCJK();
+ void testNumbers();
++ void testControlCharacter();
+
+ QList<QByteArray> allWords(const QString& str)
+ {
+@@ -213,6 +214,16 @@ void TermGeneratorTest::testNumbers()
+ QCOMPARE(words, expectedWords);
+ }
+
++void TermGeneratorTest::testControlCharacter()
++{
++ QString str = QString::fromUtf8("word1\u0001word2");
++
++ QList<QByteArray> words = allWords(str);
++ QList<QByteArray> expectedWords = { "word1", "word2" };
++
++ QCOMPARE(words, expectedWords);
++}
++
+ QTEST_MAIN(TermGeneratorTest)
+
+ #include "termgeneratortest.moc"
+diff --git a/src/engine/termgenerator.cpp b/src/engine/termgenerator.cpp
+index d98b28416..832962da1 100644
+--- a/src/engine/termgenerator.cpp
++++ b/src/engine/termgenerator.cpp
+@@ -59,7 +59,7 @@ QByteArrayList TermGenerator::termList(const QString& text_)
+ int start = 0;
+
+ auto isSkipChar = [] (const QChar& c) {
+- return c.isPunct() || c.isMark() || c.isSpace();
++ return c.isPunct() || c.isMark() || c.isSpace() || (!c.isPrint() && !c.isSurrogate());
+ };
+
+ QByteArrayList list;
+--
+GitLab
+
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-03-26 9:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-04 13:23 [gentoo-commits] repo/gentoo:master commit in: kde-frameworks/baloo/files/, kde-frameworks/baloo/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2023-03-26 9:52 Andreas Sturmlechner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox