recoll: update to 1.37.2.

Changes in Recoll 1.37.0

    Display previews using the main HTML engine (webkit or webengine)
    instead of a QTextBrowser. This improves highlighting search
    terms while walking them with the Prev/Next buttons.

    New integration with the Jieba chinese text segmenter. This
    can optionally replace the n-gram token generator used by
    default for CJK text, and produces a smaller index and much
    better terms. See recoll-chinese.html for more details.

    New handler for the .zip.html files produced by the SingleFileZ
    browser extension.

    Powerpoint: also index the slide notes.

    GUI: Add a preference for setting the format of the dates
    displayed in the side filter.

    Add configuration option to not store term positions, yielding
    a much smaller index, but forbidding phrase/proximity searches.

Changes in Recoll 1.36

    It is now possible to run external/foreign indexers on a single
    index, with support for targeted purges (purges had been the
    reason why this was not really feasible previously). See this
    manual section for more detail. A sample indexer for indexing
    a Joplin notes database is distributed with the Recoll installation
    and described in the above chapter.

    The parameter names in the main configuration file are now
    independent of character case. This was falsely claimed for an
    earlier release, it should now be true.

    GUI: hopefully improve the font sizes consistency in the
    different windows and panels.

    Unix: installing the librecoll library in the standard $libdir
    location is now the default. Use the --disable-publiclib
    configure option if you want to install it to the recoll
    sub-directory instead.

    New index configuration parameter idxnoautopurge to disable
    the deleted files purge pass after updating index. This can be
    useful for configurations on which part of the data set is
    expected to be unavailable at times. Use the -P recollindex
    command line flag to force a purge (with all the data present).
    If the parameter is not set, you can also use the --nopurge
    recollindex command line flag to skip the purge.

    Windows: the distribution now also includes a 32 bits poppler
    binary for 32 bits systems.

    Windows: include poppler-data in the distribution for better
    processing of, e.g., Chinese texts.

    Windows: arrange for the result URL/Path translations to work
    independently of character case.

    NetBSD: small changes to support this system.
This commit is contained in:
wiz 2024-02-01 09:29:17 +00:00
parent 8cdce50e42
commit 634b092f36
6 changed files with 36 additions and 192 deletions

View File

@ -1,7 +1,6 @@
# $NetBSD: Makefile,v 1.7 2024/01/30 14:22:34 ryoon Exp $
# $NetBSD: Makefile,v 1.8 2024/02/01 09:29:17 wiz Exp $
DISTNAME= recoll-1.35.0
PKGREVISION= 5
DISTNAME= recoll-1.37.2
CATEGORIES= sysutils
MASTER_SITES= https://www.lesbonscomptes.com/recoll/

View File

@ -1,7 +1,30 @@
@comment $NetBSD: PLIST,v 1.1 2023/10/02 06:05:12 wiz Exp $
@comment $NetBSD: PLIST,v 1.2 2024/02/01 09:29:17 wiz Exp $
bin/recoll
bin/recollindex
bin/recollq
include/recoll/Filter.h
include/recoll/docseq.h
include/recoll/docseqdb.h
include/recoll/hldata.h
include/recoll/idxstatus.h
include/recoll/internfile.h
include/recoll/log.h
include/recoll/mimehandler.h
include/recoll/pathut.h
include/recoll/plaintorich.h
include/recoll/qresultstore.h
include/recoll/rclconfig.h
include/recoll/rcldb.h
include/recoll/rcldoc.h
include/recoll/rclinit.h
include/recoll/rclquery.h
include/recoll/rclutil.h
include/recoll/readfile.h
include/recoll/reslistpager.h
include/recoll/searchdata.h
include/recoll/smallut.h
include/recoll/wasatorcl.h
lib/librecoll.la
${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/PKG-INFO
${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/SOURCES.txt
${PYSITELIB}/Recoll-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/dependency_links.txt
@ -34,7 +57,6 @@ ${PYSITELIB}/recollchm/chm.pyc
${PYSITELIB}/recollchm/chmlib.py
${PYSITELIB}/recollchm/chmlib.pyc
${PYSITELIB}/recollchm/extra.so
lib/recoll/librecoll.la
man/man1/recoll.1
man/man1/recollindex.1
man/man1/recollq.1
@ -45,6 +67,7 @@ share/metainfo/recoll.appdata.xml
share/pixmaps/recoll.png
share/recoll/doc/docbook-xsl.css
share/recoll/doc/usermanual.html
share/recoll/examples/backends
share/recoll/examples/fields
share/recoll/examples/fragment-buttons.xml
share/recoll/examples/mimeconf
@ -61,7 +84,9 @@ share/recoll/examples/recollindex.desktop
share/recoll/examples/recollindex.service
share/recoll/examples/recollindex@.service
share/recoll/filters/abiword.xsl
share/recoll/filters/archivextract.py
share/recoll/filters/cmdtalk.py
share/recoll/filters/cnsplitter.py
share/recoll/filters/conftree.py
share/recoll/filters/fb2.xsl
share/recoll/filters/gnumeric.xsl
@ -102,6 +127,7 @@ share/recoll/filters/rclimg
share/recoll/filters/rclimg.py
share/recoll/filters/rclinfo.py
share/recoll/filters/rclipynb.py
share/recoll/filters/rcljoplin.py
share/recoll/filters/rclkar.py
share/recoll/filters/rclkwd
share/recoll/filters/rcllatinclass.py
@ -109,6 +135,7 @@ share/recoll/filters/rcllatinstops.zip
share/recoll/filters/rcllyx
share/recoll/filters/rclman
share/recoll/filters/rclmidi.py
share/recoll/filters/rclnamefilter.py
share/recoll/filters/rclocr.py
share/recoll/filters/rclocrabbyy.py
share/recoll/filters/rclocrcache.py
@ -124,6 +151,7 @@ share/recoll/filters/rclpython.py
share/recoll/filters/rclrar.py
share/recoll/filters/rclrtf.py
share/recoll/filters/rclscribus
share/recoll/filters/rclsfz.py
share/recoll/filters/rclshowinfo
share/recoll/filters/rcltar.py
share/recoll/filters/rcltex

View File

@ -1,8 +1,5 @@
$NetBSD: distinfo,v 1.2 2023/10/07 06:21:32 wiz Exp $
$NetBSD: distinfo,v 1.3 2024/02/01 09:29:17 wiz Exp $
BLAKE2s (recoll-1.35.0.tar.gz) = ea04fb056b3b0d8d3f0cc1d64932f842268d19d246952d9947bf2516fc2395ae
SHA512 (recoll-1.35.0.tar.gz) = 35dcbfb650251b00f2c7654dc7617bf24f7e480955121821c55e0d31c6ec4fa041f8f99e64afa12ad4ead725c366084d7d727dbdcee875b93bbc858a6229d236
Size (recoll-1.35.0.tar.gz) = 3121862 bytes
SHA1 (patch-python_recoll_recoll_rclconfig.py) = 99aac68fbcf36e8bdc653ab7211f2e744a49d770
SHA1 (patch-qtgui_recoll.pro.in) = e13244b57a7eebfb8978b9848a570d8a01a6f915
SHA1 (patch-utils_pxattr.cpp) = dd0b60ae48891b455c23190ed2d85d852b8a5700
BLAKE2s (recoll-1.37.2.tar.gz) = e84f0309537d9af17973d788fa0b198e8418fcd187cbbfdf38683077d8df0502
SHA512 (recoll-1.37.2.tar.gz) = 88e381ba657614701e95e6923a984f65e3ebdf8341899cf6aea8d62665334372fa0edcde5f7a672f4ebc07a8be52564e06bfca656e720d3bdc6bffef720ea3b1
Size (recoll-1.37.2.tar.gz) = 3134742 bytes

View File

@ -1,56 +0,0 @@
$NetBSD: patch-python_recoll_recoll_rclconfig.py,v 1.1 2023/10/07 06:21:32 wiz Exp $
From upstream.
--- python/recoll/recoll/rclconfig.py.orig 2023-06-20 11:38:17.000000000 +0000
+++ python/recoll/recoll/rclconfig.py 2023-10-06 21:32:49.383889924 +0000
@@ -46,42 +46,23 @@
self.confdir = os.path.expanduser("~/.recoll")
#print("Confdir: [%s]" % self.confdir, file=sys.stderr)
- # Also find datadir. This is trickier because this is set by
- # "configure" in the C code. We can only do our best. Have to
- # choose a preference order. Use RECOLL_DATADIR if the order is wrong
+ # Find datadir to get at the base configuration files. This could be a bit tricky because
+ # this is set by "configure" in the C code. Use RECOLL_DATADIR if the computed value is
+ # wrong.
self.datadir = None
if "RECOLL_DATADIR" in os.environ:
self.datadir = os.environ["RECOLL_DATADIR"]
else:
- if platsys == "Windows":
- dirs = (os.path.join(os.path.dirname(sys.argv[0]), "..", ".."),
- "C:/Program Files (X86)/Recoll/",
- "C:/Program Files/Recoll/",
- "C:/install/recoll/")
- for dir in dirs:
- if os.path.exists(os.path.join(dir, "Share")):
- self.datadir = os.path.join(dir, "Share")
- break
- elif platsys == "Darwin":
- # Actually, I'm not sure why we don't do this on all platforms
- self.datadir = os.path.join(os.path.dirname(sys.argv[0]), "..")
- #print("Mac datadir: [%s]" % self.datadir, file=sys.stderr)
- else:
- dirs = ("/opt/local", "/opt", "/usr", "/usr/local")
- for dir in dirs:
- dd = os.path.join(dir, "share/recoll")
- if os.path.exists(dd):
- self.datadir = dd
- if self.datadir is None:
- self.datadir = "/usr/share/recoll"
+ self.datadir = os.path.join(os.path.dirname(sys.argv[0]), "..")
+ recollconf = os.path.join(self.datadir, "examples", "recoll.conf")
f = None
try:
- f = open(os.path.join(self.datadir, "examples", "recoll.conf"), "r")
+ f = open(recollconf, "r")
except:
pass
if f is None:
raise(Exception(
- "Can't open default/system recoll.conf. " +
+ f"Can't open default/system config: {recollconf} " +
"Please set RECOLL_DATADIR in the environment to point " +
"to the installed recoll data files."))
else:

View File

@ -1,16 +0,0 @@
$NetBSD: patch-qtgui_recoll.pro.in,v 1.1 2023/10/02 06:05:12 wiz Exp $
ld: ../.libs/librecoll.a(mh_xslt.o): undefined reference to symbol 'xmlFreeDoc@@LIBXML2_2.4.30'
ld: /usr/pkg/lib/libxml2.so.2: error adding symbols: DSO missing from command line
--- qtgui/recoll.pro.in.orig 2023-05-12 08:19:26.000000000 +0000
+++ qtgui/recoll.pro.in
@@ -417,7 +417,7 @@ VPATH = @srcdir@
LIBS += -Wl,-rpath=@libdir@/recoll
LIBS += @XAPIAN_LIBS@ \
- @LIBICONV@ $(BDYNAMIC) @LIBQZEITGEIST@ -lz
+ @LIBICONV@ $(BDYNAMIC) @LIBQZEITGEIST@ -lz -lxml2 -lxslt
INCLUDEPATH += ../common @srcdir@/../common @srcdir@/../index \
@srcdir@/../internfile @srcdir@/../query @srcdir@/../unac \

View File

@ -1,108 +0,0 @@
$NetBSD: patch-utils_pxattr.cpp,v 1.1 2023/10/02 06:05:12 wiz Exp $
Fix build on NetBSD, from upstream.
--- utils/pxattr.cpp.orig 2023-05-12 08:19:26.000000000 +0000
+++ utils/pxattr.cpp
@@ -27,14 +27,6 @@
\brief Portable External Attributes API
*/
-// PXALINUX: platforms like kfreebsd which aren't linux but use the
-// same xattr interface
-#if defined(__linux__) || \
- (defined(__FreeBSD_kernel__)&&defined(__GLIBC__)&&!defined(__FreeBSD__)) || \
- defined(__CYGWIN__)
-#define PXALINUX
-#endif
-
// If the platform is not known yet, let this file be empty instead of
// breaking the compile, this will let the build work if the rest of
// the software is not actually calling us. If it does call us, this
@@ -44,6 +36,20 @@
// just let the methods return errors (like they would on a non-xattr
// fs on e.g. linux)
+
+// PXALINUX: platforms like kfreebsd which aren't linux but use the
+// same xattr interface
+#if defined(__linux__) || \
+ (defined(__FreeBSD_kernel__)&&defined(__GLIBC__)&&!defined(__FreeBSD__)) || \
+ defined(__CYGWIN__)
+#define PXALINUX
+#endif
+
+// FreeBSD and NetBSD use the same interface. Let's call this PXAFREEBSD
+#if defined(__FreeBSD__) || defined(__NetBSD__)
+#define PXAFREEBSD
+#endif // __FreeBSD__ or __NetBSD__
+
// Not exactly true for win32, but makes my life easier by avoiding ifdefs in recoll (the calls just
// fail, which is expected)
#if defined(__DragonFly__) || defined(__OpenBSD__) || defined(_WIN32)
@@ -55,7 +61,7 @@
#endif
-#if defined(__FreeBSD__) || defined(PXALINUX) || defined(__APPLE__) || defined(HAS_NO_XATTR)
+#if defined(PXAFREEBSD) || defined(PXALINUX) || defined(__APPLE__) || defined(HAS_NO_XATTR)
#ifndef TEST_PXATTR
@@ -64,7 +70,7 @@
#include <stdlib.h>
#include <stdio.h>
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
#include <sys/extattr.h>
#include <sys/uio.h>
#elif defined(PXALINUX)
@@ -112,7 +118,7 @@ get(int fd, const string& path, const st
ssize_t ret = -1;
AutoBuf buf;
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
if (fd < 0) {
if (flags & PXATTR_NOFOLLOW) {
ret = extattr_get_link(path.c_str(), EXTATTR_NAMESPACE_USER,
@@ -209,7 +215,7 @@ set(int fd, const string& path, const st
ssize_t ret = -1;
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
if (flags & (PXATTR_CREATE|PXATTR_REPLACE)) {
// Need to test existence
@@ -306,7 +312,7 @@ del(int fd, const string& path, const st
int ret = -1;
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
if (fd < 0) {
if (flags & PXATTR_NOFOLLOW) {
ret = extattr_delete_link(path.c_str(), EXTATTR_NAMESPACE_USER,
@@ -353,7 +359,7 @@ list(int fd, const string& path, vector<
ssize_t ret = -1;
AutoBuf buf;
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
if (fd < 0) {
if (flags & PXATTR_NOFOLLOW) {
ret = extattr_list_link(path.c_str(), EXTATTR_NAMESPACE_USER, 0, 0);
@@ -438,9 +444,9 @@ list(int fd, const string& path, vector<
char *bufstart = buf.buf;
- // All systems return a 0-separated string list except FreeBSD
+ // All systems return a 0-separated string list except FreeBSD/NetBSD
// which has length, value pairs, length is a byte.
-#if defined(__FreeBSD__)
+#if defined(PXAFREEBSD)
char *cp = buf.buf;
unsigned int len;
while (cp < buf.buf + ret + 1) {