diff options
author | John Klug <john.klug@multitech.com> | 2021-11-17 12:17:08 -0600 |
---|---|---|
committer | Andrii Pientsov <andrii.pientsov@globallogic.com> | 2021-11-19 11:00:46 +0200 |
commit | 40587b0a6fb87fc8998d3bda40b065328fda5691 (patch) | |
tree | ea093132b2ee72e0e9d0514a126f1319272cd24a /recipes-navigation | |
parent | 196fbbe077968016ad5d4507d99b3ed4c9f82850 (diff) | |
download | meta-mlinux-40587b0a6fb87fc8998d3bda40b065328fda5691.tar.gz meta-mlinux-40587b0a6fb87fc8998d3bda40b065328fda5691.tar.bz2 meta-mlinux-40587b0a6fb87fc8998d3bda40b065328fda5691.zip |
Timebase patch to prevent gpsd having a 19.5 year error
Diffstat (limited to 'recipes-navigation')
-rw-r--r-- | recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch | 25 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.20.bb | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch b/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch new file mode 100644 index 0000000..a61d6b0 --- /dev/null +++ b/recipes-navigation/gpsd/gpsd-3.20/0008-timebase.patch @@ -0,0 +1,25 @@ +# +# gpsd 3.20 thinks that 2021 never happened, and we roll back the time 19 +# years. Need to allow for 2021. +# +=============================================================================== +diff --git a/timebase.c b/timebase.c +index 85cfd90..8e08b18 100644 +--- a/timebase.c ++++ b/timebase.c +@@ -385,6 +385,7 @@ timespec_t gpsd_gpstime_resolv(struct gps_device_t *session, + /* sanity check week number, GPS epoch, against leap seconds + * Does not work well with regressions because the leap_sconds + * could be from the receiver, or from BUILD_LEAPSECONDS. */ ++#ifdef YESTERDAY + if (0 < session->context->leap_seconds && + 19 > session->context->leap_seconds && + 2180 < week) { +@@ -395,6 +396,7 @@ timespec_t gpsd_gpstime_resolv(struct gps_device_t *session, + "GPS week confusion. Adjusted week %u for leap %d\n", + week, session->context->leap_seconds); + } ++#endif + + // gcc needs the (time_t)week to not overflow. clang got it right. + // if time_t is 32-bits, then still 2038 issues diff --git a/recipes-navigation/gpsd/gpsd_3.20.bb b/recipes-navigation/gpsd/gpsd_3.20.bb index eeaf0a3..9afe0fe 100644 --- a/recipes-navigation/gpsd/gpsd_3.20.bb +++ b/recipes-navigation/gpsd/gpsd_3.20.bb @@ -19,6 +19,7 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ file://0006-ubxtimelps.patch \ file://0006-itu_r_tf_460_6.patch \ file://0007-add-gll-vtg.patch \ + file://0008-timebase.patch \ file://gpsd-default \ file://gpsd \ file://gpsd_ubx_fixed.sh \ |