Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package tracker for openSUSE:Factory checked 
in at 2023-05-19 11:54:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tracker (Old)
 and      /work/SRC/openSUSE:Factory/.tracker.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "tracker"

Fri May 19 11:54:40 2023 rev:157 rq:1087723 version:3.5.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/tracker/tracker.changes  2023-04-27 
19:59:35.549452180 +0200
+++ /work/SRC/openSUSE:Factory/.tracker.new.1533/tracker.changes        
2023-05-19 11:54:40.802974251 +0200
@@ -1,0 +2,12 @@
+Sat May 13 11:23:38 UTC 2023 - Bjørn Lie <[email protected]>
+
+- Update to version 3.5.2:
+  + Fix several possible crashers.
+  + Fix bashisms in doc generation scripts.
+  + Fix ISO8601 date strings in cursors on Darwin.
+  + Plug leak.
+- Add 63ea8f1a.patch: Revert build: Detect appropriate strftime()
+  year modifier at build time. Revert upstream commit for now as it
+  breaks build for i586.
+
+-------------------------------------------------------------------

Old:
----
  tracker-3.5.1.tar.xz

New:
----
  63ea8f1a.patch
  tracker-3.5.2.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ tracker.spec ++++++
--- /var/tmp/diff_new_pack.MU81vh/_old  2023-05-19 11:54:41.278976975 +0200
+++ /var/tmp/diff_new_pack.MU81vh/_new  2023-05-19 11:54:41.282976998 +0200
@@ -21,13 +21,15 @@
 %define RPMTrackerAPI 3_0
 
 Name:           tracker
-Version:        3.5.1
+Version:        3.5.2
 Release:        0
 Summary:        Object database, tag/metadata database, search tool and indexer
 License:        GPL-2.0-or-later
 Group:          Productivity/Other
 URL:            https://wiki.gnome.org/Projects/Tracker
 Source0:        
https://download.gnome.org/sources/tracker/3.5/%{name}-%{version}.tar.xz
+# PATCH-FIX-OPENSUSE 63ea8f1a.patch -- Revert build: Detect appropriate 
strftime() year modifier at build time
+Patch0:         https://gitlab.gnome.org/GNOME/tracker/-/commit/63ea8f1a.patch
 
 BuildRequires:  asciidoc
 BuildRequires:  fdupes
@@ -134,7 +136,8 @@
 %lang_package
 
 %prep
-%autosetup -p1
+%autosetup -N
+%patch0 -R -p1
 
 %build
 %meson \

++++++ 63ea8f1a.patch ++++++
>From 63ea8f1a2a603c356ad770ae7567246e7520f298 Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <[email protected]>
Date: Tue, 2 May 2023 10:27:31 +0200
Subject: [PATCH] build: Detect appropriate strftime() year modifier at build
 time

Different libc implementations (or different platforms) have different
bugs. Even though %Y is documented as a 4-digit number, and %C as
year/100 in a [00-99] range, they both crap out with years under 1000,
using respectively 3 and 1 digits.

This would be typically task for a width modifier (e.g. %4Y, or %2C),
but that was conversely found to break NixOS on Darwin.

Since the existing libc bugs paint us to a corner, detect an
appropriate modifier at build time to get a 4-digit year to get true
ISO 8601 in our supported [0001-9999] year range.

Closes: https://gitlab.gnome.org/GNOME/tracker/-/issues/402
---
 config.h.meson.in                             |  3 ++
 meson.build                                   | 35 +++++++++++++++++++
 .../core/tracker-db-interface-sqlite.c        |  4 +--
 3 files changed, 40 insertions(+), 2 deletions(-)

diff --git a/config.h.meson.in b/config.h.meson.in
index df4b880b08..2faa1a5860 100644
--- a/config.h.meson.in
+++ b/config.h.meson.in
@@ -51,3 +51,6 @@
 
 /* Whether RTLD_NOLOAD is defined */
 #mesondefine HAVE_RTLD_NOLOAD
+
+/* Appropriate 4-digit year modifier for strftime() */
+#mesondefine STRFTIME_YEAR_MODIFIER
diff --git a/meson.build b/meson.build
index 3c147c8f36..6a7f8e1336 100644
--- a/meson.build
+++ b/meson.build
@@ -198,6 +198,39 @@ else
   endif
 endif
 
+##################################################################
+# Get an appropriate 4-digit year modifier for strftime
+##################################################################
+result = cc.run('''
+  #include <stdio.h>
+  #include <string.h>
+  #include <time.h>
+
+  int main (int argc, char *argv[]) {
+    char *modifiers[] = { "%Y", "%C%y", "%4Y", "%2C%y", NULL };
+    time_t timestamp = -58979923200; /* 0101-01-01T01:01:01Z */
+    char *buf[100];
+    struct tm tm;
+    int i;
+    gmtime_r (&timestamp, &tm);
+    for (i = 0; modifiers[i]; i++) {
+      strftime (&buf, sizeof buf, modifiers[i], &tm);
+      if (strcmp (&buf, "0101") == 0) {
+        printf ("%s", modifiers[i]);
+       return 0;
+      }
+    }
+    return -1;
+  }
+  ''',
+  name: 'strftime 4-digit year modifier')
+
+if not result.compiled() or result.returncode() != 0
+  error('Libc implementation has broken 4-digit years implementation.')
+else
+  year_modifier = result.stdout()
+endif
+
 ##################################################################
 # Check for libtracker-data and libtracker-fts: Unicode support
 #
@@ -306,6 +339,7 @@ conf.set('TRACKER_MINOR_VERSION', tracker_minor_version)
 conf.set('TRACKER_MICRO_VERSION', tracker_micro_version)
 conf.set('TRACKER_INTERFACE_AGE', 0)
 conf.set('TRACKER_BINARY_AGE', 100 * tracker_minor_version + 
tracker_micro_version)
+conf.set('STRFTIME_YEAR_MODIFIER', '"@0@"'.format(year_modifier))
 
 # Check for RTLD_NOLOAD
 have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD')
@@ -399,6 +433,7 @@ summary = [
   '    Debug:                                  ' + 
get_option('debug').to_string(),
   '    Optimization:                           ' + get_option('optimization'),
   '    Compiler:                               ' + cc.get_id(),
+  '    4-digit strftime() year modifier:       ' + year_modifier,
   '\nFeature Support:',
   '    Unicode support library:                ' + unicode_library_name,
   '    Build with Stemming support:            ' + have_libstemmer.to_string(),
diff --git a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c 
b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
index 2aa493ca9c..25e2c519fd 100644
--- a/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
+++ b/src/libtracker-sparql/core/tracker-db-interface-sqlite.c
@@ -1624,9 +1624,9 @@ function_sparql_print_value (sqlite3_context *context,
                                result_context_function_error (context, fn, 
"Invalid unix timestamp");
 
                        if (prop_type == TRACKER_PROPERTY_TYPE_DATETIME)
-                               retval = strftime ((gchar *) &buf, sizeof 
(buf), "%2C%y-%m-%dT%TZ", &tm);
+                               retval = strftime ((gchar *) &buf, sizeof 
(buf), STRFTIME_YEAR_MODIFIER "-%m-%dT%TZ", &tm);
                        else if (prop_type == TRACKER_PROPERTY_TYPE_DATE)
-                               retval = strftime ((gchar *) &buf, sizeof 
(buf), "%2C%y-%m-%d", &tm);
+                               retval = strftime ((gchar *) &buf, sizeof 
(buf), STRFTIME_YEAR_MODIFIER "-%m-%d", &tm);
                        else
                                g_assert_not_reached ();
 
-- 
GitLab


++++++ tracker-3.5.1.tar.xz -> tracker-3.5.2.tar.xz ++++++
++++ 2919 lines of diff (skipped)

Reply via email to