gpsd: update to version 3.5 from cerowrt + chrpath removal patch
git-svn-id: svn://svn.openwrt.org/openwrt/packages@31621 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
09d2442166
commit
6a421ce2a8
@ -8,54 +8,123 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=gpsd
|
PKG_NAME:=gpsd
|
||||||
PKG_VERSION:=2.94
|
PKG_REV:=ffcc14068ada0d565f237efa56c7cd723847ca04
|
||||||
PKG_RELEASE:=4
|
PKG_VERSION:=3.5-20120414
|
||||||
|
#PKG_VERSION:=20110917
|
||||||
|
PKG_RELEASE:=5
|
||||||
|
|
||||||
|
#PKG_SOURCE_URL:=http://download-mirror.savannah.gnu.org/releases/gpsd/
|
||||||
|
#PKG_MD5SUM:=c01353459faa68834309109d4e868460
|
||||||
|
|
||||||
|
#PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
|
PKG_SOURCE_URL:=git://git.sv.gnu.org/gpsd.git
|
||||||
|
PKG_SOURCE_PROTO:=git
|
||||||
|
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
PKG_SOURCE_VERSION:=$(PKG_REV)
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://download.berlios.de/gpsd/
|
|
||||||
PKG_MD5SUM:=ce70bcd707ac1df861d4c72f503c09d1
|
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
PKG_FIXUP:=libtool
|
|
||||||
PKG_REMOVE_FILES:=aclocal.m4 ltmain.sh
|
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=libncurses
|
PKG_BUILD_DEPENDS:=libncurses
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
include $(INCLUDE_DIR)/scons.mk
|
||||||
|
|
||||||
define Package/gpsd
|
define Package/gpsd/Default
|
||||||
SECTION:=net
|
DEPENDS:=+librt
|
||||||
CATEGORY:=Network
|
URL:=http://catb.org/gpsd/
|
||||||
DEPENDS:=+libpthread +librt +libusb-1.0
|
|
||||||
TITLE:=An interface daemon for GPS receivers
|
|
||||||
URL:=http://gpsd.berlios.de/
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_CMD =./autogen.sh
|
define Package/gpsd/Default/description
|
||||||
|
gpsd is a userland daemon acting as a translator between GPS and AIS receivers
|
||||||
|
and their clients. gpsd listens on port 2947 for clients requesting
|
||||||
|
position/time/velocity information. The receivers are expected to generate
|
||||||
|
position information in a well-known format -- as NMEA-0183 sentences, SiRF
|
||||||
|
binary, Rockwell binary, Garmin binary format, or other vendor binary
|
||||||
|
protocols. gpsd takes this information from the GPS and translates it into
|
||||||
|
something uniform and easier to understand for clients.
|
||||||
|
endef
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
define Package/gpsd
|
||||||
--disable-dbus \
|
$(call Package/gpsd/Default)
|
||||||
--disable-tsip \
|
SECTION:=net
|
||||||
--disable-fv18 \
|
CATEGORY:=Network
|
||||||
--disable-tripmate \
|
DEPENDS+= +libgps +libgpsd
|
||||||
--disable-earthmate \
|
TITLE:=An interface daemon for GPS receivers
|
||||||
--disable-itrax \
|
endef
|
||||||
--disable-navcom \
|
|
||||||
--disable-ubx \
|
|
||||||
--disable-evermore \
|
|
||||||
--disable-ntrip \
|
|
||||||
--disable-libgpsmm \
|
|
||||||
--without-x \
|
|
||||||
|
|
||||||
EXTRA_CFLAGS:=-I$(STAGING_DIR)/usr/include/libusb-1.0
|
define Package/gpsd/conffiles
|
||||||
|
/etc/config/gpsd
|
||||||
|
endef
|
||||||
|
|
||||||
EXTRA_LDFLAGS:=-lusb-1.0
|
define Package/gpsd/description
|
||||||
|
$(call Package/gpsd/Default/description)
|
||||||
|
This package contains the GPS daemon.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/cgps
|
||||||
|
$(call Package/gpsd/Default)
|
||||||
|
SECTION:=net
|
||||||
|
CATEGORY:=Network
|
||||||
|
DEPENDS+= +libgps +libncurses
|
||||||
|
TITLE:=Test client for gpsd
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/cgps/description
|
||||||
|
$(call Package/gpsd/Default/description)
|
||||||
|
This package contains a GPS test client.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgps
|
||||||
|
$(call Package/gpsd/Default)
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE:=C service library for communicating with the GPS daemon
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgps/description
|
||||||
|
$(call Package/gpsd/Default/description)
|
||||||
|
This package contains the libgps library.
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgpsd
|
||||||
|
$(call Package/gpsd/Default)
|
||||||
|
SECTION:=libs
|
||||||
|
CATEGORY:=Libraries
|
||||||
|
TITLE:=C service library for GPS applications
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgpsd/description
|
||||||
|
$(call Package/gpsd/Default/description)
|
||||||
|
This package contains the libgpsd library.
|
||||||
|
endef
|
||||||
|
|
||||||
|
SCONS_OPTIONS += \
|
||||||
|
dbus_export=no \
|
||||||
|
tsip=no \
|
||||||
|
fv18=no \
|
||||||
|
tripmate=no \
|
||||||
|
earthmate=no \
|
||||||
|
itrax=no \
|
||||||
|
navcom=no \
|
||||||
|
ubx=no \
|
||||||
|
evermore=no \
|
||||||
|
ntrip=no \
|
||||||
|
libgpsmm=no \
|
||||||
|
libQgpsmm=no \
|
||||||
|
bluez=no \
|
||||||
|
strip=no \
|
||||||
|
python=no \
|
||||||
|
usb=no \
|
||||||
|
implicit_link=no
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/gps.h $(1)/usr/include/
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/gps.h $(1)/usr/include/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps*.{a,so*} $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps*.so* $(1)/usr/lib/
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||||
|
$(CP) \
|
||||||
|
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libgps*.pc \
|
||||||
|
$(1)/usr/lib/pkgconfig/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/gpsd/install
|
define Package/gpsd/install
|
||||||
@ -65,14 +134,26 @@ define Package/gpsd/install
|
|||||||
$(INSTALL_BIN) ./files/gpsd.init $(1)/etc/init.d/gpsd
|
$(INSTALL_BIN) ./files/gpsd.init $(1)/etc/init.d/gpsd
|
||||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
|
||||||
$(INSTALL_DATA) ./files/gpsd.hotplug $(1)/etc/hotplug.d/usb/20-gpsd
|
$(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_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
|
endef
|
||||||
|
|
||||||
define Package/gpsd/conffiles
|
define Package/cgps/install
|
||||||
/etc/config/gpsd
|
$(INSTALL_DIR) $(1)/usr/bin
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cgps $(1)/usr/bin/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgps/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgps.so.* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/libgpsd/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgpsd.so.* $(1)/usr/lib/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call BuildPackage,gpsd))
|
$(eval $(call BuildPackage,gpsd))
|
||||||
|
$(eval $(call BuildPackage,cgps))
|
||||||
|
$(eval $(call BuildPackage,libgps))
|
||||||
|
$(eval $(call BuildPackage,libgpsd))
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
config gpsd core
|
config gpsd core
|
||||||
option device "/dev/ttyUSB0"
|
option device "/dev/ttyUSB0"
|
||||||
option port "2947"
|
option port "2947"
|
||||||
|
option listen_globally "false"
|
||||||
option enabled "true"
|
option enabled "true"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright (C) 2009 OpenWrt.org
|
# Copyright (C) 2009-2011 OpenWrt.org
|
||||||
START=50
|
START=50
|
||||||
|
|
||||||
NAME=gpsd
|
NAME=gpsd
|
||||||
@ -10,6 +10,7 @@ start() {
|
|||||||
config_load gpsd
|
config_load gpsd
|
||||||
config_get device core device
|
config_get device core device
|
||||||
config_get port core port
|
config_get port core port
|
||||||
|
config_get_bool listen_globally core listen_globally
|
||||||
config_get_bool enabled core enabled
|
config_get_bool enabled core enabled
|
||||||
[ "$enabled" != "1" ] && exit
|
[ "$enabled" != "1" ] && exit
|
||||||
logger -t "$NAME" "Starting..."
|
logger -t "$NAME" "Starting..."
|
||||||
@ -17,7 +18,8 @@ start() {
|
|||||||
logger -t "$NAME" "Unable to find device $device. Exiting."
|
logger -t "$NAME" "Unable to find device $device. Exiting."
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
$PROG -n -P $PIDF -S $port $device
|
[ "$listen_globally" != "0" ] && append args "-G"
|
||||||
|
$PROG -n -P $PIDF -S $port $args $device
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
stop() {
|
||||||
|
@ -0,0 +1,35 @@
|
|||||||
|
From c7a6bf126c17e997428ee925aad62b2fd70dc316 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dave Taht <dave.taht@bufferbloat.net>
|
||||||
|
Date: Fri, 13 Apr 2012 23:14:06 -0700
|
||||||
|
Subject: [PATCH] _XOPEN_SOURCE breaks CLOCK_REALTIME in uclibc
|
||||||
|
|
||||||
|
Since you can't tell what library you are using...
|
||||||
|
until after you include features.h
|
||||||
|
which after you would set _XOPEN_SOURCE
|
||||||
|
and if you set _XOPEN_SOURCE you can't re-include features.h
|
||||||
|
we have a recursive dependency.
|
||||||
|
|
||||||
|
I have no idea how to handle this, so I'll just carry a patch
|
||||||
|
in openwrt.
|
||||||
|
---
|
||||||
|
gpsutils.c | 4 ----
|
||||||
|
1 files changed, 0 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gpsutils.c b/gpsutils.c
|
||||||
|
index 60c4ae9..95ab456 100644
|
||||||
|
--- a/gpsutils.c
|
||||||
|
+++ b/gpsutils.c
|
||||||
|
@@ -4,10 +4,6 @@
|
||||||
|
* BSD terms apply: see the file COPYING in the distribution root for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-/* The strptime prototype is not provided unless explicitly requested.
|
||||||
|
- * So add the define that POSIX says to to avoid: */
|
||||||
|
-#define _XOPEN_SOURCE
|
||||||
|
-
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <sys/time.h>
|
||||||
|
--
|
||||||
|
1.7.5.4
|
||||||
|
|
10
net/gpsd/patches/001-add-staging-dir.patch
Normal file
10
net/gpsd/patches/001-add-staging-dir.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -199,6 +199,7 @@ import_env = (
|
||||||
|
'PATH', # Required for ccache and Coverity scan-build
|
||||||
|
'PKG_CONFIG_PATH', # Set .pc file directory in a crossbuild
|
||||||
|
'STAGING_PREFIX', # Required by the OpenWRT build.
|
||||||
|
+ 'STAGING_DIR', # Required by the OpenWRT build.
|
||||||
|
)
|
||||||
|
envs = {}
|
||||||
|
for var in import_env:
|
41
net/gpsd/patches/002-no_chrpath.patch
Normal file
41
net/gpsd/patches/002-no_chrpath.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
--- a/SConstruct
|
||||||
|
+++ b/SConstruct
|
||||||
|
@@ -270,8 +270,6 @@ def installdir(dir, add_destdir=True):
|
||||||
|
|
||||||
|
# Honor the specified installation prefix in link paths.
|
||||||
|
env.Prepend(LIBPATH=[installdir('libdir')])
|
||||||
|
-if env["shared"]:
|
||||||
|
- env.Prepend(RPATH=[installdir('libdir')])
|
||||||
|
|
||||||
|
# Give deheader a way to set compiler flags
|
||||||
|
if 'MORECFLAGS' in os.environ:
|
||||||
|
@@ -390,17 +388,6 @@ config = Configure(env, custom_tests = {
|
||||||
|
'CheckXsltproc' : CheckXsltproc})
|
||||||
|
|
||||||
|
env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
|
||||||
|
-if config.CheckExecutable('$CHRPATH -v', 'chrpath'):
|
||||||
|
- # Tell generated binaries to look in the current directory for
|
||||||
|
- # shared libraries so we can run tests without hassle. Should be
|
||||||
|
- # handled sanely by scons on all systems. Not good to use '.' or
|
||||||
|
- # a relative path here; it's a security risk. At install time we
|
||||||
|
- # use chrpath to edit this out of RPATH.
|
||||||
|
- if env["shared"]:
|
||||||
|
- env.Prepend(RPATH=[os.path.realpath(os.curdir)])
|
||||||
|
-else:
|
||||||
|
- print "chrpath is not available, forcing static linking."
|
||||||
|
- env["shared"] = False
|
||||||
|
|
||||||
|
confdefs = ["/* gpsd_config.h. Generated by scons, do not hand-hack. */\n"]
|
||||||
|
|
||||||
|
@@ -1147,11 +1134,6 @@ binaryinstall.append(LibraryInstall(env,
|
||||||
|
if qt_env:
|
||||||
|
binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib))
|
||||||
|
|
||||||
|
-# We don't use installdir here in order to avoid having DESTDIR affect the rpath
|
||||||
|
-if env["shared"]:
|
||||||
|
- env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
|
||||||
|
- % (installdir('libdir', False), ))
|
||||||
|
-
|
||||||
|
if not env['debug'] and not env['profiling'] and env['strip']:
|
||||||
|
env.AddPostAction(binaryinstall, '$STRIP $TARGET')
|
||||||
|
|
@ -1,54 +0,0 @@
|
|||||||
Index: gpsd-2.94/configure.ac
|
|
||||||
===================================================================
|
|
||||||
--- gpsd-2.94.orig/configure.ac 2010-04-20 19:55:08.000000000 +0200
|
|
||||||
+++ gpsd-2.94/configure.ac 2011-01-27 15:34:47.002000063 +0100
|
|
||||||
@@ -233,30 +233,10 @@
|
|
||||||
AC_DEFINE([HAVE_LIBPTHREAD], [], [pthread libraries are present])])
|
|
||||||
AC_SUBST(LIBPTHREAD)
|
|
||||||
|
|
||||||
-#
|
|
||||||
-# We want libusb-1.x or later. Checking for this is messy in 2010
|
|
||||||
-# since many Linux systems ship with .0,1.x versions and that's
|
|
||||||
-# what you get if you check naively for -lusb.
|
|
||||||
-#
|
|
||||||
-# We use the fact that the obsolete versions put their include file in
|
|
||||||
-# /usr/include/usb.h, while the newer ones have it in
|
|
||||||
-# /usr/include/libusb-*/libusb.h
|
|
||||||
-#
|
|
||||||
AC_MSG_CHECKING([for libusb version >= 1.0.0])
|
|
||||||
-if test -f /usr/include/libusb-*/libusb.h ;
|
|
||||||
-then
|
|
||||||
- usb=$(basename /usr/lib/libusb-*.so | sed -e s/\.so// -e s/^lib//)
|
|
||||||
- AC_DEFINE([HAVE_LIBUSB], [], [will link with -l$usb; ])
|
|
||||||
- LIBUSB=-l${usb}
|
|
||||||
- INCUSB=-I/usr/include/lib${usb}
|
|
||||||
- ac_libusb=yes
|
|
||||||
- AC_MSG_RESULT([found.])
|
|
||||||
-else
|
|
||||||
- ac_libusb=yes
|
|
||||||
- AC_MSG_RESULT([not found.])
|
|
||||||
-fi
|
|
||||||
-AC_SUBST(LIBUSB)
|
|
||||||
-AC_SUBST(INCUSB)
|
|
||||||
+AC_DEFINE([HAVE_LIBUSB], [], [will link with -lusb-1.0; ])
|
|
||||||
+ac_libusb=yes
|
|
||||||
+AC_MSG_RESULT([OpenWRT: Crosscompile])
|
|
||||||
|
|
||||||
AH_VERBATIM([_GNU_SOURCE],
|
|
||||||
[/* Some libc's don't have strlcat/strlcpy. Local copies are provided */
|
|
||||||
Index: gpsd-2.94/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
--- gpsd-2.94.orig/Makefile.am 2010-04-20 11:37:21.000000000 +0200
|
|
||||||
+++ gpsd-2.94/Makefile.am 2011-01-27 15:34:08.125000006 +0100
|
|
||||||
@@ -245,9 +245,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 $(CXX) $(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 $(CC) $(libgps_la_LDFLAGS) -o $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
nodist_libgpsd_la_SOURCES = packet_names.h ais_json.i
|
|
Loading…
x
Reference in New Issue
Block a user