diff mbox series

[meta-gnome,22/23] tracker: update 3.7.1 -> 3.8.0

Message ID 20240920150822.1131707-22-f_l_k@t-online.de
State Under Review
Headers show
Series [meta-gnome,01/23] xdg-desktop-portal-gnome: update 46.2 -> 47.1 | expand

Commit Message

Markus Volk Sept. 20, 2024, 3:08 p.m. UTC
- Dont inherit python3native. It seems to be unneeded
- Rename to tinysparql
- Drop dependencies for python3-pygobject-native and libarchive
- Disable tests by default
- Add PACKAGECONFIG for avahi
- Fix sed hack to keep buildpath out of enum-types.c
- Add patch that avoids to create compatibility links which would lead to package_qa error:
Exception: Exception: KeyError: 'getpwuid(): uid not found: 1000'
Path /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/tinysparql/3.8.0/sstate-build-package/package/usr/lib/libtracker-sparql-3.0.so is owned by uid 1000, gid 100, which doesn't match any user/group on target. This may be due to host contamination.
- Refresh fix-reproducibility.patch and additionally edit tracker-http.c to avoid another buildpath leakage
---
 .../0001-fix-reproducibility.patch            | 49 ++++++++++++++-----
 ...parql-meson.build-dont-create-compat.patch | 32 ++++++++++++
 .../{tracker_3.7.3.bb => tinysparql_3.8.0.bb} | 28 +++++------
 3 files changed, 83 insertions(+), 26 deletions(-)
 rename meta-gnome/recipes-gnome/tracker/{tracker => tinysparql}/0001-fix-reproducibility.patch (67%)
 create mode 100644 meta-gnome/recipes-gnome/tracker/tinysparql/0001-src-libtracker-sparql-meson.build-dont-create-compat.patch
 rename meta-gnome/recipes-gnome/tracker/{tracker_3.7.3.bb => tinysparql_3.8.0.bb} (68%)
diff mbox series

Patch

diff --git a/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tinysparql/0001-fix-reproducibility.patch
similarity index 67%
rename from meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
rename to meta-gnome/recipes-gnome/tracker/tinysparql/0001-fix-reproducibility.patch
index 4527f9efa..23da5bb97 100644
--- a/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
+++ b/meta-gnome/recipes-gnome/tracker/tinysparql/0001-fix-reproducibility.patch
@@ -1,4 +1,4 @@ 
-From ae34fb111e1f2498f37b21c0c32ace6c9928ad66 Mon Sep 17 00:00:00 2001
+From 1eec06fc1ef26e4954507001c1c2f981eab8d77d Mon Sep 17 00:00:00 2001
 From: Markus Volk <f_l_k@t-online.de>
 Date: Mon, 18 Sep 2023 02:47:55 +0200
 Subject: [PATCH] tracker: fix reproducibility issue
@@ -12,16 +12,18 @@  Upstream-Status: Inappropriate [oe-specific]
 
 Signed-off-by: Markus Volk <f_l_k@t-online.de>
 ---
- meson.build                       | 6 +++---
- src/libtracker-common/meson.build | 4 ++--
- src/libtracker-sparql/meson.build | 4 ++--
- 3 files changed, 7 insertions(+), 7 deletions(-)
+ meson.build                        | 6 +++---
+ src/libtracker-common/meson.build  | 4 ++--
+ src/libtracker-http/meson.build    | 8 ++++----
+ src/libtracker-http/tracker-http.c | 4 ++--
+ src/libtracker-sparql/meson.build  | 4 ++--
+ 5 files changed, 13 insertions(+), 13 deletions(-)
 
 diff --git a/meson.build b/meson.build
-index bc9f93a..6c86e5a 100644
+index 41c00fafc..6e7282cb7 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -357,7 +357,7 @@ have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD')
+@@ -333,7 +333,7 @@ have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD')
  conf.set('HAVE_RTLD_NOLOAD', have_rtld_noload)
  
  # Config that goes in some other generated files (.desktop, .service, etc)
