diff options
Diffstat (limited to 'recipes-navigation')
-rw-r--r-- | recipes-navigation/gpsd/gpsd-3.20/0006-itu_r_tf_460_6.patch | 12 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd-test_1.0.bb | 37 | ||||
-rwxr-xr-x | recipes-navigation/gpsd/gpsd/gpsd | 21 | ||||
-rwxr-xr-x[-rw-r--r--] | recipes-navigation/gpsd/gpsd/gpsd-default | 77 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.16.bb | 221 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.16.bb.old | 8 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.18.1.bb.old (renamed from recipes-navigation/gpsd/gpsd_3.18.1.bb) | 0 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.19.bb.old (renamed from recipes-navigation/gpsd/gpsd_3.19.bb) | 0 | ||||
-rw-r--r-- | recipes-navigation/gpsd/gpsd_3.20.bb | 54 | ||||
-rw-r--r-- | recipes-navigation/gpsd/libgps24_3.18.1.bb | 142 | ||||
-rw-r--r-- | recipes-navigation/gpsd/libgps25_3.20.bb.old (renamed from recipes-navigation/gpsd/libgps25_3.20.bb) | 0 | ||||
-rw-r--r-- | recipes-navigation/gpsd/test/README | 34 | ||||
-rw-r--r-- | recipes-navigation/gpsd/test/gpsd-test-1.0.tar.gz | bin | 0 -> 854 bytes |
13 files changed, 208 insertions, 398 deletions
diff --git a/recipes-navigation/gpsd/gpsd-3.20/0006-itu_r_tf_460_6.patch b/recipes-navigation/gpsd/gpsd-3.20/0006-itu_r_tf_460_6.patch index 8e8d814..f2c814e 100644 --- a/recipes-navigation/gpsd/gpsd-3.20/0006-itu_r_tf_460_6.patch +++ b/recipes-navigation/gpsd/gpsd-3.20/0006-itu_r_tf_460_6.patch @@ -1,9 +1,9 @@ -diff -Naur old/ntpshmwrite.c new/ntpshmwrite.c ---- old/ntpshmwrite.c 2017-01-23 10:00:05.497129473 -0600 -+++ new/ntpshmwrite.c 2017-01-23 09:47:58.881627772 -0600 -@@ -32,11 +32,18 @@ - * NTP expects leap pending for only 1 month prior to insertion - * Per http://bugs.ntp.org/1090 */ +diff -Naru old/ntpshmwrite.c new/ntpshmwrite.c +--- old/ntpshmwrite.c 2021-03-01 05:18:28.833952716 -0600 ++++ new/ntpshmwrite.c 2021-03-01 05:19:48.361954319 -0600 +@@ -40,11 +40,18 @@ + * in Jun/Dec but may be in March or September + */ (void)gmtime_r( &(td->real.tv_sec), &tm); +/* This code contradicts page 3 section 2.1 of ITU-R RV.460-6 that + * leap second may occur at the last second of a month, with diff --git a/recipes-navigation/gpsd/gpsd-test_1.0.bb b/recipes-navigation/gpsd/gpsd-test_1.0.bb new file mode 100644 index 0000000..7753bcc --- /dev/null +++ b/recipes-navigation/gpsd/gpsd-test_1.0.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "gpsd reboot testing" +SECTION = "base" +PRIORITY = "optional" +LICENSE = "GPLv2+" +PR = "r1" +inherit allarch +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +FILESEXTRAPATHS_prepend = "${THISDIR}/test:" +SRC_URI = " \ + file://gpsd-test-1.0.tar.gz \ + " + +FILES_${PN} = "*" + +RDEPENDS_${PN} = "bash" + +do_install() { + echo "Directory is ${D}" + cp -a * ${D} + cd ${D} + chown -R root:root * + chmod 755 ${prefix}/local/bin/* + chmod 755 ${sysconfdir}/rc5.d/* +} + +pkg_postinst_${PN}() { + if [ -z "$D" ] ; then + touch /var/config/reboot + fi +} + + +pkg_prerm_${PN}() { + if [ -z "$D" ] ; then + rm /var/config/reboot + fi +}
\ No newline at end of file diff --git a/recipes-navigation/gpsd/gpsd/gpsd b/recipes-navigation/gpsd/gpsd/gpsd index b4068c9..36ca387 100755 --- a/recipes-navigation/gpsd/gpsd/gpsd +++ b/recipes-navigation/gpsd/gpsd/gpsd @@ -36,8 +36,25 @@ CAPABILITY=/sys/devices/platform/mts-io/capability/gps # Exit if we have no GPS capability ( [[ -f $CAPABILITY ]] && (($(cat $CAPABILITY) == 1)) ) || exit 0 -# Exit if no gps found -([[ -n $GPS_LINE ]] && [[ -c $GPS_LINE ]]) || exit 0 +([[ -n $GPS_LINE ]]) || exit 0 + +((numtries = 10)) +if [[ $(cat /run/config/gpstype) == u-blox ]] ; then + while ((numtries > 0)) ; do + if [ -c $GPS_LINE ];then + logger -s -t 'gpsd info' -p daemon.info $GPS_LINE" found" + break + fi + sleep 1 + done + if ((numtries == 0));then + logger -s -t 'gpsd info' -p daemon.info $GPS_LINE" not found. gpsd will not start" + exit 0 + fi +else + # Exit if no gps found + ([[ -c $GPS_LINE ]]) || exit 0 +fi # Assemble the GPS devices # PPS device is needed so GPSD finds the PPS. diff --git a/recipes-navigation/gpsd/gpsd/gpsd-default b/recipes-navigation/gpsd/gpsd/gpsd-default index fa67fd1..f6995fc 100644..100755 --- a/recipes-navigation/gpsd/gpsd/gpsd-default +++ b/recipes-navigation/gpsd/gpsd/gpsd-default @@ -52,25 +52,66 @@ GPSFIX="3" # should not need to change the baud rate. # function SET_GPS_SPEED { -if [[ $(mts-io-sysfs show hw-version) =~ ^MTHS- ]] ; then - if gpsctl -t 'u-blox' -D 5 -x '\x06\x41\x00\x00\x03\x1F\x90\x47\x4F\xB1\xFF\xFF\xEA\xFF' $GPS_LINE ; then - logger -s -t 'gpsd info' -p daemon.info "GPS LNA set high" - else - logger -s -t 'gpsd info' -p daemon.alert "ERROR: GPS LNA not set" - fi -fi +((maxtries = 10)) if [[ $(cat /run/config/gpstype) == u-blox ]] ; then - # Set the baud rate. Works better with ntp at a higher baud rate. - if ! gpsctl -T 20 -t 'u-blox' -s $GPS_BAUD -b -f $GPS_LINE ; then - echo 'WARNING: Unable to set GPS serial port speed.' - else - # The next line is needed due to a bug in gpsctl. - # We will go back to the default baud rate if we don't do this step. - echo Expect a timeout error here. Need this error. - gpsctl -T 2 -f $GPS_LINE - stty -F $GPS_LINE $GPS_BAUD - fi -fi # End of U-Blox GPS type + while ((maxtries > 0)) ; do + ((maxtries--)) + if ((maxtries == 5)) ; then + # Not going well, so reset the GPS. + logger -s -t 'gpsd info' -p daemon.alert "u-blox is unresponsive, so reset it" + mts-io-sysfs store gnss-reset 0 + usleep 50 + mts-io-sysfs store gnss-reset 1 + # Reset terminal to defaults + stty -F "$GPS_LINE" '500:5:cbd:8a3b:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0' + sleep 5 + fi # Reset at maxtries == 5 + + # Set the baud rate to default speed if having issues + if ((maxtries < 8)) && ((maxtries % 2 == 1)) ; then + stty -F $GPS_LINE 9600 + fi + + # Set the baud rate. Works better with ntp at a higher baud rate. + gpsctlout=$(gpsctl -T 20 -t 'u-blox' -s $GPS_BAUD -b -f $GPS_LINE 2>&1) + result=$? + if [[ $gpsctlout =~ u-blox.*at[[:space:]]115200 ]] ; then + break + fi + + if ((result != 0)) ; then + echo $gpsctlout + echo 'WARNING: Unable to set GPS serial port speed.' + else + # The next line is needed due to a bug in gpsctl. + # We will go back to the default baud rate if we don't do this step. + gpsctlout=$(gpsctl -T 2 -f $GPS_LINE 2>&1) + if [[ $gpsctlout =~ u-blox.*at[[:space:]]115200 ]] ; then + break + fi + stty -F $GPS_LINE $GPS_BAUD + fi + speed=$(stty -F $GPS_LINE speed 2>&1) + if [[ $speed = 115200 ]] ; then + result=$(gpsctl -T 2 -f $GPS_LINE 2>&1) + if [[ $result =~ u-blox[[:space:]]at[[:space:]]115200[[:space:]] ]] ; then + break + fi # gpsctl has a good status + fi # gpsd serial port speed is correct + done # Loop until maxtries + + if ((maxtries == 0)) && [[ -n $result ]] ; then + logger -s -t 'gpsd info' -p daemon.alert "gpsctl -T 2 -f $GPS_LINE" + logger -s -t 'gpsd info' -p daemon.alert "$GPS_LINE: $(stty -F $GPS_LINE speed) baud" + logger -s -t 'gpsd info' -p daemon.alert "$result" + elif [[ $(mts-io-sysfs show hw-version) =~ ^MTHS- ]] ; then + if gpsctl -t 'u-blox' -D 5 -x '\x06\x41\x00\x00\x03\x1F\x90\x47\x4F\xB1\xFF\xFF\xEA\xFF' $GPS_LINE ; then + logger -s -t 'gpsd info' -p daemon.info "GPS LNA set high" + else + logger -s -t 'gpsd info' -p daemon.alert "ERROR: GPS LNA not set" + fi + fi # +fi # If U-Blox GPS type } diff --git a/recipes-navigation/gpsd/gpsd_3.16.bb b/recipes-navigation/gpsd/gpsd_3.16.bb deleted file mode 100644 index 26a8963..0000000 --- a/recipes-navigation/gpsd/gpsd_3.16.bb +++ /dev/null @@ -1,221 +0,0 @@ -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="m14" - -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_settime.sh \ - file://gpsd_fixed.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 - 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 ${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_*" - -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.16.bb.old b/recipes-navigation/gpsd/gpsd_3.16.bb.old index 1464981..26a8963 100644 --- a/recipes-navigation/gpsd/gpsd_3.16.bb.old +++ b/recipes-navigation/gpsd/gpsd_3.16.bb.old @@ -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="m12" +PR="m14" EXTRANATIVEPATH += "chrpath-native" @@ -22,6 +22,8 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ 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 \ " @@ -123,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 @@ -169,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.18.1.bb b/recipes-navigation/gpsd/gpsd_3.18.1.bb.old index 0b0a287..0b0a287 100644 --- a/recipes-navigation/gpsd/gpsd_3.18.1.bb +++ b/recipes-navigation/gpsd/gpsd_3.18.1.bb.old diff --git a/recipes-navigation/gpsd/gpsd_3.19.bb b/recipes-navigation/gpsd/gpsd_3.19.bb.old index da03106..da03106 100644 --- a/recipes-navigation/gpsd/gpsd_3.19.bb +++ b/recipes-navigation/gpsd/gpsd_3.19.bb.old diff --git a/recipes-navigation/gpsd/gpsd_3.20.bb b/recipes-navigation/gpsd/gpsd_3.20.bb index 2cf7b67..ba1b33e 100644 --- a/recipes-navigation/gpsd/gpsd_3.20.bb +++ b/recipes-navigation/gpsd/gpsd_3.20.bb @@ -4,7 +4,11 @@ LICENSE = "BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53" DEPENDS = "dbus dbus-glib ncurses python3 libusb1 chrpath-replacement-native pps-tools" PROVIDES = "virtual/gpsd" -PR="m1" +PR="m6" + +#TODO +#the recipe generates python2 pygps package for Atmel based devices and python3 pygps package for TI based devices. +#later when python2 will be removed the recipe should be returned to previous version EXTRANATIVEPATH += "chrpath-native" @@ -33,6 +37,7 @@ SRC_URI[sha256sum] = "172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43d inherit scons update-rc.d python3-dir python3native systemd +INITSCRIPT_PACKAGES = "gpsd-conf" INITSCRIPT_NAME = "gpsd" INITSCRIPT_PARAMS = "defaults 10" @@ -49,6 +54,8 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', PACKAGECONFIG[bluez] = "bluez='false',${BLUEZ}" PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free" +PYTHON2_SITEPACKAGES_DIR="${libdir}/python2.7/site-packages" + # Remove unneeded features. netfeed is needed by gpsmon EXTRA_OESCONS = " \ sysroot=${STAGING_DIR_TARGET} \ @@ -146,6 +153,8 @@ do_install_append() { #support for python install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps + install -d ${D}/${PYTHON2_SITEPACKAGES_DIR}/gps + install -m 755 ${S}/gps/*.py ${D}/${PYTHON2_SITEPACKAGES_DIR}/gps #support for systemd install -d ${D}${systemd_unitdir}/system/ @@ -165,8 +174,12 @@ do_install_append() { # New ubxtool install -m 0755 ${S}/ubxtool ${D}/${bindir} #install -m 0644 ${S}/ubxtool.1 ${D}/${mandir}/man1 + install -m 0644 ${S}/gps.h ${D}/${includedir} + install -m 0644 ${S}/timespec.h ${D}/${includedir} + install -m 0644 ${S}/libgpsmm.h ${D}/${includedir} } +RDEPENDS_${PN} += "bash" RDEPENDS_${PN}-conf += "bash" pkg_postinst_${PN}-conf() { @@ -177,21 +190,25 @@ pkg_postrm_${PN}-conf() { update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default } -PACKAGES =+ "libgps libgpsd python3-pygps-dbg python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gpspipe gps-utils" + +PACKAGES =+ "libgps libgpsd gpsd-udev gpsd-conf gpsd-gpsctl gpspipe gps-utils python-pygps-dbg python-pygps python3-pygps-dbg python3-pygps" +# PACKAGES =+ "${PN} ${PN}-dbg ${PN}-dev" # File does not exist: ${libdir}/libQgpsmm.prl -FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \ +FILES_${PN}-dev += "${libdir}/pkgconfig/libgpsd.pc ${libdir}/pkgconfig/libgps.pc \ ${libdir}/libQgpsmm.prl \ ${includedir}/gps.h ${includedir}/libgpsmm.h ${includedir}/gps" FILES_${PN} += "${sbindir}/gpsd_*" +FILES_${PN}-doc += "${docdir}" -FILES_python3-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug" +FILES_${PN}-conf = "${sysconfdir}/default ${sysconfdir}/init.d" -RDEPENDS_${PN} = "gpsd-gpsctl bash" + +RDEPENDS_${PN}-conf = "gpsd-gpsctl bash" # gpsd-udev is for USB, which we are not using -RRECOMMENDS_${PN} = "gpsd-conf gpsd-machine-conf" +# 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/*" @@ -215,11 +232,14 @@ FILES_gpspipe = "${bindir}/gpspipe" SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS" FILES_gps-utils = "${bindir}/*" +RDEPENDS_gps-utils_mtbsp-at91 = "python-pygps" RDEPENDS_gps-utils = "python3-pygps" +SUMMARY_python-pygps = "Python bindings to gpsd" SUMMARY_python3-pygps = "Python bindings to gpsd" +FILES_python-pygps = "${PYTHON2_SITEPACKAGES_DIR}/*" FILES_python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS_python-pygps = " \ +RDEPENDS_python3-pygps = " \ python3-core \ python3-io \ python3-threading \ @@ -228,6 +248,15 @@ RDEPENDS_python-pygps = " \ gpsd \ python3-json" +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" @@ -237,3 +266,14 @@ 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" + + +FILES_${PN}-dev_append = " ${includedir}/gps.h ${includedir}/timespec.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" + +FILES_${PN}-dbg_replace = "${prefix}/src/* ${libdir}/.debug/*" diff --git a/recipes-navigation/gpsd/libgps24_3.18.1.bb b/recipes-navigation/gpsd/libgps24_3.18.1.bb deleted file mode 100644 index 8f1b811..0000000 --- a/recipes-navigation/gpsd/libgps24_3.18.1.bb +++ /dev/null @@ -1,142 +0,0 @@ -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 \ -" diff --git a/recipes-navigation/gpsd/libgps25_3.20.bb b/recipes-navigation/gpsd/libgps25_3.20.bb.old index eb40643..eb40643 100644 --- a/recipes-navigation/gpsd/libgps25_3.20.bb +++ b/recipes-navigation/gpsd/libgps25_3.20.bb.old diff --git a/recipes-navigation/gpsd/test/README b/recipes-navigation/gpsd/test/README new file mode 100644 index 0000000..d3f3a60 --- /dev/null +++ b/recipes-navigation/gpsd/test/README @@ -0,0 +1,34 @@ +To run the test: +opkg install gpsd-test_1.0-*_all.ipk + +/etc/rc5.d/S99zzreboot + + +To shutoff the test: + +rm /var/config/reboot + + +To restart the test: + +touch /var/config/reboot + +/etc/rc5.d/S99zzreboot + + + +A log of successful tests is kept in: +/var/config/gpslog.txt. + +It contains the seconds since 1-1-1970, +baud rate, and the ntpq -p output for the +PPS. + +On failure, the test will stop rebooting. + +Failure is defined as: + +No fix (if we lost reception this could happen) + +Bad baud rate (not 115200) + diff --git a/recipes-navigation/gpsd/test/gpsd-test-1.0.tar.gz b/recipes-navigation/gpsd/test/gpsd-test-1.0.tar.gz Binary files differnew file mode 100644 index 0000000..a2eb195 --- /dev/null +++ b/recipes-navigation/gpsd/test/gpsd-test-1.0.tar.gz |