summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-oe/recipes-navigation/gpsd
diff options
context:
space:
mode:
authortakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
committertakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-11-02 11:07:33 +0900
commit1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch)
treecd70a267a5ef105ba32f200aa088e281fbd85747 /external/meta-openembedded/meta-oe/recipes-navigation/gpsd
parent4204309872da5cb401cbb2729d9e2d4869a87f42 (diff)
recipes
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-navigation/gpsd')
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch35
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch51
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch (renamed from external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch)32
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch37
-rw-r--r--external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb (renamed from external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb)60
5 files changed, 82 insertions, 133 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
deleted file mode 100644
index e91e4e9f..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 17 Aug 2016 02:16:12 +0000
-Subject: [PATCH] include sys/ttydefaults.h
-
-This is needed for CTRL definition, as exposed by musl on glibc
-this include file gets pulled indirectly.
-
-/usr/src/debug/gpsd/3.14-r0/gpsd-3.14/gpsmon.c:605: undefined reference to `CTRL'
-clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation)
-scons: *** [gpsmon] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Foreward port to gpsd 3.16
-Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
----
- gpsmon.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/gpsmon.c b/gpsmon.c
-index 89c43ee2..5cc0dabd 100644
---- a/gpsmon.c
-+++ b/gpsmon.c
-@@ -24,6 +24,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/select.h>
-+#include <sys/ttydefaults.h>
- #include <fcntl.h>
- #include <unistd.h>
-
---
-2.12.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
deleted file mode 100644
index ba3d205d..00000000
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sun, 29 Apr 2012 00:05:59 +0200
-Subject: [PATCH 4/4] SConstruct: disable html and man docs building because
- xmlto-native from OE is broken
-
-It will try to load dtd and fail:
-| xmlto man gpsctl.xml; mv `basename gpsctl.1` gpsctl.1
-| xmlto: /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate (status 3)
-| xmlto: Fix document syntax or use --skip-validation option
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml:8: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-| ^
-| I/O error : Attempt to load network entity http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd
-| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"
-| Document /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd-3.4-r2/gpsd-3.4/gpsctl.xml does not validate
-| mv: cannot stat `gpsctl.1': No such file or directory
-| scons: *** [gpsctl.1] Error 1
-| scons: building terminated because of errors.
-
-Upstream-Status: Inappropriate [disable feature]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Peter A. Bigot <pab@pabigot.com>
----
- SConstruct | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/SConstruct b/SConstruct
-index 3318bb48..a5bb756d 100644
---- a/SConstruct
-+++ b/SConstruct
-@@ -889,11 +889,11 @@ else:
-
- manbuilder = htmlbuilder = None
- if env['manbuild']:
-- if config.CheckXsltproc():
-+ if False and config.CheckXsltproc():
- build = "xsltproc --nonet %s $SOURCE >$TARGET"
- htmlbuilder = build % docbook_html_uri
- manbuilder = build % docbook_man_uri
-- elif WhereIs("xmlto"):
-+ elif False and WhereIs("xmlto"):
- xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` " \
- "`dirname $TARGET`"
- htmlbuilder = xmlto % "html-nochunks"
---
-1.8.5.5
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
index 1fa27c21..23ae5e50 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch
@@ -1,4 +1,4 @@
-From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001
+From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 24 Apr 2012 18:45:14 +0200
Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot
@@ -34,15 +34,16 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
+
---
- SConstruct | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ SConstruct | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/SConstruct b/SConstruct
-index 3318bb48..e1c4f963 100644
+index b8f3fb1..883e06d 100644
--- a/SConstruct
+++ b/SConstruct
-@@ -934,7 +934,7 @@ else:
+@@ -980,7 +980,7 @@ else:
# Set up configuration for target Python
@@ -51,7 +52,7 @@ index 3318bb48..e1c4f963 100644
PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS',
'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS']
-@@ -1364,7 +1364,7 @@ else:
+@@ -1506,7 +1506,7 @@ else:
LINK=ldshared,
SHLIBPREFIX="",
SHLIBSUFFIX=python_config['SO'],
@@ -60,22 +61,19 @@ index 3318bb48..e1c4f963 100644
CPPFLAGS=python_config['OPT'],
CFLAGS=python_config['BASECFLAGS'],
CXXFLAGS=python_config['BASECFLAGS'])
-@@ -1662,12 +1662,15 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip']
- if not env['python']:
- python_install = []
- else:
-+ python_libdir = python_libdir.replace(env['sysroot'], '')
- python_module_dir = python_libdir + os.sep + 'gps'
+@@ -1808,12 +1808,14 @@ if ((not env['debug'] and not env['profiling'] and not env['nostrip'] and
+ env.AddPostAction(binaryinstall, '$STRIP $TARGET')
+
+ if env['python']:
+- python_module_dir = str(python_libdir) + os.sep + 'gps'
++ python_module_dir = python_libdir.replace(env['sysroot'], '') + 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 not env['nostrip'] and not sys.platform.startswith('darwin'))):
+ if ((not env['debug'] and not env['profiling'] and
+ not env['nostrip'] and not sys.platform.startswith('darwin'))):
python_env.AddPostAction(python_extensions_install, '$STRIP $TARGET')
+ env.AddPostAction(python_extensions_install, '$CHRPATH -r "%s" "$TARGET"' \
+ % (python_libdir, ))
python_modules_install = python_env.Install(DESTDIR + python_module_dir,
python_modules)
---
-2.1.0
-
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch
new file mode 100644
index 00000000..9b380158
--- /dev/null
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd/0001-gps_shm_close-Free-privdata.patch
@@ -0,0 +1,37 @@
+From 2a4b3bcde0d73a3a4a6644d5f944ac9d16023ba9 Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <bunk@stusta.de>
+Date: Mon, 21 Oct 2019 13:53:25 +0300
+Subject: gps_shm_close: Free privdata
+
+Previously every open/close cycle leaked privdata.
+
+Signed-off-by: Adrian Bunk <bunk@stusta.de>
+Signed-off-by: Gary E. Miller <gem@rellim.com>
+
+Upstream-Status: Backport
+---
+ libgps_shm.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/libgps_shm.c b/libgps_shm.c
+index d93972bba..12bb3760b 100644
+--- a/libgps_shm.c
++++ b/libgps_shm.c
+@@ -163,8 +163,12 @@ int gps_shm_read(struct gps_data_t *gpsdata)
+
+ void gps_shm_close(struct gps_data_t *gpsdata)
+ {
+- if (PRIVATE(gpsdata) && PRIVATE(gpsdata)->shmseg != NULL)
+- (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
++ if (PRIVATE(gpsdata)) {
++ if (PRIVATE(gpsdata)->shmseg != NULL)
++ (void)shmdt((const void *)PRIVATE(gpsdata)->shmseg);
++ free(PRIVATE(gpsdata));
++ gpsdata->privdata = NULL;
++ }
+ }
+
+ int gps_shm_mainloop(struct gps_data_t *gpsdata, int timeout,
+--
+2.20.1
+
diff --git a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
index e823e42a..f74ebda5 100644
--- a/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb
+++ b/external/meta-openembedded/meta-oe/recipes-navigation/gpsd/gpsd_3.19.bb
@@ -1,21 +1,18 @@
SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
SECTION = "console/network"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
-DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools"
+LICENSE = "BSD-2-Clause"
+LIC_FILES_CHKSUM = "file://COPYING;md5=01764c35ae34d9521944bb6ab312af53"
+DEPENDS = "dbus ncurses python3 pps-tools"
PROVIDES = "virtual/gpsd"
-EXTRANATIVEPATH += "chrpath-native"
-
SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \
file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \
- file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \
- file://0001-include-sys-ttydefaults.h.patch \
+ file://0001-gps_shm_close-Free-privdata.patch \
"
-SRC_URI[md5sum] = "e0cfadcf4a65dfbdd2afb11c58f4e4a1"
-SRC_URI[sha256sum] = "68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a"
+SRC_URI[md5sum] = "b3bf88706794eb8e5f2c2543bf7ba87b"
+SRC_URI[sha256sum] = "27dd24d45b2ac69baab7933da2bf6ae5fb0be90130f67e753c110a3477155f39"
-inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives
+inherit scons update-rc.d python3-dir python3native systemd update-alternatives
INITSCRIPT_PACKAGES = "gpsd-conf"
INITSCRIPT_NAME = "gpsd"
@@ -26,17 +23,18 @@ SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'f
export STAGING_INCDIR
export STAGING_LIBDIR
-PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)}"
-PACKAGECONFIG[bluez] = "bluez='true',bluez='false',${BLUEZ}"
-PACKAGECONFIG[qt] = "qt='yes',qt='no',qt4-x11-free"
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} usb"
+PACKAGECONFIG[bluez] = "bluez='true',bluez='false',bluez5"
+PACKAGECONFIG[qt] = "qt='yes' qt_versioned=5,qt='no',qtbase"
+PACKAGECONFIG[usb] = "usb='true',usb='false',libusb1"
EXTRA_OESCONS = " \
sysroot=${STAGING_DIR_TARGET} \
libQgpsmm='false' \
- debug='true' \
- strip='false' \
- chrpath='yes' \
+ debug='false' \
+ nostrip='true' \
systemd='${SYSTEMD_OESCONS}' \
libdir='${libdir}' \
+ manbuild='false' \
${PACKAGECONFIG_CONFARGS} \
"
# this cannot be used, because then chrpath is not found and only static lib is built
@@ -57,7 +55,7 @@ do_install() {
export DESTDIR="${D}"
# prefix is used for RPATH and DESTDIR/prefix for instalation
- ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} install ${EXTRA_OESCONS}|| \
+ ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \
bbfatal "scons install execution failed."
}
@@ -80,11 +78,13 @@ do_install_append() {
#support for systemd
install -d ${D}${systemd_unitdir}/system/
install -m 0644 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}.service
install -m 0644 ${S}/systemd/${BPN}ctl@.service ${D}${systemd_unitdir}/system/${BPN}ctl@.service
+ sed -i -e 's,/usr/local,/usr,g' ${D}${systemd_unitdir}/system/${BPN}ctl@.service
install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_unitdir}/system/${BPN}.socket
}
-PACKAGES =+ "libgps libgpsd python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
+PACKAGES =+ "libgps libgpsd python3-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
RPROVIDES_${PN}-dbg += "python-pygps-dbg"
@@ -112,19 +112,19 @@ 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-io \
- python-threading \
- python-terminal \
- python-curses \
+# Python files are required for gps/fake, required for gpsfake.
+FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so"
+RDEPENDS_gps-utils = "python3-pygps"
+
+SUMMARY_python3-pygps = "Python bindings to gpsd"
+FILES_python3-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info"
+RDEPENDS_python3-pygps = " \
+ python3-core \
+ python3-io \
+ python3-threading \
+ python3-terminal \
gpsd \
- python-json"
+ python3-json"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"