Skip to content

Commit

Permalink
sysutils/tracker3: fix meson configuration on i386
Browse files Browse the repository at this point in the history
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
  • Loading branch information
DimitryAndric committed Jun 17, 2023
1 parent 82b9b61 commit 2cfe4f6
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions 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 (&timestamp, &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;
}

0 comments on commit 2cfe4f6

Please sign in to comment.