summaryrefslogtreecommitdiff
path: root/recipes-navigation/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-navigation/gpsd')
-rw-r--r--recipes-navigation/gpsd/gpsd-3.16/0008-major_gnu.patch12
-rwxr-xr-xrecipes-navigation/gpsd/gpsd/gpsd2
-rwxr-xr-xrecipes-navigation/gpsd/gpsd/gpsd_settime.sh2
-rw-r--r--recipes-navigation/gpsd/gpsd_3.16.bb9
-rw-r--r--recipes-navigation/gpsd/gpsd_3.16.bb.old217
-rw-r--r--recipes-navigation/gpsd/gpsd_3.18.1.bb237
-rw-r--r--recipes-navigation/gpsd/libgps24_3.18.1.bb.old142
7 files changed, 617 insertions, 4 deletions
diff --git a/recipes-navigation/gpsd/gpsd-3.16/0008-major_gnu.patch b/recipes-navigation/gpsd/gpsd-3.16/0008-major_gnu.patch
new file mode 100644
index 0000000..8582712
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd-3.16/0008-major_gnu.patch
@@ -0,0 +1,12 @@
+diff -Naru orig/serial.c new/serial.c
+--- orig/serial.c 2019-07-26 18:01:44.178086824 -0500
++++ new/serial.c 2019-07-26 18:02:49.742084883 -0500
+@@ -64,7 +64,7 @@
+ * stable and architecture-independent. It is *not* a good model
+ * for other Unixes where either or both assumptions may break.
+ */
+- int devmajor = major(sb.st_rdev);
++ int devmajor = gnu_dev_major(sb.st_rdev);
+ /* 207 are Freescale i.MX UARTs (ttymxc*) */
+ if (devmajor == 4 || devmajor == 204 || devmajor == 207)
+ devtype = source_rs232;
diff --git a/recipes-navigation/gpsd/gpsd/gpsd b/recipes-navigation/gpsd/gpsd/gpsd
index 3f93442..b4068c9 100755
--- a/recipes-navigation/gpsd/gpsd/gpsd
+++ b/recipes-navigation/gpsd/gpsd/gpsd
@@ -93,7 +93,7 @@ do_stop()
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
- /usr/sbin/start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+ /usr/sbin/start-stop-daemon --stop --quiet --signal KILL --pidfile $PIDFILE --name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
diff --git a/recipes-navigation/gpsd/gpsd/gpsd_settime.sh b/recipes-navigation/gpsd/gpsd/gpsd_settime.sh
index 578013b..e8e8f26 100755
--- a/recipes-navigation/gpsd/gpsd/gpsd_settime.sh
+++ b/recipes-navigation/gpsd/gpsd/gpsd_settime.sh
@@ -63,7 +63,7 @@ fi
) &
# Get the ISO8601 time from GPSD
-ISO8601=$(gpspipe -w | grep -m1 '{"class":"TPV","device":"/dev/gps0","status":.*,"time":"' | sed -e 's/.*,"time":"//' -e 's/Z",.*//')
+ISO8601=$(gpspipe -w | egrep -m1 '\{"class":"TPV","device":"/dev/gps0"(,"status":[0-9])*,"mode":3,"time":"' | sed -e 's/.*,"time":"//' -e 's/Z",.*//')
if (( ${#ISO8601} > 18 )) ; then
LG -p user.warn "Updating time to time, ${ISO8601}."
diff --git a/recipes-navigation/gpsd/gpsd_3.16.bb b/recipes-navigation/gpsd/gpsd_3.16.bb
index 2111399..26a8963 100644
--- a/recipes-navigation/gpsd/gpsd_3.16.bb
+++ b/recipes-navigation/gpsd/gpsd_3.16.bb
@@ -4,7 +4,7 @@ LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
PROVIDES = "virtual/gpsd"
-PR="m13"
+PR="m14"
EXTRANATIVEPATH += "chrpath-native"
@@ -17,10 +17,13 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0006-ubxtimelps.patch \
file://0006-itu_r_tf_460_6.patch \
file://0006-sysclockcrash.patch \
+ file://0008-major_gnu.patch \
file://gpsd-default \
file://gpsd \
file://gpsd_ubx_fixed.sh \
file://gpsd_ubx_settime.sh \
+ file://gpsd_settime.sh \
+ file://gpsd_fixed.sh \
file://gpsd.rules \
file://gpsd.service \
"
@@ -122,6 +125,8 @@ do_install_append() {
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/gpsd_ubx_fixed.sh ${D}${sbindir}/gpsd_ubx_fixed
install -m 0755 ${WORKDIR}/gpsd_ubx_settime.sh ${D}${sbindir}/gpsd_ubx_settime
+ install -m 0755 ${WORKDIR}/gpsd_fixed.sh ${D}${sbindir}/gpsd_fixed
+ install -m 0755 ${WORKDIR}/gpsd_settime.sh ${D}${sbindir}/gpsd_settime
#support for udev
install -d ${D}/${sysconfdir}/udev/rules.d
@@ -168,7 +173,7 @@ PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gp
# FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
# ${includedir}/gps.h ${includedir}/libgpsmm.h ${includedir}/gps"
-FILES_${PN} += "${sbindir}/gpsd_ubx_fixed ${sbindir}/gpsd_ubx_settime"
+FILES_${PN} += "${sbindir}/gpsd_*"
FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
diff --git a/recipes-navigation/gpsd/gpsd_3.16.bb.old b/recipes-navigation/gpsd/gpsd_3.16.bb.old
new file mode 100644
index 0000000..1464981
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_3.16.bb.old
@@ -0,0 +1,217 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+PR="m12"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+# file://0002-SConstruct-remove-rpath.patch
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+ file://0001-include-sys-ttydefaults.h.patch \
+ file://0005-suppress-text-in-binary.patch \
+ file://0006-ubxtimelps.patch \
+ file://0006-itu_r_tf_460_6.patch \
+ file://0006-sysclockcrash.patch \
+ file://0008-major_gnu.patch \
+ file://gpsd-default \
+ file://gpsd \
+ file://gpsd_ubx_fixed.sh \
+ file://gpsd_ubx_settime.sh \
+ file://gpsd.rules \
+ file://gpsd.service \
+"
+# Fixed
+# file://0001-Check-for-__STDC_NO_ATOMICS__-before-using-stdatomic.patch
+# file://0002-Add-a-test-for-C11-and-check-we-have-C11-before-usin.patch
+# file://0003-Whoops-check-for-C11-not-for-not-C11-in-stdatomic.h-.patch
+# file://0001-Include-stdatomic.h-only-in-C-mode.patch
+# file://0001-libgpsd-core-Fix-issue-with-ACTIVATE-hook-not-being-.patch
+
+SRC_URI[md5sum] = "68691b5de4c94f82ec4062b042b5eb63"
+SRC_URI[sha256sum] = "03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029"
+
+
+inherit scons update-rc.d python-dir pythonnative systemd
+
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 10"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Necessary for python
+export BUILD_SYS
+export HOST_SYS
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='false',${BLUEZ}"
+PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='true' \
+ strip='false' \
+ chrpath='yes' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ ashtech='no' \
+ earthmate='no' \
+ evermore='no' \
+ fury='no' \
+ fv18='no' \
+ garmin='no' \
+ garmintxt='no' \
+ geostar='no' \
+ greis='no' \
+ itrax='no' \
+ mtk3301='no' \
+ navcom='no' \
+ nmea0183='yes' \
+ nmea2000='no' \
+ oncore='no' \
+ sirf='no' \
+ skytraq='yes' \
+ superstar2='no' \
+ tnt='no' \
+ tripmate='no' \
+ tsip='no' \
+ ublox='yes' \
+ ubloxtimels='yes' \
+ aivdm='no' \
+ gpsclock='no' \
+ oceanserver='no' \
+ fixed_stop_bits='1' \
+ pps='yes' \
+ gpsd_group='gps' \
+ ntpshm='yes' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for instalation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
+ bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/gpsd_ubx_fixed.sh ${D}${sbindir}/gpsd_ubx_fixed
+ install -m 0755 ${WORKDIR}/gpsd_ubx_settime.sh ${D}${sbindir}/gpsd_ubx_settime
+
+ #support for udev
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${WORKDIR}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+ #support for python
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+
+ # support for dev (development)
+ mkdir -p -m 0644 ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/revision.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsdclient.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd_config.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/compiler.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/ppsthread.h ${D}/${includedir}/gps
+}
+
+# Use libgps recipe for sysroot.
+do_populate_sysroot() {
+}
+
+RDEPENDS_${PN}-conf += "bash"
+
+pkg_postinst_${PN}-conf() {
+ update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
+}
+
+pkg_postrm_${PN}-conf() {
+ update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
+}
+
+PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gpspipe gps-utils"
+
+# File does not exist: ${libdir}/libQgpsmm.prl
+# FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+# ${includedir}/gps.h ${includedir}/libgpsmm.h ${includedir}/gps"
+
+FILES_${PN} += "${sbindir}/gpsd_ubx_fixed ${sbindir}/gpsd_ubx_settime"
+
+FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
+
+RDEPENDS_${PN} = "gpsd-gpsctl bash"
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-machine-conf"
+
+SUMMARY_${PN}-udev = "udev relevant files to use gpsd hotplugging"
+FILES_${PN}-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_${PN}-udev += "udev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_${PN}-conf = "gpsd configuration files and init scripts"
+FILES_${PN}-conf = "${sysconfdir}"
+CONFFILES_${PN}-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_${PN}-gpsctl = "Tool for tweaking GPS modes"
+FILES_${PN}-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gpspipe = "Tool to connectg to gpsd and retrieve sentences"
+FILES_gpspipe = "${bindir}/gpspipe"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+FILES_gps-utils = "${bindir}/*"
+RDEPENDS_gps-utils = "python-pygps"
+
+SUMMARY_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-pygps = " \
+ python-core \
+ python-io \
+ python-threading \
+ python-terminal \
+ python-curses \
+ gpsd \
+ python-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${PN}.socket"
diff --git a/recipes-navigation/gpsd/gpsd_3.18.1.bb b/recipes-navigation/gpsd/gpsd_3.18.1.bb
new file mode 100644
index 0000000..0b0a287
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_3.18.1.bb
@@ -0,0 +1,237 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+PR="m7"
+
+EXTRANATIVEPATH += "chrpath-native"
+
+# sysclockcrash is fixed for gpsd
+# suppress text in binary is fixed for gpsctl
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
+ ${SAVANNAH_GNU_MIRROR}/gpsd/gpsd-${PV}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+ file://0001-include-sys-ttydefaults.h.patch \
+ file://0006-ubxtimelps.patch \
+ file://0006-itu_r_tf_460_6.patch \
+ file://gpsd-default \
+ file://gpsd \
+ file://gpsd_ubx_fixed.sh \
+ file://gpsd_ubx_settime.sh \
+ file://gpsd_fixed.sh \
+ file://gpsd_settime.sh \
+ file://gpsd.rules \
+ file://gpsd.service \
+"
+SRC_URI[md5sum] = "3b11f26b295010666b1767b308f90bc5"
+SRC_URI[sha256sum] = "5cb1e6d880ec9a52c62492dd0e3d77451b7c7ad625895bd652f6354215aec23e"
+
+inherit scons update-rc.d python-dir pythonnative systemd
+
+INITSCRIPT_NAME = "gpsd"
+INITSCRIPT_PARAMS = "defaults 10"
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Necessary for python
+export BUILD_SYS
+export HOST_SYS
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='false',${BLUEZ}"
+PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+
+# Remove unneeded features. netfeed is needed by gpsmon
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='true' \
+ strip='false' \
+ chrpath='yes' \
+ systemd='${SYSTEMD_OESCONS}' \
+ libdir='${libdir}' \
+ ublox='yes' \
+ ubloxtimels='yes' \
+ pps='yes' \
+ gpsd_group='gps' \
+ ntpshm='yes' \
+ prefix='usr' \
+ control_socket='false' \
+ nofloats='yes' \
+ ashtech='false' \
+ earthmate='false' \
+ evermore='false' \
+ fury='false' \
+ fv18='false' \
+ garmin='false' \
+ garmintxt='false' \
+ geostar='false' \
+ greis='false' \
+ itrax='false' \
+ mtk3301='false' \
+ navcom='false' \
+ nmea0183='true' \
+ nmea2000='false' \
+ oncore='false' \
+ sirf='false' \
+ skytraq='false' \
+ superstar2='false' \
+ tnt='false' \
+ tripmate='false' \
+ tsip='false' \
+ ublox='true' \
+ aivdm='false' \
+ gpsclock='false' \
+ isync='false' \
+ ntrip='false' \
+ oceanserver='false' \
+ passthrough='false' \
+ rtcm104v2='false' \
+ rtcm104v3='false' \
+ bluez='false' \
+ ipv6='false' \
+ netfeed='true' \
+ usb='false' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ # prefix is used for RPATH and DESTDIR/prefix for instalation
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
+ bbfatal "scons install execution failed."
+}
+
+do_install_append() {
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/gpsd ${D}/${sysconfdir}/init.d/
+ install -d ${D}/${sysconfdir}/default
+ install -m 0644 ${WORKDIR}/gpsd-default ${D}/${sysconfdir}/default/gpsd.default
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/gpsd_ubx_fixed.sh ${D}${sbindir}/gpsd_ubx_fixed
+ install -m 0755 ${WORKDIR}/gpsd_ubx_settime.sh ${D}${sbindir}/gpsd_ubx_settime
+ install -m 0755 ${WORKDIR}/gpsd_fixed.sh ${D}${sbindir}/gpsd_fixed
+ install -m 0755 ${WORKDIR}/gpsd_settime.sh ${D}${sbindir}/gpsd_settime
+
+
+ #support for udev
+ install -d ${D}/${sysconfdir}/udev/rules.d
+ install -m 0644 ${S}/gpsd.rules ${D}/${sysconfdir}/udev/rules.d
+ install -d ${D}${base_libdir}/udev/
+ install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
+
+ #support for python
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+ install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
+
+ #support for systemd
+ install -d ${D}${systemd_unitdir}/system/
+ install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
+
+ # support for dev (development)
+ mkdir -p -m 0644 ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/os_compat.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/revision.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsdclient.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd_config.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/compiler.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/ppsthread.h ${D}/${includedir}/gps
+
+ # New ubxtool
+ install -m 0755 ${S}/ubxtool ${D}/${bindir}
+ install -m 0644 ${S}/ubxtool.1 ${D}/${mandir}/man1
+}
+
+RDEPENDS_${PN}-conf += "bash"
+
+pkg_postinst_${PN}-conf() {
+ update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
+}
+
+pkg_postrm_${PN}-conf() {
+ update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
+}
+
+PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gpspipe gps-utils"
+
+# File does not exist: ${libdir}/libQgpsmm.prl
+FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \
+ ${libdir}/libQgpsmm.prl \
+ ${includedir}/gps.h ${includedir}/libgpsmm.h ${includedir}/gps"
+
+FILES_${PN} += "${sbindir}/gpsd_*"
+
+FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
+
+RDEPENDS_${PN} = "gpsd-gpsctl bash"
+
+# gpsd-udev is for USB, which we are not using
+RRECOMMENDS_${PN} = "gpsd-conf gpsd-machine-conf"
+
+SUMMARY_${PN}-udev = "udev relevant files to use gpsd hotplugging"
+FILES_${PN}-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
+RDEPENDS_${PN}-udev += "eudev gpsd-conf"
+
+SUMMARY_libgpsd = "C service library used for communicating with gpsd"
+FILES_libgpsd = "${libdir}/libgpsd.so.*"
+
+SUMMARY_libgps = "C service library used for communicating with gpsd"
+FILES_libgps = "${libdir}/libgps.so.*"
+
+SUMMARY_${PN}-conf = "gpsd configuration files and init scripts"
+FILES_${PN}-conf = "${sysconfdir}"
+CONFFILES_${PN}-conf = "${sysconfdir}/default/gpsd.default"
+
+SUMMARY_${PN}-gpsctl = "Tool for tweaking GPS modes"
+FILES_${PN}-gpsctl = "${bindir}/gpsctl"
+
+SUMMARY_gpspipe = "Tool to connectg to gpsd and retrieve sentences"
+FILES_gpspipe = "${bindir}/gpspipe"
+
+SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
+FILES_gps-utils = "${bindir}/*"
+RDEPENDS_gps-utils = "python-pygps"
+
+SUMMARY_python-pygps = "Python bindings to gpsd"
+FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
+RDEPENDS_python-pygps = " \
+ python-core \
+ python-io \
+ python-threading \
+ python-terminal \
+ python-curses \
+ gpsd \
+ python-json"
+
+RPROVIDES_${PN} += "${PN}-systemd"
+RREPLACES_${PN} += "${PN}-systemd"
+RCONFLICTS_${PN} += "${PN}-systemd"
+SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service"
+
+
+ALTERNATIVE_${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/recipes-navigation/gpsd/libgps24_3.18.1.bb.old b/recipes-navigation/gpsd/libgps24_3.18.1.bb.old
new file mode 100644
index 0000000..8f1b811
--- /dev/null
+++ b/recipes-navigation/gpsd/libgps24_3.18.1.bb.old
@@ -0,0 +1,142 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
+DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "${PN} ${PN}-dbg ${PN}-dev"
+PR="m5"
+#BPN="gpsd"
+#BP="${BPN}-${PV}"
+
+EXTRANATIVEPATH += "chrpath-native"
+FILESEXTRAPATHS_prepend = "${THISDIR}/gpsd-${PV}:"
+# sysclockcrash is fixed for gpsd
+# suppress text in binary is fixed for gpsctl
+
+S = "${WORKDIR}/gpsd-${PV}"
+
+SRC_URI = "${SAVANNAH_GNU_MIRROR}/gpsd/gpsd-${PV}.tar.gz \
+ file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
+ file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
+ file://0001-include-sys-ttydefaults.h.patch \
+ file://0006-ubxtimelps.patch \
+ file://0006-itu_r_tf_460_6.patch \
+"
+SRC_URI[md5sum] = "3b11f26b295010666b1767b308f90bc5"
+SRC_URI[sha256sum] = "5cb1e6d880ec9a52c62492dd0e3d77451b7c7ad625895bd652f6354215aec23e"
+
+inherit scons python-dir pythonnative systemd
+
+SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
+
+export STAGING_INCDIR
+export STAGING_LIBDIR
+
+# Necessary for python
+export BUILD_SYS
+export HOST_SYS
+
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
+PACKAGECONFIG[bluez] = "bluez='false',${BLUEZ}"
+PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+EXTRA_OESCONS = " \
+ sysroot=${STAGING_DIR_TARGET} \
+ libQgpsmm='false' \
+ debug='true' \
+ strip='false' \
+ chrpath='yes' \
+ systemd='${SYSTEMD_OESCONS}' \
+ ashtech='no' \
+ earthmate='no' \
+ evermore='no' \
+ fury='no' \
+ fv18='no' \
+ garmin='no' \
+ garmintxt='no' \
+ geostar='no' \
+ greis='no' \
+ itrax='no' \
+ mtk3301='no' \
+ navcom='no' \
+ nmea0183='yes' \
+ nmea2000='no' \
+ oncore='no' \
+ sirf='no' \
+ skytraq='no' \
+ superstar2='no' \
+ tnt='no' \
+ tripmate='no' \
+ tsip='no' \
+ ublox='yes' \
+ ubloxtimels='yes' \
+ aivdm='no' \
+ gpsclock='no' \
+ oceanserver='no' \
+ libdir='${libdir}' \
+ fixed_stop_bits='1' \
+ pps='yes' \
+ gpsd_group='gps' \
+ ntpshm='yes' \
+ prefix='usr' \
+ ${PACKAGECONFIG_CONFARGS} \
+"
+# this cannot be used, because then chrpath is not found and only static lib is built
+# target=${HOST_SYS}
+
+do_compile_prepend() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+}
+do_install() {
+ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}"
+ export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config"
+ export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}"
+ export LINKFLAGS="${LDFLAGS}"
+
+ export DESTDIR="${D}"
+ install -d 755 ${D}${libdir}
+ install libgps.so.24.* ${D}${libdir}
+ cp -a libgps.so.24 ${D}${libdir}
+ (cd ${D}${libdir};ln -sf libgps.so.24.* libgps.so)
+
+ # support for dev (development)
+ mkdir -p -m 0644 ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/os_compat.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/revision.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsdclient.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gpsd_config.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/compiler.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/ppsthread.h ${D}/${includedir}/gps
+ install -m 0644 ${S}/gps.h ${D}/${includedir}
+ install -m 0644 ${S}/libgpsmm.h ${D}/${includedir}
+}
+
+
+FILES_${PN}-dev_append = " ${includedir}/gps.h ${includedir}/libgpsmm.h ${includedir}/gps ${libdir}/libgps.so"
+FILES_${PN}-dev_remove = "${includedir} ${FILES_SOLIBSDEV} \
+ ${libdir}/*.la ${libdir}/*.o ${libdir}/pkgconfig \
+ ${datadir}/pkgconfig ${datadir}/aclocal \
+ ${base_libdir}/*.o ${libdir}/${BPN}/*.la ${base_libdir}/*.la"
+
+SUMMARY_${PN}-dbg = "Debug the C service library used for communicating with gpsd"
+PACKAGES = "${PN} ${PN}-dbg ${PN}-dev"
+
+FILES_${PN}-dbg_replace = "${prefix}/src/* ${libdir}/.debug/*"
+
+SUMMARY_${PN} = "C service library used for communicating with gpsd"
+
+RDEPENDS_${PN} += "dbus-lib"
+
+FILES_${PN}_append = " ${libdir}/libgps.so.* "
+FILES_${PN}_remove = "${bindir}/* ${sbindir}/* ${libexecdir}/* \
+ ${libdir}/lib*${SOLIBS} ${sysconfdir} ${sharedstatedir} \
+ ${localstatedir} ${base_bindir}/* ${base_sbindir}/* \
+ ${base_libdir}/*${SOLIBS} ${base_prefix}/lib/udev \
+ ${prefix}/lib/udev ${base_libdir}/udev ${libdir}/udev \
+ ${datadir}/${BPN} ${libdir}/${BPN}/* ${datadir}/pixmaps \
+ ${datadir}/applications ${datadir}/idl ${datadir}/omf \
+ ${datadir}/sounds ${libdir}/bonobo/servers \
+"