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
|
||||
|
||||
PKG_NAME:=gpsd
|
||||
PKG_VERSION:=2.94
|
||||
PKG_RELEASE:=4
|
||||
PKG_REV:=ffcc14068ada0d565f237efa56c7cd723847ca04
|
||||
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_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
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/scons.mk
|
||||
|
||||
define Package/gpsd
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
DEPENDS:=+libpthread +librt +libusb-1.0
|
||||
TITLE:=An interface daemon for GPS receivers
|
||||
URL:=http://gpsd.berlios.de/
|
||||
define Package/gpsd/Default
|
||||
DEPENDS:=+librt
|
||||
URL:=http://catb.org/gpsd/
|
||||
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 += \
|
||||
--disable-dbus \
|
||||
--disable-tsip \
|
||||
--disable-fv18 \
|
||||
--disable-tripmate \
|
||||
--disable-earthmate \
|
||||
--disable-itrax \
|
||||
--disable-navcom \
|
||||
--disable-ubx \
|
||||
--disable-evermore \
|
||||
--disable-ntrip \
|
||||
--disable-libgpsmm \
|
||||
--without-x \
|
||||
define Package/gpsd
|
||||
$(call Package/gpsd/Default)
|
||||
SECTION:=net
|
||||
CATEGORY:=Network
|
||||
DEPENDS+= +libgps +libgpsd
|
||||
TITLE:=An interface daemon for GPS receivers
|
||||
endef
|
||||
|
||||
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
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/gps.h $(1)/usr/include/
|
||||
$(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
|
||||
|
||||
define Package/gpsd/install
|
||||
@ -65,14 +134,26 @@ define Package/gpsd/install
|
||||
$(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/
|
||||
endef
|
||||
|
||||
define Package/gpsd/conffiles
|
||||
/etc/config/gpsd
|
||||
define Package/cgps/install
|
||||
$(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
|
||||
|
||||
$(eval $(call BuildPackage,gpsd))
|
||||
$(eval $(call BuildPackage,cgps))
|
||||
$(eval $(call BuildPackage,libgps))
|
||||
$(eval $(call BuildPackage,libgpsd))
|
||||
|
@ -1,4 +1,5 @@
|
||||
config gpsd core
|
||||
option device "/dev/ttyUSB0"
|
||||
option port "2947"
|
||||
option listen_globally "false"
|
||||
option enabled "true"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
# Copyright (C) 2009 OpenWrt.org
|
||||
# Copyright (C) 2009-2011 OpenWrt.org
|
||||
START=50
|
||||
|
||||
NAME=gpsd
|
||||
@ -10,6 +10,7 @@ start() {
|
||||
config_load gpsd
|
||||
config_get device core device
|
||||
config_get port core port
|
||||
config_get_bool listen_globally core listen_globally
|
||||
config_get_bool enabled core enabled
|
||||
[ "$enabled" != "1" ] && exit
|
||||
logger -t "$NAME" "Starting..."
|
||||
@ -17,7 +18,8 @@ start() {
|
||||
logger -t "$NAME" "Unable to find device $device. Exiting."
|
||||
exit 1
|
||||
}
|
||||
$PROG -n -P $PIDF -S $port $device
|
||||
[ "$listen_globally" != "0" ] && append args "-G"
|
||||
$PROG -n -P $PIDF -S $port $args $device
|
||||
}
|
||||
|
||||
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