TODO: identify when udev is in use and add support for it automatically --- ...prefix-includepy-with-sysroot-and-drop-sy.patch | 71 ++++++++ ...struct-respect-sysroot-also-in-SPLINTOPTS.patch | 30 ++++ .../gpsd-3.10/0004-SConstruct-remove-rpath.patch | 42 +++++ meta-oe/recipes-navigation/gpsd/gpsd.inc | 179 +++++++++++++++++++++ meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb | 15 ++ meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb | 140 +--------------- .../recipes-navigation/gpsd/supported-chipsets.inc | 28 ++++ 7 files changed, 372 insertions(+), 133 deletions(-) create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-prefix-includepy- with-sysroot-and-drop-sy.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-respect-sysroot-a lso-in-SPLINTOPTS.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-remove-rpath.patc h create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd.inc create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb create mode 100644 meta-oe/recipes-navigation/gpsd/supported-chipsets.inc
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-prefix-includep y-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-prefix-includep y-with-sysroot-and-drop-sy.patch new file mode 100644 index 0000000..e557703 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-prefix-includep y-with-sysroot-and-drop-sy.patch @@ -0,0 +1,71 @@ +From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <[email protected]> +Date: Tue, 24 Apr 2012 18:45:14 +0200 +Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot + from python_lib_dir + +* without PYTHONPATH, distutil's sysconfig returns INCLUDEPY without sysroot prefix + and with PYTHONPATH from OE it's pointing to native python dir + + $ export PYTHONPATH=/OE/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib/python2.7/ + $ python + Python 2.7.2 (default, Apr 18 2012, 09:19:59) + [GCC 4.6.2] on linux2 + Type "help", "copyright", "credits" or "license" for more information. + >>> from distutils import sysconfig + >>> sysconfig.get_config_vars('INCLUDEPY') + ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] + >>> + $ unset PYTHONPATH + $ python + Python 2.7.2 (default, Apr 18 2012, 09:19:59) + [GCC 4.6.2] on linux2 + Type "help", "copyright", "credits" or "license" for more information. + >>> from distutils import sysconfig + >>> sysconfig.get_config_vars('INCLUDEPY') + ['/python2.7'] + >>> import sysconfig + >>> sysconfig.get_config_vars('INCLUDEPY') + ['/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/include/python2.7'] +* python_lib_dir = python_lib_dir.replace(env['sysroot'], '') + returns path to target sysroot + +Signed-off-by: Martin Jansa <[email protected]> +--- + SConstruct | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/SConstruct b/SConstruct +index 14e2f59..47c5753 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1084,6 +1084,10 @@ else: + if vars[i] is None: + vars[i] = [] + (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars ++ if env['sysroot']: ++ print "Prefixing includepy '%s' with sysroot prefix" % includepy ++ includepy = os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], includepy)) ++ print "'%s'" % includepy + # FIXME: build of python wrappers doesn't pickup flags set for coveraging, manually add them here + if env['coveraging']: + basecflags += ' -coverage' +@@ -1350,11 +1358,14 @@ if not env['python']: + python_install = [] + else: + python_lib_dir = sysconfig.get_python_lib(plat_specific=1) ++ python_lib_dir = python_lib_dir.replace(env['sysroot'], '') + python_module_dir = python_lib_dir + os.sep + 'gps' + python_extensions_install = python_env.Install( DESTDIR + python_module_dir, + python_built_extensions) + if not env['debug'] and not env['profiling'] and env['strip']: + python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET') ++ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \ ++ % (python_lib_dir, )) + + python_modules_install = python_env.Install( DESTDIR + python_module_dir, + python_modules) + +-- +1.7.8.5 + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-respect-sysroot -also-in-SPLINTOPTS.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-respect-sysroot -also-in-SPLINTOPTS.patch new file mode 100644 index 0000000..06dd6e7 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-respect-sysroot -also-in-SPLINTOPTS.patch @@ -0,0 +1,30 @@ +From f5f262be8ae54bd0c0f52802f2007ec89163756f Mon Sep 17 00:00:00 2001 +From: Martin Jansa <[email protected]> +Date: Tue, 24 Apr 2012 11:52:35 +0200 +Subject: [PATCH 1/2] SConstruct: respect sysroot also in SPLINTOPTS + +Signed-off-by: Martin Jansa <[email protected]> +Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]> +--- + SConstruct | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +diff --git a/SConstruct b/SConstruct +index 14e2f59..47c5753 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1414,7 +1425,10 @@ def Utility(target, source, action): + # Report splint warnings + # Note: test_bits.c is unsplintable because of the PRI64 macros. + # If you get preprocessor or fatal errors, add +showscan. +-splintopts = "-I/usr/include/libusb-1.0 +quiet" ++if not env['sysroot']: ++ splintopts = "-I/usr/include/libusb-1.0 +quiet" ++else: ++ splintopts = "-I%s/usr/include/libusb-1.0 +quiet" % env['sysroot'] + # splint does not know about multi-arch, work around that + ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH') + if ma_status == 0: +-- +1.7.5.4 + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-remove-rpath.pa tch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-remove-rpath.pa tch new file mode 100644 index 0000000..83b98bb --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-remove-rpath.pa tch @@ -0,0 +1,42 @@ +From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001 +From: Martin Jansa <[email protected]> +Date: Tue, 24 Apr 2012 16:24:35 +0200 +Subject: [PATCH 2/2] SConstruct: remove rpath + +* even with correct prefix (without DESTDIR) included it's redundant + WARNING: QA Issue: libgps: + /work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/li b/libgps.so.20.0 + contains probably-redundant RPATH /usr/lib +* and with prefix from scons.bbclass it's invalid + WARNING: QA Issue: package libgps contains bad RPATH + /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/image /usr/lib + in file + /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packa ges-split/libgps/usr/lib/libgps.so.20.0 + +Signed-off-by: Martin Jansa <[email protected]> +Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]> +--- + SConstruct | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/SConstruct b/SConstruct +index a1bddb9..3e7c607 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -1205,8 +1205,11 @@ if qt_env: + + # We don't use installdir here in order to avoid having DESTDIR affect the rpath + if env["shared"] and env["chrpath"]: +- env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ +- % (installdir('libdir', False), )) ++ if not env['sysroot']: ++ env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ ++ % (installdir('libdir', False), )) ++ else: ++ env.AddPostAction(binaryinstall, '$CHRPATH -d "$TARGET"') + + if not env['debug'] and not env['profiling'] and env['strip']: + env.AddPostAction(binaryinstall, '$STRIP $TARGET') +-- +1.7.5.4 + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd.inc b/meta-oe/recipes-navigation/gpsd/gpsd.inc new file mode 100644 index 0000000..ecff14c --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd.inc @@ -0,0 +1,179 @@ +SUMMARY = "Daemon that parses and shares GPS devices" +DESCRIPTION = "gpsd is a service daemon that monitors one or more GPSes or AIS receivers attached to a host computer \ +through serial or USB ports, making all data on the location/course/velocity of the sensors available to be queried \ +via TCP, messagebus, or shared memory" +AUTHOR = "Authors: Eric S. Raymond, Chris Kuethe, Gary Miller. Former authors whose bits have been plowed under by \ +code turnover: Remco Treffcorn, Derrick Brashear, Russ Nelson." +HOMEPAGE = "http://www.catb.org/gpsd/" +SECTION = "console/network" +LICENSE = "BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800 <file:///COPYING;md5=d217a23f408e91c94359447735bc1800>" +DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native" +PROVIDES = "virtual/gpsd" + +EXTRANATIVEPATH += "chrpath-native" + +# override gpsd-default to select device other than /dev/ttyS0 + +SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \ + file://gpsd-default <file:///gpsd-default> \ + file://gpsd <file:///gpsd> \ + file://60-gpsd.rules <file:///60-gpsd.rules> \ + file://gpsd.service <file:///gpsd.service> \ +" + +inherit scons update-rc.d python-dir pythonnative systemd + +INITSCRIPT_NAME = "gpsd" +INITSCRIPT_PARAMS = "defaults 35" + +export STAGING_INCDIR +export STAGING_LIBDIR + + +SYSTEMD_OESCONS = "${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" + +PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}" +PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)}" +PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'usbhost', 'usb', '', d)}" +# TODO: handle udev support automatically + +include supported-chipsets.inc + +# CONNECTIVITY +PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez4" +PACKAGECONFIG[ipv6] = "ipv6='true',ipv6='false'," +PACKAGECONFIG[usb] = "usb='true',usb='false',udev libusb" + +# RECEIVERS +PACKAGECONFIG[ashtech] = "ashtech='true',ashtech='false'" +PACKAGECONFIG[earthmate] = "earthmate='true',earthmate='false'" +PACKAGECONFIG[evermore] = "evermore='true',evermore='false'" +PACKAGECONFIG[fury] = "fury='true',fury='false'" +PACKAGECONFIG[fv18] = "fv18='true',fv18='false'" +PACKAGECONFIG[garmin] = "garmin='true',garmin='false'" +PACKAGECONFIG[garmintxt] = "garmintxt='true',garmintxt='false'" +PACKAGECONFIG[geostar] = "geostar='true',geostar='false'" +PACKAGECONFIG[itrax] = "itrax='true',itrax='false'" +PACKAGECONFIG[mtk3301] = "mtk3301='true',mtk3301='false'" +PACKAGECONFIG[navcom] = "navcom='true',navcom='false'" +PACKAGECONFIG[ntrip] = "ntrip='true',ntrip='false'" +PACKAGECONFIG[oceanserver] = "oceanserver='true',oceanserver='false'" +PACKAGECONFIG[oncore] = "oncore='true',oncore='false'" +PACKAGECONFIG[rtcm104v2] = "rtcm104v2='true',rtcm104v2='false'" +PACKAGECONFIG[rtcm104v3] = "rtcm104v3='true',rtcm104v3='false'" +PACKAGECONFIG[sirf] = "sirf='true',sirf='false'" +PACKAGECONFIG[superstar2] = "superstar2='true',superstar2='false'" +PACKAGECONFIG[tnt] = "tnt='true',tnt='false'" +PACKAGECONFIG[tripmate] = "tripmate='true',tripmate='false'" +PACKAGECONFIG[tsip] = "tsip='true',tsip='false'" +PACKAGECONFIG[ublox] = "ublox='true',ublox='false'" + + +EXTRA_OESCONS = " \ + sysroot=${STAGING_DIR_TARGET} \ + libQgpsmm='false' \ + debug='true' \ + strip='false' \ + systemd='${SYSTEMD_OESCONS}' \ + ${EXTRA_OECONF} \ +" +# this cannot be used, because then chrpath is not found and only static lib is built +# target=${HOST_SYS} + +do_compile_prepend() { + export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" + export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" + export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}" + + export BUILD_SYS="${BUILD_SYS}" + export HOST_SYS="${HOST_SYS}" +} + +do_install() { + export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" + export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" + export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}" + + export BUILD_SYS="${BUILD_SYS}" + export HOST_SYS="${HOST_SYS}" + + export DESTDIR="${D}" + # prefix is used for RPATH and DESTDIR/prefix for instalation + ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \ + bbfatal "scons install execution failed." +} + +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/ + + #support for python + install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps + install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps + + #support for systemd + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/${PN}.service ${D}${systemd_unitdir}/system/${PN}.service + install -m 0644 ${S}/systemd/${PN}.socket ${D}${systemd_unitdir}/system/${PN}.socket +} + +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 +} + +# Note: you probably want executables "gpsd", "gpsctl", "gpsmon" and library "libgps". +# Select package "gpsd" for the former; add "libgps" for library support. "libgpsd" is generally not needed. +# Add "gpsd-udev" for hot-plug support. TODO: automatically add udev support when udev is a DISTRO_FEATURE. + +PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils" + +FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc" + +FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug" + +RDEPENDS_${PN} = "gpsd-gpsctl" +RRECOMMENDS_${PN} = "gpsd-conf" + +SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging" +FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*" +RDEPENDS_gpsd-udev += "udev gpsd-conf" + +SUMMARY_libgpsd = "C service library which supports querying GPS devices directly; used by gpsd." +FILES_libgpsd = "${libdir}/libgpsd.so.*" + +SUMMARY_libgps = "C service library which supports communicating with an instance of the gpsd; almost certainly what you want." +FILES_libgps = "${libdir}/libgps.so.*" + +SUMMARY_gpsd-conf = "gpsd configuration files and init scripts" +FILES_gpsd-conf = "${sysconfdir}" +CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default" + +SUMMARY_gpsd-gpsctl = "Tools for controlling GPS via gpsd or directly and monitoring PPS status" +FILES_gpsd-gpsctl = "${bindir}/gpsctl ${bindir}/gpsmon" + +SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS (requires python)" +FILES_gps-utils = "${bindir}/*" +RDEPENDS_gps-utils = "python-pygps" + +SUMMARY_python-pygps = "Python bindings to gpsd" +FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*" +RDEPENDS_python-pygps = "python-core python-curses gpsd python-json" + + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${PN}.socket" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb new file mode 100644 index 0000000..715b5a7 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -0,0 +1,15 @@ +include gpsd.inc + +# patches are version-specific, although currently these are the same as those in 3.7 +SRC_URI_append = "\ + file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch <file:///0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch> \ + file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch <file:///0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch> \ + file://0004-SConstruct-remove-rpath.patch <file:///0004-SConstruct-remove-rpath.patch> \ +" + +PR = "r1" + +SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" +SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" + + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb index 97f3354..6b5e456 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb @@ -1,139 +1,13 @@ -SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices" -SECTION = "console/network" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800 <file:///COPYING;md5=d217a23f408e91c94359447735bc1800>" -DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native" -PROVIDES = "virtual/gpsd" +include gpsd.inc -EXTRANATIVEPATH += "chrpath-native" - -PR = "r14" - -SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \ +# assume patches are version-specific +SRC_URI_append = "\ + file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch <file:///0001-SConstruct-disable-html-and-man-docs-building-becaus.patch> \ + file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch <file:///0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch> \ file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch <file:///0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch> \ file://0004-SConstruct-remove-rpath.patch <file:///0004-SConstruct-remove-rpath.patch> \ - file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch <file:///0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch> \ - file://0001-SConstruct-disable-html-and-man-docs-building-becaus.patch <file:///0001-SConstruct-disable-html-and-man-docs-building-becaus.patch> \ - file://gpsd-default <file:///gpsd-default> \ - file://gpsd <file:///gpsd> \ - file://60-gpsd.rules <file:///60-gpsd.rules> \ - file://gpsd.service <file:///gpsd.service> \ " +PR = "r15" + SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98" SRC_URI[sha256sum] = "7800c478ee9d7ca7a502b0f892828561b1fbf7bc69d9d38c447c82c3628302ac" - -inherit scons update-rc.d python-dir pythonnative systemd - -INITSCRIPT_NAME = "gpsd" -INITSCRIPT_PARAMS = "defaults 35" - -SYSTEMD_OESCONS = "${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" - -export STAGING_INCDIR -export STAGING_LIBDIR - -PACKAGECONFIG ??= "bluez" -PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez4" - -EXTRA_OESCONS = " \ - sysroot=${STAGING_DIR_TARGET} \ - libQgpsmm='false' \ - debug='true' \ - strip='false' \ - systemd='${SYSTEMD_OESCONS}' \ - ${EXTRA_OECONF} \ -" -# this cannot be used, because then chrpath is not found and only static lib is built -# target=${HOST_SYS} - -do_compile_prepend() { - export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" - export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" - export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}" - - export BUILD_SYS="${BUILD_SYS}" - export HOST_SYS="${HOST_SYS}" -} - -do_install() { - export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}" - export PKG_CONFIG="PKG_CONFIG_SYSROOT_DIR=\"${PKG_CONFIG_SYSROOT_DIR}\" pkg-config" - export STAGING_PREFIX="${STAGING_DIR_HOST}/${prefix}" - - export BUILD_SYS="${BUILD_SYS}" - export HOST_SYS="${HOST_SYS}" - - export DESTDIR="${D}" - # prefix is used for RPATH and DESTDIR/prefix for instalation - ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \ - bbfatal "scons install execution failed." -} - -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/ - - #support for python - install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps - install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps - - #support for systemd - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/${PN}.service ${D}${systemd_unitdir}/system/${PN}.service - install -m 0644 ${S}/systemd/${PN}.socket ${D}${systemd_unitdir}/system/${PN}.socket -} - -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_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc" - -FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug" - -RDEPENDS_${PN} = "gpsd-gpsctl" -RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf" - -SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging" -FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*" -RDEPENDS_gpsd-udev += "udev gpsd-conf" - -SUMMARY_libgpsd = "C service library used for communicating with gpsd" -FILES_libgpsd = "${libdir}/libgpsd.so.*" - -SUMMARY_libgps = "C service library used for communicating with gpsd" -FILES_libgps = "${libdir}/libgps.so.*" - -SUMMARY_gpsd-conf = "gpsd configuration files and init scripts" -FILES_gpsd-conf = "${sysconfdir}" -CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default" - -SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes" -FILES_gpsd-gpsctl = "${bindir}/gpsctl" - -SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS" -FILES_gps-utils = "${bindir}/*" -RDEPENDS_gps-utils = "python-pygps" - -SUMMARY_python-pygps = "Python bindings to gpsd" -FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*" -RDEPENDS_python-pygps = "python-core python-curses gpsd python-json" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${PN}.socket" diff --git a/meta-oe/recipes-navigation/gpsd/supported-chipsets.inc b/meta-oe/recipes-navigation/gpsd/supported-chipsets.inc new file mode 100644 index 0000000..dee898b --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/supported-chipsets.inc @@ -0,0 +1,28 @@ +# gpsd probes for various binary chipsets in a predefined search order. To minimize build size +# and protocol probe time, override this file using .bbappend and remove any unwanted chipsets +# For a list of all features run "scons -h" +# "nmea", "nmea2000" and "aivdm" (required for nmea2000) are always included + +PACKAGECONFIG += "ashtech" +PACKAGECONFIG += "earthmate" +PACKAGECONFIG += "evermore" +PACKAGECONFIG += "fury" +PACKAGECONFIG += "fv18" +PACKAGECONFIG += "garmin" +PACKAGECONFIG += "garmintxt" +PACKAGECONFIG += "geostar" +PACKAGECONFIG += "itrax" +PACKAGECONFIG += "mtk3301" +PACKAGECONFIG += "navcom" +PACKAGECONFIG += "ntrip" +PACKAGECONFIG += "oceanserver" +PACKAGECONFIG += "oncore" +PACKAGECONFIG += "rtcm104v2" +PACKAGECONFIG += "rtcm104v3" +PACKAGECONFIG += "sirf" +PACKAGECONFIG += "superstar2" +PACKAGECONFIG += "tnt" +PACKAGECONFIG += "tripmate" +PACKAGECONFIG += "tsip" +PACKAGECONFIG += "ublox" + -- 1.9.1 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
