From af2f1de23c491cdd25e80011971a9019f20c8f47 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Mon, 30 May 2011 22:19:41 +0200 Subject: gpsd,tangogps,foxtrotgps,navit: move to new recipes-navigation Signed-off-by: Martin Jansa --- .../gpsd/gpsd-2.95/60-gpsd.rules | 47 +++++++ meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd | 136 +++++++++++++++++++++ .../recipes-navigation/gpsd/gpsd-2.95/gpsd-default | 5 + .../gpsd/gpsd-2.95/libtool.patch | 16 +++ meta-oe/recipes-navigation/gpsd/gpsd_2.95.bb | 102 ++++++++++++++++ 5 files changed, 306 insertions(+) create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-2.95/60-gpsd.rules create mode 100755 meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd-default create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-2.95/libtool.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd_2.95.bb (limited to 'meta-oe/recipes-navigation/gpsd') diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-2.95/60-gpsd.rules b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/60-gpsd.rules new file mode 100644 index 0000000000..c01db068de --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/60-gpsd.rules @@ -0,0 +1,47 @@ +# udev rules for gpsd +# $Id$ +# +# GPSes don't have their own USB device class. They're serial-over-USB +# devices, so what you see is actually the ID of the serial-over-USB chip. +# Fortunately, just two of these account for over 80% of consumer-grade +# GPS sensors. The gpsd.hotplug.wrapper script will tell a running gpsd +# that it should look at the device that just went active, because it +# might be a GPS. +# +# The following setup works on Debian - something similar will apply on +# other distributions: +# +# /etc/udev/gpsd.rules +# /etc/udev/rules.d/025_gpsd.rules -> ../gpsd.rules +# /lib/udev/gpsd.hotplug.wrapper +# /lib/udev/gpsd.hotplug +# +# Setting the link in /etc/udev/rules.d activates the rule and determines +# when to run it on boot (similar to init.d processing). + +SUBSYSTEM!="tty", GOTO="gpsd_rules_end" + +# Prolific Technology, Inc. PL2303 Serial Port +ATTR{idVendor}=="067b", ATTR{idProduct}=="2303", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# ATEN International Co., Ltd UC-232A Serial Port [pl2303] +ATTR{idVendor}=="0557", ATTR{idProduct}=="2008", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# FTDI 8U232AM +ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Cypress M8/CY7C64013 (DeLorme uses these) +ATTR{idVendor}=="1163", ATTR{idProduct}=="0100", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# PS-360 OEM (Microsoft GPS sold with Street and Trips 2005) +ATTR{idVendor}=="067b", ATTR{idProduct}=="aaa0", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Garmin International GPSmap, various models (tested with Garmin GPS 18 USB) +ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# Cygnal Integrated Products, Inc. CP210x Composite Device (Used by Holux m241) +ATTR{idVendor}=="10c4", ATTR{idProduct}=="ea60", SYMLINK+="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# u-blox AG, u-blox 5 (tested with Navilock NL-402U) +ATTR{idVendor}=="1546", ATTR{idProduct}=="01a5", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# FTDI FT232 +ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" +# u-blox 4 +SYSFS{idVendor}=="1546", SYSFS{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper" + +ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper" + +LABEL="gpsd_rules_end" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd new file mode 100755 index 0000000000..3687d24001 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd @@ -0,0 +1,136 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: gpsd +# Required-Start: $remote_fs $network +# Should-Start: bluetooth dbus udev +# Required-Stop: $remote_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# 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 + +# Author: Bernd Zeimetz +# +# Please remove the "Author" lines above and replace them +# with your own name if you copy and modify this script. + +# Do NOT "set -e" + +# 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 +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x "$DAEMON" ] || exit 0 + +# Read configuration, if 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 + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test \ + -- $GPSD_OPTIONS -P $PIDFILE $GPS_DEVICES > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $GPSD_OPTIONS -P $PIDFILE $GPS_DEVICES \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + echo "Starting $DESC" "$NAME" + do_start + return $? + ;; + stop) + echo "Stopping $DESC" "$NAME" + do_stop + return $? + ;; + status) + ;; + reload|force-reload) + echo "Reloading $DESC" "$NAME" + do_reload + return $? + ;; + restart) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + echo "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + return $? + ;; + *) + # Failed to stop + return 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd-default b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd-default new file mode 100644 index 0000000000..0ceff03824 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/gpsd-default @@ -0,0 +1,5 @@ +# If you must specify a non-NMEA driver, uncomment and modify the next line +GPSD_SOCKET="/var/run/gpsd.sock" +GPSD_OPTIONS="" +GPS_DEVICES="" + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-2.95/libtool.patch b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/libtool.patch new file mode 100644 index 0000000000..7b78a72d84 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-2.95/libtool.patch @@ -0,0 +1,16 @@ +Index: gpsd-2.95/Makefile.am +=================================================================== +--- gpsd-2.95.orig/Makefile.am 2010-08-26 15:31:38.804330723 +0200 ++++ gpsd-2.95/Makefile.am 2010-08-26 15:31:57.170020341 +0200 +@@ -253,9 +253,9 @@ + # Warning: This overrides autoconf's normal link-line generation process + if LIBGPSMM_ENABLE + libgps_la_SOURCES += libgpsmm.cpp +-libgps_la_LINK = /bin/sh ./libtool --tag=CXX --mode=link g++ $(libgps_la_LDFLAGS) -o $@ ++libgps_la_LINK = $(LIBTOOL) --tag=CXX --mode=link g++ $(libgps_la_LDFLAGS) -o $@ + else +-libgps_la_LINK = /bin/sh ./libtool --tag=CC --mode=link gcc $(libgps_la_LDFLAGS) -o $@ ++libgps_la_LINK = $(LIBTOOL) --tag=CC --mode=link gcc $(libgps_la_LDFLAGS) -o $@ + endif + + nodist_libgpsd_la_SOURCES = packet_names.h ais_json.i diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_2.95.bb b/meta-oe/recipes-navigation/gpsd/gpsd_2.95.bb new file mode 100644 index 0000000000..a6741192a7 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd_2.95.bb @@ -0,0 +1,102 @@ +DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices" +SECTION = "console/network" +PRIORITY = "optional" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800" +DEPENDS = "dbus-glib ncurses python libusb1" +PROVIDES = "virtual/gpsd" + +EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \ + --x-libraries=${STAGING_LIBDIR} \ + --enable-dbus \ + --disable-libQgpsmm \ +" + +SRC_URI = "http://download.berlios.de/${PN}/${P}.tar.gz;name=gpsd \ + file://libtool.patch \ + file://gpsd-default \ + file://gpsd \ + file://60-gpsd.rules" +SRC_URI[gpsd.md5sum] = "12535a9ed9fecf9ea2c5bdc9840da5ae" +SRC_URI[gpsd.sha256sum] = "832343a53921a8371efa540ba57c91dadedda445e571c1beb97c06539ef450ae" + +inherit autotools update-rc.d python-dir + +INITSCRIPT_NAME = "gpsd" +INITSCRIPT_PARAMS = "defaults 35" + +LDFLAGS += "-L${STAGING_LIBDIR} -lm" +export STAGING_INCDIR +export STAGING_LIBDIR + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure_prepend() { + # skip first + sed -i "s#for pylibpath in '/usr/lib'#for pylibpath in #g" ${S}/configure.ac +} + +do_compile_prepend() { + export BUILD_SYS="${BUILD_SYS}" + export HOST_SYS="${HOST_SYS}" + find ${S} -name "*.so" -exec rm -f {} \; +} + +do_install_prepend() { + export BUILD_SYS="${BUILD_SYS}" + export HOST_SYS="${HOST_SYS}" +} + +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 + + #support for udev + install -d ${D}/${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/60-gpsd.rules ${D}/${sysconfdir}/udev/rules.d + install -d ${D}${base_libdir}/udev/ + install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/ + install -d ${D}${base_libdir}/udev/ + install -m 0755 ${S}/gpsd.hotplug.wrapper ${D}${base_libdir}/udev/ +} + +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 gps-utils" + +FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug" + +RDEPENDS_${PN} = "gpsd-gpsctl" +RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev" + +DESCRIPTION_gpsd-udev = "udev relevant files to use gpsd hotplugging" +FILES_gpsd-udev = "${base_libdir}/* ${sysconfdir}/udev/*" +RDEPENDS_gpsd-udev += "udev gpsd-conf" + +DESCRIPTION_libgpsd = "C service library used for communicating with gpsd" +FILES_libgpsd = "${libdir}/libgpsd.so.*" + +DESCRIPTION_libgps = "C service library used for communicating with gpsd" +FILES_libgps = "${libdir}/libgps.so.*" + +DESCRIPTION_gpsd-conf = "gpsd configuration files and init scripts" +FILES_gpsd-conf = "${sysconfdir}" + +DESCRIPTION_gpsd-gpsctl = "Tool for tweaking GPS modes" +FILES_gpsd-gpsctl = "${bindir}/gpsctl" + +DESCRIPTION_gps-utils = "Utils used for simulating, monitoring,... a GPS" +FILES_gps-utils = "${bindir}/*" +RDEPENDS_gps-utils = "python-pygps" + +DESCRIPTION_python-pygps = "Python bindings to gpsd" +FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python-pygps = "python-core python-curses gpsd python-json" -- cgit 1.2.3-korg