From 2cfe4f64726fc29828d85528541007d68047bc22 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 17 Jun 2023 17:16:45 +0200 Subject: [PATCH] sysutils/tracker3: fix meson configuration on i386 Tracker's meson script has a check for "4-digit year modifier for strftime", but it semi-intentially uses a date which does not work on i386, due to its 32-bit time_t. Since we will never fix the Y2038 problem on i386, work around the bad test by using 1970-01-01 instead. PR: 272017 Reported by: jbeich MFH: 2023Q2 --- sysutils/tracker3/files/patch-meson.build | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 sysutils/tracker3/files/patch-meson.build diff --git a/sysutils/tracker3/files/patch-meson.build b/sysutils/tracker3/files/patch-meson.build new file mode 100644 index 0000000000000..e74a60d0e1b90 --- /dev/null +++ b/sysutils/tracker3/files/patch-meson.build @@ -0,0 +1,19 @@ +--- meson.build.orig 2023-05-31 21:18:27 UTC ++++ meson.build +@@ -210,14 +210,14 @@ result = cc.run(''' + + int main (int argc, char *argv[]) { + char *modifiers[] = { "%Y", "%C%y", "%4Y", "%2C%y", NULL }; +- time_t timestamp = -58979923200; /* 0101-01-01T01:01:01Z */ ++ time_t timestamp = 0; /* 1970-01-01T00:00:00Z */ + char *buf[100]; + struct tm tm; + int i; + gmtime_r (×tamp, &tm); + for (i = 0; modifiers[i]; i++) { + strftime (&buf, sizeof buf, modifiers[i], &tm); +- if (strcmp (&buf, "0101") == 0) { ++ if (strcmp (&buf, "1970") == 0) { + printf ("%s", modifiers[i]); + return 0; + }