This patch bumps gpsd version to 2.92. It also adds an uci configuration
file where the user can configure the serial port and the default listening
port for gpsd. The patch also adds an init script and an hotplug script
that
starts the daemon when a serial device is plugged.
Signed-off-by: Roberto Riggio <[email protected]>
--
Index: net/gpsd/files/gpsd.init
===================================================================
--- net/gpsd/files/gpsd.init (revision 0)
+++ net/gpsd/files/gpsd.init (revision 0)
@@ -0,0 +1,30 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2009 OpenWrt.org
+START=50
+
+NAME=gpsd
+PIDF=/var/run/$NAME.pid
+PROG=/usr/sbin/$NAME
+
+start() {
+ config_load gpsd
+ config_get device core device
+ config_get port core port
+ config_get_bool enabled core enabled
+ [ "$enabled" != "1" ] && exit
+ logger -t "$NAME" "Starting..."
+ [ ! -c "$device" ] && {
+ logger -t "$NAME" "Unable to find device $device. Exiting."
+ exit 1
+ }
+ $PROG -n -P $PIDF -S $port $device
+}
+
+stop() {
+ logger -t "$NAME" "Stopping..."
+ [ -f "$PIDF" ] && {
+ read PID < "$PIDF"
+ kill -9 $PID
+ rm $PIDF
+ }
+}
Index: net/gpsd/files/gpsd.config
===================================================================
--- net/gpsd/files/gpsd.config (revision 0)
+++ net/gpsd/files/gpsd.config (revision 0)
@@ -0,0 +1,4 @@
+config gpsd core
+ option device "/dev/ttyUSB0"
+ option port "2947"
+ option enabled "true"
Index: net/gpsd/files/gpsd.hotplug
===================================================================
--- net/gpsd/files/gpsd.hotplug (revision 0)
+++ net/gpsd/files/gpsd.hotplug (revision 0)
@@ -0,0 +1,16 @@
+case "$ACTION" in
+ add)
+ # start process
+ # only pl2303 devices are handled
+ if [ "$PRODUCT" = "67b/2303/300" ] && [ "$TYPE" = "0/0/0" ] &&
[ "$INTERFACE" = "255/0/0" ]; then
+ sleep 3 && /etc/init.d/gpsd start
+ fi
+ ;;
+ remove)
+ # stop process
+ # only pl2303 devices are handled
+ if [ "$PRODUCT" = "67b/2303/300" ] && [ "$TYPE" = "0/0/0" ] &&
[ "$INTERFACE" = "255/0/0" ]; then
+ /etc/init.d/gpsd stop
+ fi
+ ;;
+esac
Index: net/gpsd/patches/001-fix-libtool-link.patch
===================================================================
--- net/gpsd/patches/001-fix-libtool-link.patch (revision 21442)
+++ net/gpsd/patches/001-fix-libtool-link.patch (working copy)
@@ -1,22 +1,22 @@
--- a/Makefile.in
+++ b/Makefile.in
-@@ -559,7 +559,7 @@
+@@ -560,7 +560,7 @@
#
# Build shared libraries
#
-libgps_la_LDFLAGS = -version-number 19:0:0
+libgps_la_LDFLAGS = -version-number 19:0:0 $(LDFLAGS)
- lib_LTLIBRARIES = libgps.la
- libgpsd_c_sources = \
+ lib_LTLIBRARIES = libgps.la libgpsd.la
+ libgps_c_sources = \
ais_json.c \
-@@ -616,8 +616,8 @@
- BUILT_SOURCES = packet_names.h gpsd.h revision.h ais_json.i maskdump.c
- libgps_la_SOURCES = $(libgpsd_c_sources) $(libgpsd_h_sources) \
- driver_rtcm2.h packet_states.h $(am__append_2)
+@@ -624,8 +624,8 @@
+ libgpsd_la_SOURCES = $(libgpsd_c_sources) $(libgpsd_h_sources) \
+ driver_rtcm2.h packet_states.h
+
-...@libgpsmm_enable_false@libgps_la_LINK = /bin/sh ./libtool --tag=CC
--mode=link gcc $(libgps_la_LDFLAGS) -o $@
-...@libgpsmm_enable_true@libgps_la_LINK = /bin/sh ./libtool --tag=CXX
--mode=link g++ $(libgps_la_LDFLAGS) -o $@
+...@libgpsmm_enable_false@libgps_la_LINK = /bin/sh ./libtool --tag=CC
--mode=link $(CC) $(libgps_la_LDFLAGS) -o $@
+...@libgpsmm_enable_true@libgps_la_LINK = /bin/sh ./libtool --tag=CXX
--mode=link $(CXX) $(libgps_la_LDFLAGS) -o $@
- nodist_libgps_la_SOURCES = packet_names.h ais_json.i
+ nodist_libgpsd_la_SOURCES = packet_names.h ais_json.i
libgps_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD)
-
+ libgpsd_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD)
Index: net/gpsd/Makefile
===================================================================
--- net/gpsd/Makefile (revision 21442)
+++ net/gpsd/Makefile (working copy)
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=gpsd
-PKG_VERSION:=2.90
+PKG_VERSION:=2.94
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://download.berlios.de/gpsd/
-PKG_MD5SUM:=a23c728b8734c542d559c485857238d2
+PKG_MD5SUM:=ce70bcd707ac1df861d4c72f503c09d1
PKG_FIXUP:=libtool-ucxx
PKG_INSTALL:=1
@@ -58,10 +58,16 @@
endef
define Package/gpsd/install
+ $(INSTALL_DIR) $(1)/etc/config
+ $(CP) ./files/gpsd.config $(1)/etc/config/gpsd
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/gpsd.init $(1)/etc/init.d/gpsd
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/usb
+ $(INSTALL_DATA) ./files/gpsd.hotplug $(1)/etc/hotplug.d/usb/20-gpsd
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/gpsd $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/gpsd $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,gpsd))
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel