summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2021-09-13 05:01:47 -0500
committerJohn Klug <john.klug@multitech.com>2021-12-29 07:04:43 -0600
commit8d4d84087ea8f985d1c97f9484ffaa43c4401f79 (patch)
treec33be1f04070c822218953ce11468f530fad2dd4
parent17a64f48ded3abdbb758dfd35fe0ce91599d2a64 (diff)
downloadmeta-mlinux-8d4d84087ea8f985d1c97f9484ffaa43c4401f79.tar.gz
meta-mlinux-8d4d84087ea8f985d1c97f9484ffaa43c4401f79.tar.bz2
meta-mlinux-8d4d84087ea8f985d1c97f9484ffaa43c4401f79.zip
Previous gpsd erroneously moved to python 3 so put it back to 2.7
-rw-r--r--recipes-navigation/gpsd/gpsd_3.20.bb24
-rw-r--r--recipes-navigation/gpsd/gpsd_3.20.bb.orig283
2 files changed, 305 insertions, 2 deletions
diff --git a/recipes-navigation/gpsd/gpsd_3.20.bb b/recipes-navigation/gpsd/gpsd_3.20.bb
index eeaf0a3..d63362a 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="m10"
+PR="m8a"
+
+#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"
@@ -50,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} \
@@ -147,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/
@@ -183,7 +191,7 @@ pkg_postrm_${PN}-conf() {
}
-PACKAGES =+ "libgps libgpsd gpsd-udev gpsd-conf gpsd-gpsctl gpspipe gps-utils python3-pygps-dbg python3-pygps"
+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
@@ -224,9 +232,12 @@ 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_python3-pygps = " \
python3-core \
@@ -237,6 +248,15 @@ RDEPENDS_python3-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"
diff --git a/recipes-navigation/gpsd/gpsd_3.20.bb.orig b/recipes-navigation/gpsd/gpsd_3.20.bb.orig
new file mode 100644
index 0000000..bf1c4a2
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd_3.20.bb.orig
@@ -0,0 +1,283 @@
+SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
+SECTION = "console/network"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
+DEPENDS = "dbus dbus-glib ncurses python3 libusb1 chrpath-replacement-native pps-tools"
+PROVIDES = "virtual/gpsd"
+<<<<<<< HEAD
+PR="m8"
+
+#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
+=======
+PR="m10"
+>>>>>>> 1bff7a2... .
+
+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://0001-Revert-SConstruct-Add-test-for-sizeof-time_t-result-.patch \
+ file://0002-SConstruct-fix.patch \
+ file://0006-ubxtimelps.patch \
+ file://0006-itu_r_tf_460_6.patch \
+ file://0007-add-gll-vtg.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] = "cf7fdec7ce7221d20bee1a7246362b05"
+SRC_URI[sha256sum] = "172a7805068eacb815a3c5225436fcb0be46e7e49a5001a94034eac43df85e50"
+
+inherit scons update-rc.d python3-dir python3native systemd
+
+INITSCRIPT_PACKAGES = "gpsd-conf"
+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"
+
+PYTHON2_SITEPACKAGES_DIR="${libdir}/python2.7/site-packages"
+
+# 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' \
+ python='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
+ 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/
+ 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
+ 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() {
+ 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 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}/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_${PN}-conf = "${sysconfdir}/default ${sysconfdir}/init.d"
+
+
+RDEPENDS_${PN}-conf = "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_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_python3-pygps = " \
+ python3-core \
+ python3-io \
+ python3-threading \
+ python3-terminal \
+ python3-curses \
+ 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"
+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/*"