From bcee75b765a9d75209ce6ce173023998e3981e52 Mon Sep 17 00:00:00 2001 From: Alistair Francis Date: Tue, 25 Jun 2019 15:07:00 +0000 Subject: gpsd: Upgrade from 3.17 to 3.18.1 Signed-off-by: Alistair Francis Signed-off-by: Khem Raj --- ...prefix-includepy-with-sysroot-and-drop-sy.patch | 81 ------------ .../gpsd-3.17/0001-include-sys-ttydefaults.h.patch | 35 ----- ...disable-html-and-man-docs-building-becaus.patch | 51 -------- ...prefix-includepy-with-sysroot-and-drop-sy.patch | 79 ++++++++++++ .../0002-include-sys-ttydefaults.h.patch | 35 +++++ ...disable-html-and-man-docs-building-becaus.patch | 51 ++++++++ meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb | 141 -------------------- meta-oe/recipes-navigation/gpsd/gpsd_3.18.1.bb | 142 +++++++++++++++++++++ 8 files changed, 307 insertions(+), 308 deletions(-) delete mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch delete mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch delete mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0002-include-sys-ttydefaults.h.patch create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0003-SConstruct-disable-html-and-man-docs-building-becaus.patch delete mode 100644 meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb create mode 100644 meta-oe/recipes-navigation/gpsd/gpsd_3.18.1.bb (limited to 'meta-oe/recipes-navigation') diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch deleted file mode 100644 index 1fa27c210d..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 1e2cea8945bc2183fbe1a012dcd633a352125952 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -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 - -Upstream-Status: Inappropriate [embedded specific] - -Signed-off-by: Martin Jansa -Signed-off-by: Peter A. Bigot ---- - SConstruct | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/SConstruct b/SConstruct -index 3318bb48..e1c4f963 100644 ---- a/SConstruct -+++ b/SConstruct -@@ -934,7 +934,7 @@ else: - - # Set up configuration for target Python - --PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()' -+PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)' - - PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS', - 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS'] -@@ -1364,7 +1364,7 @@ else: - LINK=ldshared, - SHLIBPREFIX="", - SHLIBSUFFIX=python_config['SO'], -- CPPPATH=[python_config['INCLUDEPY']], -+ CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']], - 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' - 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'))): - 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/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0001-include-sys-ttydefaults.h.patch deleted file mode 100644 index e91e4e9fbd..0000000000 --- a/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 -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 - -Foreward port to gpsd 3.16 -Signed-off-by: Max Krummenacher ---- - 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 - #include - #include -+#include - #include - #include - --- -2.12.0 - diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.17/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch deleted file mode 100644 index ba3d205d10..0000000000 --- a/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 -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 -Signed-off-by: Peter A. Bigot ---- - 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/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch new file mode 100644 index 0000000000..23ae5e509d --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch @@ -0,0 +1,79 @@ +From 5464d9e1bfd1a1c54338ec7c4148cad1b222ef93 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +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 + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Martin Jansa +Signed-off-by: Peter A. Bigot + +--- + SConstruct | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/SConstruct b/SConstruct +index b8f3fb1..883e06d 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -980,7 +980,7 @@ else: + + # Set up configuration for target Python + +-PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib()' ++PYTHON_LIBDIR_CALL = 'sysconfig.get_python_lib(plat_specific=1)' + + PYTHON_CONFIG_NAMES = ['CC', 'CXX', 'OPT', 'BASECFLAGS', + 'CCSHARED', 'LDSHARED', 'SO', 'INCLUDEPY', 'LDFLAGS'] +@@ -1506,7 +1506,7 @@ else: + LINK=ldshared, + SHLIBPREFIX="", + SHLIBSUFFIX=python_config['SO'], +- CPPPATH=[python_config['INCLUDEPY']], ++ CPPPATH=[os.path.normpath("%s/%s/%s/%s" % (env['sysroot'], env['prefix'], env['includedir'], python_config['INCLUDEPY']))] if env['sysroot'] else [python_config['INCLUDEPY']], + CPPFLAGS=python_config['OPT'], + CFLAGS=python_config['BASECFLAGS'], + CXXFLAGS=python_config['BASECFLAGS']) +@@ -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'))): + 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) diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0002-include-sys-ttydefaults.h.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0002-include-sys-ttydefaults.h.patch new file mode 100644 index 0000000000..e91e4e9fbd --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0002-include-sys-ttydefaults.h.patch @@ -0,0 +1,35 @@ +From f221fa959c80b43c65426500a6836a1b5cf6fe0c Mon Sep 17 00:00:00 2001 +From: Khem Raj +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 + +Foreward port to gpsd 3.16 +Signed-off-by: Max Krummenacher +--- + 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 + #include + #include ++#include + #include + #include + +-- +2.12.0 + diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0003-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0003-SConstruct-disable-html-and-man-docs-building-becaus.patch new file mode 100644 index 0000000000..ba3d205d10 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.18.1/0003-SConstruct-disable-html-and-man-docs-building-becaus.patch @@ -0,0 +1,51 @@ +From 697e2e9ff97487266d817cdd41bacc83f681e3d7 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +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 +Signed-off-by: Peter A. Bigot +--- + 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/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb deleted file mode 100644 index 7e11224574..0000000000 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.17.bb +++ /dev/null @@ -1,141 +0,0 @@ -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 ncurses python libusb1 chrpath-replacement-native pps-tools" -PROVIDES = "virtual/gpsd" - -# SConstruct in gpsd does not yet support Python 3 -DEPENDS += "python-scons-native" -DEPENDS_remove = "python3-scons-native" - -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 \ -" -SRC_URI[md5sum] = "e0cfadcf4a65dfbdd2afb11c58f4e4a1" -SRC_URI[sha256sum] = "68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a" - -inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives - -INITSCRIPT_PACKAGES = "gpsd-conf" -INITSCRIPT_NAME = "gpsd" -INITSCRIPT_PARAMS = "defaults 35" - -SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" - -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_versioned=5,qt='no',qtbase" -EXTRA_OESCONS = " \ - sysroot=${STAGING_DIR_TARGET} \ - libQgpsmm='false' \ - debug='true' \ - strip='false' \ - chrpath='yes' \ - systemd='${SYSTEMD_OESCONS}' \ - libdir='${libdir}' \ - ${PACKAGECONFIG_CONFARGS} \ -" -# 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 LINKFLAGS="${LDFLAGS}" -} - -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 LINKFLAGS="${LDFLAGS}" - - 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 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd - install -d ${D}/${sysconfdir}/default - install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default - - #support for udev - install -d ${D}/${sysconfdir}/udev/rules.d - install -m 0644 ${S}/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 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service - install -m 0644 ${S}/systemd/${BPN}ctl@.service ${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" - -RPROVIDES_${PN}-dbg += "python-pygps-dbg" - -FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \ - ${libdir}/libQgpsmm.prl" - -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-io \ - python-threading \ - python-terminal \ - python-curses \ - gpsd \ - python-json" - -RPROVIDES_${PN} += "${PN}-systemd" -RREPLACES_${PN} += "${PN}-systemd" -RCONFLICTS_${PN} += "${PN}-systemd" -SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service" - - -ALTERNATIVE_${PN} = "gpsd-defaults" -ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" -ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default" diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.18.1.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.18.1.bb new file mode 100644 index 0000000000..22097e3aa4 --- /dev/null +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.18.1.bb @@ -0,0 +1,142 @@ +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 ncurses python libusb1 chrpath-replacement-native pps-tools" +PROVIDES = "virtual/gpsd" + +# SConstruct in gpsd does not yet support Python 3 +DEPENDS += "python-scons-native" +DEPENDS_remove = "python3-scons-native" + +EXTRANATIVEPATH += "chrpath-native" + +SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ + file://0002-include-sys-ttydefaults.h.patch \ + file://0003-SConstruct-disable-html-and-man-docs-building-becaus.patch \ +" +SRC_URI[md5sum] = "3b11f26b295010666b1767b308f90bc5" +SRC_URI[sha256sum] = "5cb1e6d880ec9a52c62492dd0e3d77451b7c7ad625895bd652f6354215aec23e" + +inherit scons update-rc.d python-dir pythonnative systemd bluetooth update-alternatives + +INITSCRIPT_PACKAGES = "gpsd-conf" +INITSCRIPT_NAME = "gpsd" +INITSCRIPT_PARAMS = "defaults 35" + +SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}" + +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_versioned=5,qt='no',qtbase" +EXTRA_OESCONS = " \ + sysroot=${STAGING_DIR_TARGET} \ + libQgpsmm='false' \ + debug='true' \ + strip='false' \ + chrpath='yes' \ + systemd='${SYSTEMD_OESCONS}' \ + libdir='${libdir}' \ + ${PACKAGECONFIG_CONFARGS} \ +" +# 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 LINKFLAGS="${LDFLAGS}" +} + +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 LINKFLAGS="${LDFLAGS}" + + export DESTDIR="${D}" + # prefix is used for RPATH and DESTDIR/prefix for instalation + ${STAGING_BINDIR_NATIVE}/scons prefix=${prefix} python_libdir=${libdir} install ${EXTRA_OESCONS} || \ + bbfatal "scons install execution failed." +} + +do_install_append() { + install -d ${D}/${sysconfdir}/init.d + install -m 0755 ${S}/packaging/deb/etc_init.d_gpsd ${D}/${sysconfdir}/init.d/gpsd + install -d ${D}/${sysconfdir}/default + install -m 0644 ${S}/packaging/deb/etc_default_gpsd ${D}/${sysconfdir}/default/gpsd.default + + #support for udev + install -d ${D}/${sysconfdir}/udev/rules.d + install -m 0644 ${S}/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 ${S}/systemd/${BPN}.service ${D}${systemd_unitdir}/system/${BPN}.service + install -m 0644 ${S}/systemd/${BPN}ctl@.service ${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" + +RPROVIDES_${PN}-dbg += "python-pygps-dbg" + +FILES_${PN}-dev += "${libdir}/pkgconfdir/libgpsd.pc ${libdir}/pkgconfdir/libgps.pc \ + ${libdir}/libQgpsmm.prl" + +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" +# Python files are required for gps/fake, required for gpsfake. +FILES_gps-utils = "${bindir}/* ${libdir}/gps/*.py ${libdir}/gps/*.so" +RDEPENDS_gps-utils = "python-pygps" + +SUMMARY_python-pygps = "Python bindings to gpsd" +FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/* ${libdir}/gps/*.py ${libdir}/*.egg-info" +RDEPENDS_python-pygps = " \ + python-core \ + python-io \ + python-threading \ + python-terminal \ + python-curses \ + gpsd \ + python-json" + +RPROVIDES_${PN} += "${PN}-systemd" +RREPLACES_${PN} += "${PN}-systemd" +RCONFLICTS_${PN} += "${PN}-systemd" +SYSTEMD_SERVICE_${PN} = "${BPN}.socket ${BPN}ctl@.service" + + +ALTERNATIVE_${PN} = "gpsd-defaults" +ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd" +ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default" -- cgit 1.2.3-korg