diff options
Diffstat (limited to 'meta-oe/recipes-navigation/gpsd')
7 files changed, 320 insertions, 301 deletions
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch deleted file mode 100644 index 2ea3226a48..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Tue, 24 Apr 2012 18:45:14 +0200 -Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot - from python_lib_dir - -* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix - and with PYTHONPATH from OE it's pointing to native python dir - - $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/ - $ python - Python 2.7.2 (default, Apr 18 2012, 09:19:59) - [GCC 4.6.2] on linux2 - Type "help", "copyright", "credits" or "license" for more information. - >>> from distutils import sysconfig - >>> sysconfig.get_config_vars('INCLUDEPY') - ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] - >>> - $ unset PYTHONPATH - $ python - Python 2.7.2 (default, Apr 18 2012, 09:19:59) - [GCC 4.6.2] on linux2 - Type "help", "copyright", "credits" or "license" for more information. - >>> from distutils import sysconfig - >>> sysconfig.get_config_vars('INCLUDEPY') - ['/python2.7'] - >>> import sysconfig - >>> sysconfig.get_config_vars('INCLUDEPY') - ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] -* python_lib_dir = python_lib_dir.replace(env['sysroot'], '') - returns path to target sysroot - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -Signed-off-by: Peter A. Bigot <pab@pabigot.com> ---- - SConstruct | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/SConstruct b/SConstruct -index 6c93311..cde8b3d 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -1148,6 +1148,12 @@ else: - basecflags += ' -coverage' - ldflags += ' -coverage' - ldshared += ' -coverage' -+ -+ if env['sysroot']: -+ print "Prefixing includepy '%s' with sysroot prefix" % includepy -+ includepy = os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], includepy)) -+ print "'%s'" % includepy -+ - # in case CC/CXX was set to the scan-build wrapper, - # ensure that we build the python modules with scan-build, too - if env['CC'] is None or env['CC'].find('scan-build') < 0: -@@ -1408,11 +1414,14 @@ if not env['python']: - python_install = [] - else: - python_lib_dir = env['python_libdir'] -+ python_lib_dir = python_lib_dir.replace(env['sysroot'], '') - python_module_dir = python_lib_dir + os.sep + 'gps' - python_extensions_install = python_env.Install( DESTDIR + python_module_dir, - python_built_extensions) - if not env['debug'] and not env['profiling'] and not env['nostrip'] and not sys.platform.startswith('darwin'): - python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET') -+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \ -+ % (python_lib_dir, )) - - python_modules_install = python_env.Install( DESTDIR + python_module_dir, - python_modules) --- -2.1.0 - diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch deleted file mode 100644 index f496b5e7d1..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0001-include-sys-ttydefaults.h.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 17 Aug 2016 02:16:12 +0000 -Subject: [PATCH] include sys/ttydefaults.h - -This is needed for CTRL definition, as exposed by musl on glibc -this include file gets pulled indirectly. - -/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL' -clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation) -scons: *** [gpsmon] Error 1 - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Foreward port to gpsd 3.16 -Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> ---- - gpsmon.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gpsmon.c b/gpsmon.c -index ead84d0..f205cb1 100644 ---- a/gpsmon.c -+++ b/gpsmon.c -@@ -20,6 +20,7 @@ - #include <sys/types.h> - #include <sys/stat.h> - #include <sys/select.h> -+#include <sys/ttydefaults.h> - #include <fcntl.h> - #include <unistd.h> - --- -2.12.0 - diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch deleted file mode 100644 index 8527f0db39..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.16/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Sun, 29 Apr 2012 00:05:59 +0200 -Subject: [PATCH 4/4] SConstruct: disable html and man docs building because - xmlto-native from OE is broken - -It will try to load dtd and fail: -| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1 -| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3) -| xmlto: Fix document syntax or use --skip-validation option -| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd -| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" -| "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> -| ^ -| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd -| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" -| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" -| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate -| mv: cannot stat `gpsctl.1': No such file or directory -| scons: *** [gpsctl.1] Error 1 -| scons: building terminated because of errors. - -Upstream-Status: Inappropriate [disable feature] - -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -Signed-off-by: Peter A. Bigot <pab@pabigot.com> ---- - SConstruct | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/SConstruct b/SConstruct -index 0e518e7..c01a71b 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - - manbuilder = mangenerator = htmlbuilder = None - if env['manbuild']: -- if config.CheckXsltproc(): -+ if False and config.CheckXsltproc(): - mangenerator = 'xsltproc' - build = "xsltproc --nonet %s $SOURCE >$TARGET" - htmlbuilder = build % docbook_html_uri - manbuilder = build % docbook_man_uri -- elif WhereIs("xmlto"): -+ elif False and WhereIs("xmlto"): - mangenerator = 'xmlto' - xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`" - htmlbuilder = xmlto % "html-nochunks" --- -1.8.5.5 - diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb b/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb index d2058ba570..4ced1c98db 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bb @@ -1,7 +1,8 @@ SUMMARY = "Machine specific gpsd config" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9" # empty by default # BSP layers can add stuff like meta-openmoko example: # +ALLOW_EMPTY:${PN} = "1" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.init b/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.init new file mode 100644 index 0000000000..c9db0bb5c2 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd/gpsd.init @@ -0,0 +1,158 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: gpsd +# Required-Start: $remote_fs $syslog $network +# Should-Start: bluetooth dbus udev +# Required-Stop: $remote_fs $syslog $network +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# X-Start-Before: ntp +# Short-Description: GPS (Global Positioning System) daemon start/stop script +# Description: Start/Stop script for the gpsd service daemon, +# which is able to monitor one or more GPS devices +# connected to a host computer, making all data on +# the location and movements of the sensors available +# to be queried on TCP port 2947. +### END INIT INFO + + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin + +DESC="GPS (Global Positioning System) daemon" +NAME="gpsd" +DAEMON=/usr/sbin/$NAME +PIDFILE=/var/run/$NAME.pid + +. /etc/init.d/functions || exit 1 + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +if [ -z "$GPSD_SOCKET" ] && [ -z "$DEVICES" ]; then + GPSD_SOCKET=/var/run/gpsd.sock +fi + +if [ -n "$GPSD_SOCKET" ]; then + GPSD_OPTIONS="$GPSD_OPTIONS -F $GPSD_SOCKET" +fi + +DAEMON_ARGS="$GPSD_OPTIONS $DEVICES" + +# +# Function that starts the daemon/service +# +do_start() { + local status pid + + status=0 + pid=`pidofproc $NAME` || status=$? + case $status in + 0) + echo "$DESC already running ($pid)." + exit 1 + ;; + *) + echo "Starting $DESC ..." + exec $DAEMON $DAEMON_ARGS >/dev/null 2>&1 || status=$? + echo "ERROR: Failed to start $DESC." + exit $status + ;; + esac +} + +# +# Function that stops the daemon/service +# +do_stop() { + local pid status + + status=0 + pid=`pidofproc $NAME` || status=$? + case $status in + 0) + # Exit when fail to stop, the kill would complain when fail + kill -s 15 $pid >/dev/null && rm -f $PIDFILE && \ + echo "Stopped $DESC ($pid)." || exit $? + ;; + *) + echo "$DESC is not running; none killed." >&2 + ;; + esac + + return $status +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + local pid status + + status=0 + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + pid=`pidofproc $NAME` || status=$? + case $status in + 0) + echo "Reloading $DESC ..." + kill -s 1 $pid || exit $? + ;; + *) + echo "$DESC is not running; none reloaded." >&2 + ;; + esac + exit $status +} + + +# +# Function that shows the daemon/service status +# +status_of_proc () { + local pid status + + status=0 + # pidof output null when no program is running, so no "2>/dev/null". + pid=`pidofproc $NAME` || status=$? + case $status in + 0) + echo "$DESC is running ($pid)." + exit 0 + ;; + *) + echo "$DESC is not running." >&2 + exit $status + ;; + esac +} + +case "$1" in +start) + do_start + ;; +stop) + do_stop || exit $? + ;; +status) + status_of_proc + ;; +restart) + # Always start the service regardless the status of do_stop + do_stop + do_start + ;; +force-reload) + # Only start the service when do_stop succeeds + do_stop && do_start + ;; +*) + echo "Usage: $0 {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb deleted file mode 100644 index 41f01bb898..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb +++ /dev/null @@ -1,137 +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" - -EXTRANATIVEPATH += "chrpath-native" - -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 \ -" -SRC_URI[md5sum] = "68691b5de4c94f82ec4062b042b5eb63" -SRC_URI[sha256sum] = "03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029" - -inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives - -INITSCRIPT_PACKAGES = "gpsd-conf" -INITSCRIPT_NAME = "gpsd" -INITSCRIPT_PARAMS = "defaults 35" - -SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" - -export STAGING_INCDIR -export STAGING_LIBDIR - -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" -PACKAGECONFIG[bluez] = "bluez='true',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}' \ - ${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 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd - install -d ${D}/${sysconfdir}/default - install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default - - #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 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service - install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service - install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket -} - -PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils" - -FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \ - ${libdir}/libQgpsmm.prl" - -FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug" - -RDEPENDS_${PN} = "gpsd-gpsctl" -RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf" - -SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging" -FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*" -RDEPENDS_gpsd-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_gpsd-conf = "gpsd configuration files and init scripts" -FILES_gpsd-conf = "${sysconfdir}" -CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default" - -SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes" -FILES_gpsd-gpsctl = "${bindir}/gpsctl" - -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/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb new file mode 100644 index 0000000000..ddea8ad2e3 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.24.bb @@ -0,0 +1,159 @@ +SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices" +SECTION = "console/network" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=7a5d174db44ec45f9638b2c747806821" +DEPENDS = "dbus ncurses python3 pps-tools" +PROVIDES = "virtual/gpsd" + +SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://gpsd.init \ + " +SRC_URI[sha256sum] = "00ee13f615655284874a661be13553abe66128e6deb5cd648af9bc0cb345fe5c" + +inherit scons update-rc.d python3-dir python3native systemd update-alternatives pkgconfig + +INITSCRIPT_PACKAGES = "gpsd-conf" +INITSCRIPT_NAME = "gpsd" +INITSCRIPT_PARAMS = "defaults 35" + +SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" + +export STAGING_INCDIR +export STAGING_LIBDIR + +CLEANBROKEN = "1" + +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb" +PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5" +PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase" +PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1" +EXTRA_OESCONS = " \ + sysroot=${STAGING_DIR_TARGET} \ + libQgpsmm='false' \ + debug='false' \ + nostrip='true' \ + systemd='${SYSTEMD_OESCONS}' \ + libdir='${libdir}' \ + sbindir='${sbindir}' \ + udevdir='${nonarch_base_libdir}/udev' \ + unitdir='${systemd_system_unitdir}' \ + manbuild='false' \ + LINK='${CC}' \ + ${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 CC="${CC}" + export LD="${CC}" + 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 LD="${CC}" + export LINKFLAGS="${LDFLAGS}" + + export DESTDIR="${D}" + # prefix is used for RPATH and DESTDIR/prefix for installation + ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} udev-install ${EXTRA_OESCONS} || \ + bbfatal "scons install execution failed." +} + +do_install:append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${UNPACKDIR}/gpsd.init ${D}${sysconfdir}/init.d/gpsd + install -d ${D}${sysconfdir}/default + install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}${sysconfdir}/default/gpsd.default + + # Support for python + if [ -d ${D}${libdir}/gps ]; then + install -d ${D}${PYTHON_SITEPACKAGES_DIR}/gps + install -m 755 ${D}${libdir}/gps/*.py ${D}${PYTHON_SITEPACKAGES_DIR}/gps + fi +} + +PACKAGES =+ "libgps python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils gps-utils-python" + +RPROVIDES:${PN}-dbg += "python-pygps-dbg" + +FILES:${PN}-dev += "${libdir}/libQgpsmm.prl" + +FILES:${PN}-doc += "${datadir}/${BPN}/doc" + +RDEPENDS:${PN} = "gpsd-gpsctl" +RRECOMMENDS:${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf" + +SUMMARY:gpsd-udev = "udev relevant files to use gpsd hotplugging" +FILES:gpsd-udev = "${nonarch_base_libdir}/udev" +RDEPENDS:gpsd-udev += "udev gpsd-conf" + +SUMMARY:libgps = "C service library used for communicating with gpsd" +FILES:libgps = "${libdir}/libgps.so.*" + +SUMMARY:gpsd-conf = "gpsd configuration files and init scripts" +FILES:gpsd-conf = "${sysconfdir}" +CONFFILES:gpsd-conf = "${sysconfdir}/default/gpsd.default" + +SUMMARY:gpsd-gpsctl = "Tool for tweaking GPS modes" +FILES:gpsd-gpsctl = "${bindir}/gpsctl" + +SUMMARY:gps-utils = "Utils used for simulating, monitoring,... a GPS" +FILES:gps-utils = "\ + ${bindir}/cgps \ + ${bindir}/gps2udp \ + ${bindir}/gpsctl \ + ${bindir}/gpsdebuginfo \ + ${bindir}/gpsdecode \ + ${bindir}/gpsmon \ + ${bindir}/gpspipe \ + ${bindir}/gpsrinex \ + ${bindir}/gpssnmp \ + ${bindir}/gpxlogger \ + ${bindir}/lcdgps \ + ${bindir}/ntpshmmon \ + ${bindir}/ppscheck \ +" +RRECOMMENDS:gps-utils = "gps-utils-python" + +SUMMARY:gps-utils-python = "Python utils used for simulating, monitoring,... a GPS" +FILES:gps-utils-python = "\ + ${bindir}/gegps \ + ${bindir}/gpscat \ + ${bindir}/gpscsv \ + ${bindir}/gpsfake \ + ${bindir}/gpsplot \ + ${bindir}/gpsprof \ + ${bindir}/gpssubframe \ + ${bindir}/ubxtool \ + ${bindir}/xgps \ + ${bindir}/xgpsspeed \ + ${bindir}/zerk \ +" +RDEPENDS:gps-utils-python = "python3-pygps" + +SUMMARY:python3-pygps = "Python bindings to gpsd" +FILES:python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info" +RDEPENDS:python3-pygps = " \ + python3-core \ + python3-io \ + python3-pyserial \ + python3-threading \ + python3-terminal \ + gpsd \ + python3-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" |