@@ -30,7 +32,7 @@  index bc9f93a..6c86e5a 100644
  conf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
  
  configure_file(input: 'config.h.meson.in',
-@@ -396,8 +396,8 @@ subdir('docs')
+@@ -372,8 +372,8 @@ subdir('docs')
  subdir('utils')
  
  test_c_args = tracker_c_args + [
@@ -42,7 +44,7 @@  index bc9f93a..6c86e5a 100644
  
  tracker_uninstalled_cli_dir = join_paths(meson.current_build_dir(), 'src', 'tracker')
 diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build
-index 9355d1c..cdbc05f 100644
+index 72c2ae073..12218c870 100644
 --- a/src/libtracker-common/meson.build
 +++ b/src/libtracker-common/meson.build
 @@ -51,10 +51,10 @@ libtracker_common = static_library('tracker-common',
@@ -58,11 +60,31 @@  index 9355d1c..cdbc05f 100644
    ] + tracker_c_args,
    include_directories: [configinc, srcinc],
    gnu_symbol_visibility: 'hidden',
+diff --git a/src/libtracker-http/tracker-http.c b/src/libtracker-http/tracker-http.c
+index dd82e9928..3cc68b240 100644
+--- a/src/libtracker-http/tracker-http.c
++++ b/src/libtracker-http/tracker-http.c
+@@ -53,13 +53,13 @@ ensure_types (void)
+ 
+ 		current_dir = g_get_current_dir ();
+ 
+-		if (g_strcmp0 (current_dir, BUILDROOT) == 0) {
++		if (0) {
+ 			/* Detect in-build runtime of this code, this may happen
+ 			 * building introspection information or running tests.
+ 			 * We want the in-tree modules to be loaded then.
+ 			 */
+ 			module_path = g_strdup_printf (BUILD_LIBDIR "/%s", modules[i]);
+-		} else {
++		} else {
+ 			module_path = g_strdup_printf (PRIVATE_LIBDIR "/%s", modules[i]);
+ 		}
+ 
 diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
-index 4143eac..b73f1c9 100644
+index 5eccb92fc..161f6ea21 100644
 --- a/src/libtracker-sparql/meson.build
 +++ b/src/libtracker-sparql/meson.build
-@@ -98,10 +98,10 @@ libtracker_sparql_private = static_library('tracker-sparql-private',
+@@ -102,10 +102,10 @@ libtracker_sparql_private = static_library('tracker-sparql-private',
      c_args: [
  	'-include', 'libtracker-sparql/tracker-private.h',
          '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
@@ -74,4 +96,7 @@  index 4143eac..b73f1c9 100644
 +        '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'),
      ] + tracker_c_args,
  
-     dependencies: [libtracker_sparql_dependencies, gvdb_dep],
+     dependencies: [libtracker_sparql_dependencies],
+-- 
+2.46.0
+
diff --git a/meta-gnome/recipes-gnome/tracker/tinysparql/0001-src-libtracker-sparql-meson.build-dont-create-compat.patch b/meta-gnome/recipes-gnome/tracker/tinysparql/0001-src-libtracker-sparql-meson.build-dont-create-compat.patch
new file mode 100644
index 000000000..d6cc4f45d
--- /dev/null
+++ b/meta-gnome/recipes-gnome/tracker/tinysparql/0001-src-libtracker-sparql-meson.build-dont-create-compat.patch
@@ -0,0 +1,32 @@ 
+From 0dfdbeef174c18e846b98af816a9675c12a42845 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Fri, 20 Sep 2024 16:43:44 +0200
+Subject: [PATCH] src/libtracker-sparql/meson.build: dont create compatibility
+ symlinks
+
+Using the sh script will cause package_qa error:
+Exception: Exception: KeyError: 'getpwuid(): uid not found: 1000'
+Path /home/flk/poky/build-hypr/tmp/work/corei7-64-poky-linux/tinysparql/3.8.0/sstate-build-package/package/usr/lib/libtracker-sparql-3.0.so is owned by uid 1000, gid 100, which doesn't match any user/group on target. This may be due to host contamination.
+
+Upstream-Status: Inappropriate [oe-specific]
+
+Signed-off-by: Markus Volk <f_l_k@t-online.de>
+---
+ src/libtracker-sparql/meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
+index 5eccb92fc..6ed7c2b1f 100644
+--- a/src/libtracker-sparql/meson.build
++++ b/src/libtracker-sparql/meson.build
+@@ -247,6 +247,6 @@ endif
+ 
+ tracker_sparql_uninstalled_dir = meson.current_build_dir()
+ 
+-meson.add_install_script('symlink-libtracker-sparql.sh', get_option('libdir'), meson.current_build_dir())
++#meson.add_install_script('symlink-libtracker-sparql.sh', get_option('libdir'), meson.current_build_dir())
+ 
+ meson.override_dependency('tinysparql-3.0', tracker_sparql_dep)
+-- 
+2.46.0
+
diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.7.3.bb b/meta-gnome/recipes-gnome/tracker/tinysparql_3.8.0.bb
similarity index 68%
rename from meta-gnome/recipes-gnome/tracker/tracker_3.7.3.bb
rename to meta-gnome/recipes-gnome/tracker/tinysparql_3.8.0.bb
index 885f3515d..628384464 100644
--- a/meta-gnome/recipes-gnome/tracker/tracker_3.7.3.bb
+++ b/meta-gnome/recipes-gnome/tracker/tinysparql_3.8.0.bb
@@ -7,22 +7,20 @@  LIC_FILES_CHKSUM = " \
 
 DEPENDS = " \
     dbus-native \
-    python3-pygobject-native \
     glib-2.0 \
     sqlite3 \
-    libarchive \
     dbus \
     icu \
     json-glib \
-    libsoup-3.0 \
+    libsoup \
     libstemmer \
 "
 
-
-inherit gettext gnomebase gobject-introspection vala gtk-doc bash-completion python3native
+inherit gettext gnomebase gobject-introspection vala gtk-doc bash-completion
 
 SRC_URI += "file://0001-fix-reproducibility.patch"
-SRC_URI[archive.sha256sum] = "ab3d4a50937e04c5ed7846f6dbb999e2909819402f389ca592ee6b77dd28d1f9"
+SRC_URI += "file://0001-src-libtracker-sparql-meson.build-dont-create-compat.patch"
+SRC_URI[archive.sha256sum] = "c0fcda77520f531548b2395137dcd193ee9cde5e222d3c9d273f030d1762a504"
 
 # text search is not an option anymore and requires sqlite3 build with
 # PACKAGECONFIG[fts5] set (default)
@@ -39,21 +37,23 @@  EXTRA_OEMESON = " \
     -Dman=false \
     -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
     -Dsystemd_user_services_dir=${systemd_user_unitdir} \
-    -Dsoup=soup3 \
+    -Dtests=false \
     ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \
 "
 
-do_install:prepend() {
-    sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
-    sed -i -e 's|${B}/../${PN}-${PV}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
-}
-
 GIR_MESON_ENABLE_FLAG = 'enabled'
 GIR_MESON_DISABLE_FLAG = 'disabled'
 
+PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "zeroconf", "avahi", "", d)}"
+PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi,"
+
+do_install:prepend() {
+    sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
+    sed -i -e 's|${B}|${TARGET_DBGSRC_DIR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
+}
+
 FILES:${PN} += " \
     ${datadir}/dbus-1 \
-    ${datadir}/tracker3 \
-    ${libdir}/tracker-3.0 \
+    ${libdir}/tinysparql-3.0 \
     ${systemd_user_unitdir} \
 "