[package] update gpsd to 2.94, add config, init and hotplug scripts, patch from Roberto Riggio
[package] update gpsd to 2.94, add config, init and hotplug scripts, patch from Roberto Riggio

git-svn-id: svn://svn.openwrt.org/openwrt/packages@22447 3c298f89-4303-0410-b956-a3cf2f4a3e73

--- a/net/gpsd/Makefile
+++ b/net/gpsd/Makefile
@@ -8,14 +8,13 @@
 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
 
 PKG_BUILD_DEPENDS:=libncurses
@@ -25,7 +24,7 @@
 define Package/gpsd
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libpthread +uclibcxx
+  DEPENDS:=+libpthread
   TITLE:=An interface daemon for GPS receivers
   URL:=http://gpsd.berlios.de/
 endef
@@ -41,14 +40,8 @@
         --disable-ubx \
         --disable-evermore \
         --disable-ntrip \
+	--disable-libgpsmm \
         --without-x \
-
-CONFIGURE_VARS += \
-	CXXFLAGS="$$$$CXXFLAGS -fno-builtin -fno-rtti -nostdinc++"  \
-	CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/uClibc++ -I$(LINUX_DIR)/include" \
-	LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib" \
-	LIBS="-nodefaultlibs -luClibc++ -lm $(LIBGCC_S)" \
-	CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \
 
 define Build/InstallDev
 	$(INSTALL_DIR) $(1)/usr/include
@@ -58,6 +51,12 @@
 endef
 
 define Package/gpsd/install
+	$(INSTALL_DIR) $(1)/etc/config
+	$(INSTALL_CONF) ./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

--- /dev/null
+++ b/net/gpsd/files/gpsd.config
@@ -1,1 +1,5 @@
+config gpsd core
+    option device    "/dev/ttyUSB0"
+    option port    "2947"
+    option enabled    "true"
 

--- /dev/null
+++ b/net/gpsd/files/gpsd.hotplug
@@ -1,1 +1,17 @@
+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
 

--- /dev/null
+++ b/net/gpsd/files/gpsd.init
@@ -1,1 +1,31 @@
+#!/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
+    }
+}
+

--- a/net/gpsd/patches/001-fix-libtool-link.patch
+++ /dev/null
@@ -1,23 +1,1 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -559,7 +559,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 = \
- 	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)
--@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
- libgps_la_LIBADD = $(LIBM) $(LIBC) $(LIBNSL) $(LIBSOCKET) $(LIBPTHREAD)
- 
 

comments