From 739c438d9a973d6b0f8eced3f326af81213ba52b Mon Sep 17 00:00:00 2001 From: Markus Volk Date: Tue, 18 Mar 2025 09:34:28 +0100 Subject: [PATCH] localsearch: update 3.8.2 -> 3.9.0 NEW in 3.9.0 - 2025-03-16 ========================== Translations: ca Highlighted changes since 3.8.0: * Switched to libavformat for media extraction * Memory usage improvements * Improved recovery process after interruption - rework patches after directory refactor - drop deprecated options NEW in 3.9.rc - 2025-03-02 ========================== * Metadata extractor refactors * Fixed possible runtime warnings * Fixed possible indexer stall * Restructure project directories * Fix build with -Dwriteback=false NEW in 3.9.beta - 2025-02-04 ============================ * Ditch GStreamer for metadata extraction, and switch to FFmpeg/libav for many benefits in extraction speed, memory usage and sandbox friendliness. If this causes dependency/distribution issues, it is recommended to separate the following files to a standalone package: - $(datadir)/localsearch3/extract-rules/15-libav-guess.rule - $(datadir)/localsearch3/extract-rules/90-libav-audio-generic.rule - $(datadir)/localsearch3/extract-rules/90-libav-video-generic.rule - $(libdir)/localsearch-3.0/extract-modules/libextract-libav.so * Fix build issues with gcc 15.x * Updated README to new project name Translations: fr, sl, sr NEW in 3.9.alpha - 2025-01-11 ============================= * Fix for folder updates happening while the daemon is not running * Improve memory usage when dealing with very large folders * Improve recovery after process interruption * Code improvements * Avoid GStreamer memory payload in indexer process * Improved performance when deleting stale resources * Test improvements Signed-off-by: Markus Volk Signed-off-by: Khem Raj --- ...to-a-fixed-path-instead-of-a-host-pa.patch | 6 ++--- .../0001-fix-reproducibility.patch | 24 +++++++++---------- ...alsearch_3.8.2.bb => localsearch_3.9.0.bb} | 12 ++++------ 3 files changed, 19 insertions(+), 23 deletions(-) rename meta-gnome/recipes-gnome/tracker/{localsearch_3.8.2.bb => localsearch_3.9.0.bb} (83%) diff --git a/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch b/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch index 606a3e9aac..87589a0e64 100644 --- a/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch +++ b/meta-gnome/recipes-gnome/tracker/localsearch/0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch @@ -10,10 +10,10 @@ Signed-off-by: Lei Maohui .../tracker-miners-enum-types.c.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/src/libtracker-miners-common/tracker-miners-enum-types.c.template b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +diff --git a/src/common/tracker-miners-enum-types.c.template b/src/common/tracker-miners-enum-types.c.template index 4db7ef1..7c44c13 100644 ---- a/src/libtracker-miners-common/tracker-miners-enum-types.c.template -+++ b/src/libtracker-miners-common/tracker-miners-enum-types.c.template +--- a/src/common/tracker-miners-enum-types.c.template ++++ b/src/common/tracker-miners-enum-types.c.template @@ -7,7 +7,7 @@ /*** BEGIN file-production ***/ diff --git a/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch index 6c1d978135..1bab34e126 100644 --- a/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch +++ b/meta-gnome/recipes-gnome/tracker/localsearch/0001-fix-reproducibility.patch @@ -13,7 +13,7 @@ Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Markus Volk --- meson.build | 8 ++++---- - src/libtracker-miners-common/tracker-landlock.c | 4 ++-- + src/common/tracker-landlock.c | 4 ++-- src/miners/fs/meson.build | 4 ++-- src/tracker-extract/meson.build | 2 +- tests/tracker-miner-fs/meson.build | 2 +- @@ -52,10 +52,10 @@ index 7ae103c..cc61e84 100644 ] if get_option('tests_tap_protocol') -diff --git a/src/libtracker-miners-common/tracker-landlock.c b/src/libtracker-miners-common/tracker-landlock.c +diff --git a/src/common/tracker-landlock.c b/src/common/tracker-landlock.c index 0ad90d0..354f5d1 100644 ---- a/src/libtracker-miners-common/tracker-landlock.c -+++ b/src/libtracker-miners-common/tracker-landlock.c +--- a/src/common/tracker-landlock.c ++++ b/src/common/tracker-landlock.c @@ -283,7 +283,7 @@ tracker_landlock_init (const gchar * const *indexed_folders) LANDLOCK_ACCESS_FS_READ_DIR); } @@ -76,23 +76,23 @@ index 0ad90d0..354f5d1 100644 add_rule (landlock_fd, MINER_FS_CACHE_LOCATION, diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build index 1e16618..286580a 100644 ---- a/src/miners/fs/meson.build -+++ b/src/miners/fs/meson.build +--- a/src/indexer/meson.build ++++ b/src/indexer/meson.build @@ -68,8 +68,8 @@ executable('localsearch-@0@'.format(tracker_api_major), dependencies: tracker_miner_fs_deps, c_args: [ tracker_c_args, - '-DBUILDROOT="@0@"'.format(meson.global_build_root()), -- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'tracker-extract'), +- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'extractor'), + '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'), -+ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'tracker-extract'), ++ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'extractor'), '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')), ], install: true, diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build index 2584881..31411f2 100644 ---- a/src/tracker-extract/meson.build -+++ b/src/tracker-extract/meson.build +--- a/src/extractor/meson.build ++++ b/src/extractor/meson.build @@ -158,7 +158,7 @@ endif executable('localsearch-extractor-@0@'.format(tracker_api_major), tracker_extract_sources, @@ -104,8 +104,8 @@ index 2584881..31411f2 100644 install: true, diff --git a/tests/tracker-miner-fs/meson.build b/tests/tracker-miner-fs/meson.build index 8c081fd..9792082 100644 ---- a/tests/tracker-miner-fs/meson.build -+++ b/tests/tracker-miner-fs/meson.build +--- a/tests/indexer/meson.build ++++ b/tests/indexer/meson.build @@ -18,7 +18,7 @@ libtracker_miner_test_c_args = [ ] diff --git a/meta-gnome/recipes-gnome/tracker/localsearch_3.8.2.bb b/meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb similarity index 83% rename from meta-gnome/recipes-gnome/tracker/localsearch_3.8.2.bb rename to meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb index bcc5a30501..ffea1f76b3 100644 --- a/meta-gnome/recipes-gnome/tracker/localsearch_3.8.2.bb +++ b/meta-gnome/recipes-gnome/tracker/localsearch_3.9.0.bb @@ -18,7 +18,7 @@ SRC_URI:append = " \ file://0001-fix-reproducibility.patch \ file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ " -SRC_URI[archive.sha256sum] = "cda69195f6845357a8d91c023670efe92238f4d138a1ef7a1401f45a2a8403ce" +SRC_URI[archive.sha256sum] = "d42f408dc3fb28fe54f5a9abbf5f1decf5818db9c2e9ec51c09464bdfd0c14b9" # gobject-introspection is mandatory and cannot be configured REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" @@ -40,7 +40,6 @@ PACKAGECONFIG ??= " \ xml \ ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ battery \ - networkmanager \ " # Needs tgkill API which musl does not support # see https://www.openwall.com/lists/musl/2019/08/02/1 @@ -48,9 +47,9 @@ PACKAGECONFIG:remove:libc-musl = "seccomp" PACKAGECONFIG[battery] = "-Dbattery_detection=upower,-Dbattery_detection=none,upower" PACKAGECONFIG[cue] = "-Dcue=enabled,-Dcue=disabled,libcue" -PACKAGECONFIG[ffmpeg] = "-Dgeneric_media_extractor=libav,,ffmpeg" +PACKAGECONFIG[ffmpeg] = "-Dlibav=enabled,-Dlibav=disabled,ffmpeg" PACKAGECONFIG[gexiv2] = ",,gexiv2" -PACKAGECONFIG[gstreamer] = "-Dgeneric_media_extractor=gstreamer,,gstreamer1.0 gstreamer1.0-plugins-base" +PACKAGECONFIG[gstreamer] = ",,gstreamer1.0 gstreamer1.0-plugins-base" PACKAGECONFIG[gupnp] = "-Dgstreamer_backend=gupnp,,gupnp-dlna" PACKAGECONFIG[gif] = "-Dgif=enabled,-Dgif=disabled,giflib" PACKAGECONFIG[icu] = "-Dcharset_detection=icu,,icu" @@ -63,14 +62,11 @@ PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng" PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw" PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" -PACKAGECONFIG[networkmanager] = "-Dnetwork_manager=enabled,-Dnetwork_manager=disabled,networkmanager" PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled" # For security reasons it is strongly recommended to set add meta-security in -# your layers and 'libseccomp' to PACKAGECONFIG". +# your layers and 'libseccomp + landlock' to PACKAGECONFIG". PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" -# not yet in meta-gnome -PACKAGECONFIG[rss] = "-Dminer_rss=true,-Dminer_rss=false,libgrss" EXTRA_OEMESON += " \ -Dman=false \