* [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing
@ 2014-08-28 12:06 Peter A. Bigot
2014-08-28 12:06 ` [meta-oe][PATCH 1/5] ntp: re-enable server debugging and control by PACKAGECONFIG Peter A. Bigot
` (4 more replies)
0 siblings, 5 replies; 19+ messages in thread
From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw)
To: openembedded-devel
The first patch restores server debugging capability to NTP, a feature
that is necessary when diagnosing configuration issues.
The remaining patches make it possible to use the pulse-per-second
capability of GPS and Linux RFC 2783 kernel PPS support to synchronize
clocks to microsecond accuracy, either using gpsd as a mediator or
using ntp directly.
Peter A. Bigot (5):
ntp: re-enable server debugging and control by PACKAGECONFIG
gpsd: update to 3.10
pps-tools: add recipe
gpsd: add optional support for KPPS interface
ntp: add optional support for KPPS interface
.../ntp/files/ntp-disable-debugging.patch | 23 ------------
meta-networking/recipes-support/ntp/ntp.inc | 6 ++-
...truct-respect-sysroot-also-in-SPLINTOPTS.patch} | 19 ++++++----
.../0002-SConstruct-remove-rpath.patch} | 19 ++++++----
...refix-includepy-with-sysroot-and-drop-sy.patch} | 27 ++++++++------
...isable-html-and-man-docs-building-becaus.patch} | 43 ++++++++++++----------
.../gpsd/{gpsd_3.7.bb => gpsd_3.10.bb} | 17 +++++----
meta-oe/recipes-support/pps-tools/pps-tools_git.bb | 16 ++++++++
8 files changed, 89 insertions(+), 81 deletions(-)
delete mode 100644 meta-networking/recipes-support/ntp/files/ntp-disable-debugging.patch
rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch => gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch} (61%)
rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0004-SConstruct-remove-rpath.patch => gpsd-3.10/0002-SConstruct-remove-rpath.patch} (75%)
rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch => gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch} (82%)
rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch => gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch} (62%)
rename meta-oe/recipes-navigation/gpsd/{gpsd_3.7.bb => gpsd_3.10.bb} (91%)
create mode 100644 meta-oe/recipes-support/pps-tools/pps-tools_git.bb
--
1.8.5.5
^ permalink raw reply [flat|nested] 19+ messages in thread* [meta-oe][PATCH 1/5] ntp: re-enable server debugging and control by PACKAGECONFIG 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot @ 2014-08-28 12:06 ` Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 2/5] gpsd: update to 3.10 Peter A. Bigot ` (3 subsequent siblings) 4 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw) To: openembedded-devel The description in a previous patch to disable debugging is incorrect. Although the option is default-enabled in configure.ac, configure does respect the option that disables it. In ntp 4.2.7 the option code is refactored to ntp_debug.m4 and has an effect in sntp as well. Adding --disable-debugging to the top-level configure options overrides the default for both 4.2.6 and 4.2.7 without patching the distribution. Make the selection explicit and configurable, but restore the historical default. Absence of debugging capability in the server makes it difficult to validate complex configurations. Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- .../ntp/files/ntp-disable-debugging.patch | 23 ---------------------- meta-networking/recipes-support/ntp/ntp.inc | 5 +++-- 2 files changed, 3 insertions(+), 25 deletions(-) delete mode 100644 meta-networking/recipes-support/ntp/files/ntp-disable-debugging.patch diff --git a/meta-networking/recipes-support/ntp/files/ntp-disable-debugging.patch b/meta-networking/recipes-support/ntp/files/ntp-disable-debugging.patch deleted file mode 100644 index 242276e..0000000 --- a/meta-networking/recipes-support/ntp/files/ntp-disable-debugging.patch +++ /dev/null @@ -1,23 +0,0 @@ -set ntp_ok to no if ntp debugging is not enabled. - -Upstream-status: Pending - -There is a problem in configure.ac file that whether or not -'--enable-debugging' is specified in configure cmdline, debugging -is always enabled. -We should disable ntp debugging by default. - -Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> - ---- ---- a/configure.ac -+++ b/configure.ac -@@ -2458,7 +2458,7 @@ - [+ include ntpd debugging code] - )], - [ntp_ok=$enableval], -- [ntp_ok=yes] -+ [ntp_ok=no] - ) - case "$ntp_ok" in - yes) diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp.inc index b63f202..55926e0 100644 --- a/meta-networking/recipes-support/ntp/ntp.inc +++ b/meta-networking/recipes-support/ntp/ntp.inc @@ -23,7 +23,6 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.g file://sntp.service \ file://sntp \ file://ntpd.list \ - file://ntp-disable-debugging.patch \ file://CVE-2013-5211.patch \ " @@ -38,7 +37,8 @@ USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --home-dir /var/lib/ntp \ --shell /bin/false --user-group ntp" -PACKAGECONFIG ??= "cap" +# NB: debug is default-enabled by NTP; keep it default-enabled here. +PACKAGECONFIG ??= "cap debug" PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ --with-openssl-incdir=${STAGING_INCDIR} \ --with-crypto, \ @@ -46,6 +46,7 @@ PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ openssl" PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap" PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline" +PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging" do_install_append() { install -d ${D}${sysconfdir}/init.d -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [meta-oe][PATCH 2/5] gpsd: update to 3.10 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 1/5] ntp: re-enable server debugging and control by PACKAGECONFIG Peter A. Bigot @ 2014-08-28 12:06 ` Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 3/5] pps-tools: add recipe Peter A. Bigot ` (2 subsequent siblings) 4 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw) To: openembedded-devel Patches rebased onto new version with no material changes. Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- ...truct-respect-sysroot-also-in-SPLINTOPTS.patch} | 19 ++++++---- .../0002-SConstruct-remove-rpath.patch} | 19 ++++++---- ...refix-includepy-with-sysroot-and-drop-sy.patch} | 27 ++++++++------ ...isable-html-and-man-docs-building-becaus.patch} | 43 ++++++++++++---------- .../gpsd/{gpsd_3.7.bb => gpsd_3.10.bb} | 14 +++---- 5 files changed, 66 insertions(+), 56 deletions(-) rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch => gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch} (61%) rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0004-SConstruct-remove-rpath.patch => gpsd-3.10/0002-SConstruct-remove-rpath.patch} (75%) rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch => gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch} (82%) rename meta-oe/recipes-navigation/gpsd/{gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch => gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch} (62%) rename meta-oe/recipes-navigation/gpsd/{gpsd_3.7.bb => gpsd_3.10.bb} (92%) diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch similarity index 61% rename from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch rename to meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch index 40baa01..c4134f4 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0001-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch @@ -1,22 +1,25 @@ -From f5f262be8ae54bd0c0f52802f2007ec89163756f Mon Sep 17 00:00:00 2001 +From 3c5fb3a8691ac711ea93edf8e0b42bffc62b197e Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 11:52:35 +0200 -Subject: [PATCH 1/2] SConstruct: respect sysroot also in SPLINTOPTS +Subject: [PATCH 1/4] SConstruct: respect sysroot also in SPLINTOPTS + +Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 5 ++++- - 1 files changed, 4 insertions(+), 1 deletions(-) + SConstruct | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SConstruct b/SConstruct -index a25e88a..a1bddb9 100644 +index 14e2f59..f0cafa8 100644 --- a/SConstruct +++ b/SConstruct -@@ -1277,7 +1277,10 @@ def Utility(target, source, action): - +@@ -1414,7 +1414,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" @@ -26,5 +29,5 @@ index a25e88a..a1bddb9 100644 ma_status, ma = _getstatusoutput('dpkg-architecture -qDEB_HOST_MULTIARCH') if ma_status == 0: -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch similarity index 75% rename from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch rename to meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch index 83b98bb..083a662 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0004-SConstruct-remove-rpath.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0002-SConstruct-remove-rpath.patch @@ -1,7 +1,7 @@ -From 7d736bbd517c12d19d7b85a5b0db84732b2f86da Mon Sep 17 00:00:00 2001 +From d090638ff983e509162d5e3b62aa4918de4aa5fa Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Tue, 24 Apr 2012 16:24:35 +0200 -Subject: [PATCH 2/2] SConstruct: remove rpath +Subject: [PATCH 2/4] SConstruct: remove rpath * even with correct prefix (without DESTDIR) included it's redundant WARNING: QA Issue: libgps: @@ -13,19 +13,22 @@ Subject: [PATCH 2/2] SConstruct: remove rpath in file /OE/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/gpsd/gpsd-3.5-r0/packages-split/libgps/usr/lib/libgps.so.20.0 +Upstream-Status: Inapppropriate [embedded specific] + Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> +Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- - SConstruct | 7 +++++-- - 1 files changed, 5 insertions(+), 2 deletions(-) + SConstruct | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index a1bddb9..3e7c607 100644 +index f0cafa8..ff46713 100644 --- a/SConstruct +++ b/SConstruct -@@ -1205,8 +1205,11 @@ if qt_env: +@@ -1340,8 +1340,11 @@ 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"] and env["chrpath"]: - env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \ - % (installdir('libdir', False), )) @@ -38,5 +41,5 @@ index a1bddb9..3e7c607 100644 if not env['debug'] and not env['profiling'] and env['strip']: env.AddPostAction(binaryinstall, '$STRIP $TARGET') -- -1.7.5.4 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch similarity index 82% rename from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch rename to meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch index c6eb03b..1d8c14b 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch @@ -1,8 +1,8 @@ -From dd3ca38b27cce93f7e932abaa27b41371234fa90 Mon Sep 17 00:00:00 2001 +From ad7b06d375730b30f181c5efb3bf21418f296f73 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 - from python_lib_dir +Subject: [PATCH 3/4] 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 @@ -30,19 +30,22 @@ Subject: [PATCH] SConstruct: prefix includepy with sysroot and drop sysroot * python_lib_dir = python_lib_dir.replace(env['sysroot'], '') returns path to target sysroot +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 files changed, 9 insertions(+), 0 deletions(-) + SConstruct | 9 +++++++++ + 1 file changed, 9 insertions(+) diff --git a/SConstruct b/SConstruct -index 3c919fc..8478181 100644 +index ff46713..0e518e7 100644 --- a/SConstruct +++ b/SConstruct -@@ -932,6 +932,12 @@ else: - if vars[i] is None: - vars[i] = [] - (cc, cxx, opt, basecflags, ccshared, ldshared, so_ext, includepy, ldflags) = vars +@@ -1089,6 +1089,12 @@ else: + basecflags += ' -coverage' + ldflags += ' -coverage' + ldshared += ' -coverage' + + if env['sysroot']: + print "Prefixing includepy '%s' with sysroot prefix" % includepy @@ -52,7 +55,7 @@ index 3c919fc..8478181 100644 # in case CC/CXX was set to the scan-build wrapper, # ensure that we build the python modules with scan-build, too if env['CC'] is None or env['CC'].find('scan-build') < 0: -@@ -1165,11 +1171,14 @@ if not env['python']: +@@ -1353,11 +1359,14 @@ if not env['python']: python_install = [] else: python_lib_dir = sysconfig.get_python_lib(plat_specific=1) @@ -68,5 +71,5 @@ index 3c919fc..8478181 100644 python_modules_install = python_env.Install( DESTDIR + python_module_dir, python_modules) -- -1.7.8.5 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch similarity index 62% rename from meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch rename to meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch index 9db2432..8527f0d 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd-3.7/0001-SConstruct-disable-html-and-man-docs-building-becaus.patch +++ b/meta-oe/recipes-navigation/gpsd/gpsd-3.10/0004-SConstruct-disable-html-and-man-docs-building-becaus.patch @@ -1,7 +1,7 @@ -From ca1a781afbd68697ef2f573557f1f93ec7ab8d3c Mon Sep 17 00:00:00 2001 +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] SConstruct: disable html and man docs building because +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: @@ -20,30 +20,33 @@ It will try to load dtd and fail: | 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 files changed, 2 insertions(+), 2 deletions(-) + SConstruct | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SConstruct b/SConstruct -index 9c0f751..8236abb 100644 +index 0e518e7..c01a71b 100644 --- a/SConstruct +++ b/SConstruct -@@ -560,12 +560,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - +@@ -704,12 +704,12 @@ size_t strlcpy(/*@out@*/char *dst, /*@in@*/const char *src, size_t size); - manbuilder = mangenerator = htmlbuilder = None --if config.CheckXsltproc(): -+if False and config.CheckXsltproc(): - mangenerator = 'xsltproc' - build = "xsltproc --nonet %s $SOURCE >$TARGET" - htmlbuilder = build % docbook_html_uri - manbuilder = build % docbook_man_uri --elif WhereIs("xmlto"): -+elif False and WhereIs("xmlto"): - mangenerator = 'xmlto' - htmlbuilder = "xmlto html-nochunks $SOURCE; mv `basename $TARGET` $TARGET" - manbuilder = "xmlto man $SOURCE; mv `basename $TARGET` $TARGET" + manbuilder = mangenerator = htmlbuilder = None + if env['manbuild']: +- if config.CheckXsltproc(): ++ if False and config.CheckXsltproc(): + mangenerator = 'xsltproc' + build = "xsltproc --nonet %s $SOURCE >$TARGET" + htmlbuilder = build % docbook_html_uri + manbuilder = build % docbook_man_uri +- elif WhereIs("xmlto"): ++ elif False and WhereIs("xmlto"): + mangenerator = 'xmlto' + xmlto = "xmlto %s $SOURCE || mv `basename $TARGET` `dirname $TARGET`" + htmlbuilder = xmlto % "html-nochunks" -- -1.7.8.6 +1.8.5.5 diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb similarity index 92% rename from meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb rename to meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index 8c6a6f7..d12c7a8 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.7.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -7,20 +7,18 @@ PROVIDES = "virtual/gpsd" EXTRANATIVEPATH += "chrpath-native" -PR = "r14" - SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ - file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \ - file://0004-SConstruct-remove-rpath.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-respect-sysroot-also-in-SPLINTOPTS.patch \ + file://0002-SConstruct-remove-rpath.patch \ + file://0003-SConstruct-prefix-includepy-with-sysroot-and-drop-sy.patch \ + file://0004-SConstruct-disable-html-and-man-docs-building-becaus.patch \ file://gpsd-default \ file://gpsd \ file://60-gpsd.rules \ file://gpsd.service \ " -SRC_URI[md5sum] = "52d9785eaf1a51298bb8900dbde88f98" -SRC_URI[sha256sum] = "7800c478ee9d7ca7a502b0f892828561b1fbf7bc69d9d38c447c82c3628302ac" +SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" +SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" inherit scons update-rc.d python-dir pythonnative systemd -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [meta-oe][PATCH 3/5] pps-tools: add recipe 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 1/5] ntp: re-enable server debugging and control by PACKAGECONFIG Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 2/5] gpsd: update to 3.10 Peter A. Bigot @ 2014-08-28 12:06 ` Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 5/5] ntp: add optional " Peter A. Bigot 4 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw) To: openembedded-devel This provides some utilities and a user-space header necessary to use the Linux KPPS (RFC 2783) capabilities of gpsd and ntp. Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- meta-oe/recipes-support/pps-tools/pps-tools_git.bb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 meta-oe/recipes-support/pps-tools/pps-tools_git.bb diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb new file mode 100644 index 0000000..73c46ee --- /dev/null +++ b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb @@ -0,0 +1,16 @@ +SUMMARY = "User-space tools for LinuxPPS" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +PV = "0.0.0+git${SRCPV}" +SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8" +SRC_URI = "git://github.com/ago/pps-tools.git" + +S = "${WORKDIR}/git" + +do_install() { + install -d ${D}${bindir} ${D}${includedir} \ + ${D}${includedir}/sys + oe_runmake 'DESTDIR=${D}' install +} -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot ` (2 preceding siblings ...) 2014-08-28 12:06 ` [meta-oe][PATCH 3/5] pps-tools: add recipe Peter A. Bigot @ 2014-08-28 12:06 ` Peter A. Bigot 2014-08-28 12:53 ` Burton, Ross ` (2 more replies) 2014-08-28 12:06 ` [meta-oe][PATCH 5/5] ntp: add optional " Peter A. Bigot 4 siblings, 3 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw) To: openembedded-devel gpsd by default builds with PPS (pulse-per-second) support, but without kernel support to capture the edge of the pulse the accuracy is only +/-5us. Under Linux the pps-tools package installs the header required for the user-level API to the RFC 2783 KPPS interface. If gpsd detects this header, it will use the API to improve accuracy to +/-1us. See: http://www.catb.org/gpsd/gpsd-time-service-howto.html#_enabling_pps Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index d12c7a8..1c2d9eb 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -20,6 +20,9 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" +PACKAGECONFIG ??= "" +PACKAGECONFIG[kpps] = ",,pps-tools" + inherit scons update-rc.d python-dir pythonnative systemd INITSCRIPT_NAME = "gpsd" -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot @ 2014-08-28 12:53 ` Burton, Ross 2014-08-28 13:05 ` Peter A. Bigot 2014-08-28 14:29 ` Martin Jansa 2014-08-28 17:42 ` [meta-oe][PATCH v2] gpsd: add deterministic " Peter A. Bigot 2 siblings, 1 reply; 19+ messages in thread From: Burton, Ross @ 2014-08-28 12:53 UTC (permalink / raw) To: OE-devel On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: > +PACKAGECONFIG ??= "" > +PACKAGECONFIG[kpps] = ",,pps-tools" That's not actually deterministic - if pps-tools is installed but the packageconfig option is disabled then gpsd will still enable the support. Ross ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 12:53 ` Burton, Ross @ 2014-08-28 13:05 ` Peter A. Bigot 2014-08-28 14:32 ` Martin Jansa 0 siblings, 1 reply; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 13:05 UTC (permalink / raw) To: openembedded-devel On 08/28/2014 07:53 AM, Burton, Ross wrote: > On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: >> +PACKAGECONFIG ??= "" >> +PACKAGECONFIG[kpps] = ",,pps-tools" > That's not actually deterministic - if pps-tools is installed but the > packageconfig option is disabled then gpsd will still enable the > support. Yeah, I'm aware of that. It's also not something that can be controlled, since gpsd's author doesn't believe in configuration options to enable features: every capability is enabled or disabled by inspecting the environment at compile-time. Although ntp does support some explicit enable/disable flags, it too fails to provide a way to say "Pay no attention to that PPS header, it isn't really there." For this situation I don't think there's a big issue. The PACKAGECONFIG setting ensures that the header will be available if the feature is desired. If it happens to be present but PPS support isn't explicitly requested, there's no failure in either build or runtime: it's still gated by runtime checks for PPS sources and the option being enabled in the Linux kernel. (There are no runtime libraries that need to be installed to use KPPS.) Is this going to be a problem with the patch being accepted? Peter ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 13:05 ` Peter A. Bigot @ 2014-08-28 14:32 ` Martin Jansa 2014-08-28 15:23 ` Peter A. Bigot 0 siblings, 1 reply; 19+ messages in thread From: Martin Jansa @ 2014-08-28 14:32 UTC (permalink / raw) To: openembedded-devel [-- Attachment #1: Type: text/plain, Size: 1784 bytes --] On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: > On 08/28/2014 07:53 AM, Burton, Ross wrote: > > On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: > >> +PACKAGECONFIG ??= "" > >> +PACKAGECONFIG[kpps] = ",,pps-tools" > > That's not actually deterministic - if pps-tools is installed but the > > packageconfig option is disabled then gpsd will still enable the > > support. > > Yeah, I'm aware of that. It's also not something that can be > controlled, since gpsd's author doesn't believe in configuration options > to enable features: every capability is enabled or disabled by > inspecting the environment at compile-time. > > Although ntp does support some explicit enable/disable flags, it too > fails to provide a way to say "Pay no attention to that PPS header, it > isn't really there." Then we need to patch their configure. > For this situation I don't think there's a big issue. The PACKAGECONFIG > setting ensures that the header will be available if the feature is > desired. If it happens to be present but PPS support isn't explicitly > requested, there's no failure in either build or runtime: it's still > gated by runtime checks for PPS sources and the option being enabled in > the Linux kernel. (There are no runtime libraries that need to be > installed to use KPPS.) > > Is this going to be a problem with the patch being accepted? Yes people can be used to have KPPS support enabled by "accident" e.g. because they are building ntp with KPPS support and pps-tools is almost always built before gpsd.. and then once it's built in different order and end-user will be surprised by lost KPPS support from gpsd. -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 188 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 14:32 ` Martin Jansa @ 2014-08-28 15:23 ` Peter A. Bigot 2014-08-28 15:47 ` Martin Jansa 2014-08-28 15:48 ` Peter A. Bigot 0 siblings, 2 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 15:23 UTC (permalink / raw) To: openembedded-devel On 08/28/2014 09:32 AM, Martin Jansa wrote: > On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: >> On 08/28/2014 07:53 AM, Burton, Ross wrote: >>> On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: >>>> +PACKAGECONFIG ??= "" >>>> +PACKAGECONFIG[kpps] = ",,pps-tools" >>> That's not actually deterministic - if pps-tools is installed but the >>> packageconfig option is disabled then gpsd will still enable the >>> support. >> Yeah, I'm aware of that. It's also not something that can be >> controlled, since gpsd's author doesn't believe in configuration options >> to enable features: every capability is enabled or disabled by >> inspecting the environment at compile-time. >> >> Although ntp does support some explicit enable/disable flags, it too >> fails to provide a way to say "Pay no attention to that PPS header, it >> isn't really there." > Then we need to patch their configure. > >> For this situation I don't think there's a big issue. The PACKAGECONFIG >> setting ensures that the header will be available if the feature is >> desired. If it happens to be present but PPS support isn't explicitly >> requested, there's no failure in either build or runtime: it's still >> gated by runtime checks for PPS sources and the option being enabled in >> the Linux kernel. (There are no runtime libraries that need to be >> installed to use KPPS.) >> >> Is this going to be a problem with the patch being accepted? > Yes > > people can be used to have KPPS support enabled by "accident" e.g. > because they are building ntp with KPPS support and pps-tools is almost > always built before gpsd..and then once it's built in different order and end-user will be > surprised by lost KPPS support from gpsd. The number of people who will use KPPS is incredibly small, and nobody's going to use it unintentionally as it requires on-target configuration. Those who need it, though, have no recourse other than to build ntpd or gpsd outside of OE if patches like these aren't present. I understand the reasoning and agree in theory that absolute determinism would be ideal, but believe hacking the ntp and gpsd configuration infrastructure to explicitly disable use of a detected PPS header would present a bigger risk and long-term cost to stability and maintainability in OE than the possibility you've identified. So that solution isn't something I'm going to take on. An alternative is to add kpps to the default PACKAGECONFIG, so the required header is normally available. The cost of the feature's presence in the packages is nearly zero (a slight increase in daemon code size, and an extra check when the process starts.) Would that be acceptable? If we can't come to an agreement, then the only patch that's really important is the first one which restores the ability to diagnose misconfigured NTP systems. Please let me know whether I should mark the others as withdrawn in patchwork. Peter ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 15:23 ` Peter A. Bigot @ 2014-08-28 15:47 ` Martin Jansa 2014-08-28 15:51 ` Peter A. Bigot 2014-08-28 15:48 ` Peter A. Bigot 1 sibling, 1 reply; 19+ messages in thread From: Martin Jansa @ 2014-08-28 15:47 UTC (permalink / raw) To: openembedded-devel [-- Attachment #1: Type: text/plain, Size: 3337 bytes --] On Thu, Aug 28, 2014 at 10:23:54AM -0500, Peter A. Bigot wrote: > On 08/28/2014 09:32 AM, Martin Jansa wrote: > > On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: > >> On 08/28/2014 07:53 AM, Burton, Ross wrote: > >>> On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: > >>>> +PACKAGECONFIG ??= "" > >>>> +PACKAGECONFIG[kpps] = ",,pps-tools" > >>> That's not actually deterministic - if pps-tools is installed but the > >>> packageconfig option is disabled then gpsd will still enable the > >>> support. > >> Yeah, I'm aware of that. It's also not something that can be > >> controlled, since gpsd's author doesn't believe in configuration options > >> to enable features: every capability is enabled or disabled by > >> inspecting the environment at compile-time. > >> > >> Although ntp does support some explicit enable/disable flags, it too > >> fails to provide a way to say "Pay no attention to that PPS header, it > >> isn't really there." > > Then we need to patch their configure. > > > >> For this situation I don't think there's a big issue. The PACKAGECONFIG > >> setting ensures that the header will be available if the feature is > >> desired. If it happens to be present but PPS support isn't explicitly > >> requested, there's no failure in either build or runtime: it's still > >> gated by runtime checks for PPS sources and the option being enabled in > >> the Linux kernel. (There are no runtime libraries that need to be > >> installed to use KPPS.) > >> > >> Is this going to be a problem with the patch being accepted? > > Yes > > > > people can be used to have KPPS support enabled by "accident" e.g. > > because they are building ntp with KPPS support and pps-tools is almost > > always built before gpsd..and then once it's built in different order and end-user will be > > surprised by lost KPPS support from gpsd. > > The number of people who will use KPPS is incredibly small, and nobody's > going to use it unintentionally as it requires on-target configuration. > Those who need it, though, have no recourse other than to build ntpd or > gpsd outside of OE if patches like these aren't present. > > I understand the reasoning and agree in theory that absolute determinism > would be ideal, but believe hacking the ntp and gpsd configuration > infrastructure to explicitly disable use of a detected PPS header would > present a bigger risk and long-term cost to stability and > maintainability in OE than the possibility you've identified. So that > solution isn't something I'm going to take on. > > An alternative is to add kpps to the default PACKAGECONFIG, so the > required header is normally available. The cost of the feature's > presence in the packages is nearly zero (a slight increase in daemon > code size, and an extra check when the process starts.) Would that be > acceptable? More acceptable than the undeterministic behavior - you should even add it to DEPENDS. > If we can't come to an agreement, then the only patch that's really > important is the first one which restores the ability to diagnose > misconfigured NTP systems. Please let me know whether I should mark the > others as withdrawn in patchwork. -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 188 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 15:47 ` Martin Jansa @ 2014-08-28 15:51 ` Peter A. Bigot 0 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 15:51 UTC (permalink / raw) To: openembedded-devel On 08/28/2014 10:47 AM, Martin Jansa wrote: > On Thu, Aug 28, 2014 at 10:23:54AM -0500, Peter A. Bigot wrote: >> On 08/28/2014 09:32 AM, Martin Jansa wrote: >>> On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: >>>> On 08/28/2014 07:53 AM, Burton, Ross wrote: >>>>> On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: >>>>>> +PACKAGECONFIG ??= "" >>>>>> +PACKAGECONFIG[kpps] = ",,pps-tools" >>>>> That's not actually deterministic - if pps-tools is installed but the >>>>> packageconfig option is disabled then gpsd will still enable the >>>>> support. >>>> Yeah, I'm aware of that. It's also not something that can be >>>> controlled, since gpsd's author doesn't believe in configuration options >>>> to enable features: every capability is enabled or disabled by >>>> inspecting the environment at compile-time. >>>> >>>> Although ntp does support some explicit enable/disable flags, it too >>>> fails to provide a way to say "Pay no attention to that PPS header, it >>>> isn't really there." >>> Then we need to patch their configure. >>> >>>> For this situation I don't think there's a big issue. The PACKAGECONFIG >>>> setting ensures that the header will be available if the feature is >>>> desired. If it happens to be present but PPS support isn't explicitly >>>> requested, there's no failure in either build or runtime: it's still >>>> gated by runtime checks for PPS sources and the option being enabled in >>>> the Linux kernel. (There are no runtime libraries that need to be >>>> installed to use KPPS.) >>>> >>>> Is this going to be a problem with the patch being accepted? >>> Yes >>> >>> people can be used to have KPPS support enabled by "accident" e.g. >>> because they are building ntp with KPPS support and pps-tools is almost >>> always built before gpsd..and then once it's built in different order and end-user will be >>> surprised by lost KPPS support from gpsd. >> The number of people who will use KPPS is incredibly small, and nobody's >> going to use it unintentionally as it requires on-target configuration. >> Those who need it, though, have no recourse other than to build ntpd or >> gpsd outside of OE if patches like these aren't present. >> >> I understand the reasoning and agree in theory that absolute determinism >> would be ideal, but believe hacking the ntp and gpsd configuration >> infrastructure to explicitly disable use of a detected PPS header would >> present a bigger risk and long-term cost to stability and >> maintainability in OE than the possibility you've identified. So that >> solution isn't something I'm going to take on. >> >> An alternative is to add kpps to the default PACKAGECONFIG, so the >> required header is normally available. The cost of the feature's >> presence in the packages is nearly zero (a slight increase in daemon >> code size, and an extra check when the process starts.) Would that be >> acceptable? > More acceptable than the undeterministic behavior - you should even add > it to DEPENDS. So not make it configurable at all? OK, I think that would be safe, and would eliminate the existing non-determinism. I'll rework the patches to do that. Peter >> If we can't come to an agreement, then the only patch that's really >> important is the first one which restores the ability to diagnose >> misconfigured NTP systems. Please let me know whether I should mark the >> others as withdrawn in patchwork. > ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 15:23 ` Peter A. Bigot 2014-08-28 15:47 ` Martin Jansa @ 2014-08-28 15:48 ` Peter A. Bigot 2014-08-28 16:25 ` Martin Jansa 1 sibling, 1 reply; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 15:48 UTC (permalink / raw) To: openembedded-devel On 08/28/2014 10:23 AM, Peter A. Bigot wrote: > On 08/28/2014 09:32 AM, Martin Jansa wrote: >> On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: >>> On 08/28/2014 07:53 AM, Burton, Ross wrote: >>>> On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: >>>>> +PACKAGECONFIG ??= "" >>>>> +PACKAGECONFIG[kpps] = ",,pps-tools" >>>> That's not actually deterministic - if pps-tools is installed but the >>>> packageconfig option is disabled then gpsd will still enable the >>>> support. >>> Yeah, I'm aware of that. It's also not something that can be >>> controlled, since gpsd's author doesn't believe in configuration >>> options >>> to enable features: every capability is enabled or disabled by >>> inspecting the environment at compile-time. >>> >>> Although ntp does support some explicit enable/disable flags, it too >>> fails to provide a way to say "Pay no attention to that PPS header, it >>> isn't really there." >> Then we need to patch their configure. >> >>> For this situation I don't think there's a big issue. The >>> PACKAGECONFIG >>> setting ensures that the header will be available if the feature is >>> desired. If it happens to be present but PPS support isn't explicitly >>> requested, there's no failure in either build or runtime: it's still >>> gated by runtime checks for PPS sources and the option being enabled in >>> the Linux kernel. (There are no runtime libraries that need to be >>> installed to use KPPS.) >>> >>> Is this going to be a problem with the patch being accepted? >> Yes >> >> people can be used to have KPPS support enabled by "accident" e.g. >> because they are building ntp with KPPS support and pps-tools is almost >> always built before gpsd..and then once it's built in different order >> and end-user will be >> surprised by lost KPPS support from gpsd. > > The number of people who will use KPPS is incredibly small, and > nobody's going to use it unintentionally as it requires on-target > configuration. Those who need it, though, have no recourse other than > to build ntpd or gpsd outside of OE if patches like these aren't present. > > I understand the reasoning and agree in theory that absolute > determinism would be ideal, but believe hacking the ntp and gpsd > configuration infrastructure to explicitly disable use of a detected > PPS header would present a bigger risk and long-term cost to stability > and maintainability in OE than the possibility you've identified. So > that solution isn't something I'm going to take on. > > An alternative is to add kpps to the default PACKAGECONFIG, so the > required header is normally available. The cost of the feature's > presence in the packages is nearly zero (a slight increase in daemon > code size, and an extra check when the process starts.) Would that be > acceptable? > > If we can't come to an agreement, then the only patch that's really > important is the first one which restores the ability to diagnose > misconfigured NTP systems. Please let me know whether I should mark > the others as withdrawn in patchwork. If it matters, note that withdrawing the patches won't change the status quo: ntpd and gpsd are feature-sensitive to the presence of sys/timepps.h in the build environment, e.g. if pps-tools is added by another layer. The only difference is that without the patches there's no clue in their recipes that this could happen and no way to provide determinism in the want-kpps situation. Peter ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 15:48 ` Peter A. Bigot @ 2014-08-28 16:25 ` Martin Jansa 0 siblings, 0 replies; 19+ messages in thread From: Martin Jansa @ 2014-08-28 16:25 UTC (permalink / raw) To: openembedded-devel [-- Attachment #1: Type: text/plain, Size: 4059 bytes --] On Thu, Aug 28, 2014 at 10:48:59AM -0500, Peter A. Bigot wrote: > On 08/28/2014 10:23 AM, Peter A. Bigot wrote: > > On 08/28/2014 09:32 AM, Martin Jansa wrote: > >> On Thu, Aug 28, 2014 at 08:05:54AM -0500, Peter A. Bigot wrote: > >>> On 08/28/2014 07:53 AM, Burton, Ross wrote: > >>>> On 28 August 2014 13:06, Peter A. Bigot <pab@pabigot.com> wrote: > >>>>> +PACKAGECONFIG ??= "" > >>>>> +PACKAGECONFIG[kpps] = ",,pps-tools" > >>>> That's not actually deterministic - if pps-tools is installed but the > >>>> packageconfig option is disabled then gpsd will still enable the > >>>> support. > >>> Yeah, I'm aware of that. It's also not something that can be > >>> controlled, since gpsd's author doesn't believe in configuration > >>> options > >>> to enable features: every capability is enabled or disabled by > >>> inspecting the environment at compile-time. > >>> > >>> Although ntp does support some explicit enable/disable flags, it too > >>> fails to provide a way to say "Pay no attention to that PPS header, it > >>> isn't really there." > >> Then we need to patch their configure. > >> > >>> For this situation I don't think there's a big issue. The > >>> PACKAGECONFIG > >>> setting ensures that the header will be available if the feature is > >>> desired. If it happens to be present but PPS support isn't explicitly > >>> requested, there's no failure in either build or runtime: it's still > >>> gated by runtime checks for PPS sources and the option being enabled in > >>> the Linux kernel. (There are no runtime libraries that need to be > >>> installed to use KPPS.) > >>> > >>> Is this going to be a problem with the patch being accepted? > >> Yes > >> > >> people can be used to have KPPS support enabled by "accident" e.g. > >> because they are building ntp with KPPS support and pps-tools is almost > >> always built before gpsd..and then once it's built in different order > >> and end-user will be > >> surprised by lost KPPS support from gpsd. > > > > The number of people who will use KPPS is incredibly small, and > > nobody's going to use it unintentionally as it requires on-target > > configuration. Those who need it, though, have no recourse other than > > to build ntpd or gpsd outside of OE if patches like these aren't present. > > > > I understand the reasoning and agree in theory that absolute > > determinism would be ideal, but believe hacking the ntp and gpsd > > configuration infrastructure to explicitly disable use of a detected > > PPS header would present a bigger risk and long-term cost to stability > > and maintainability in OE than the possibility you've identified. So > > that solution isn't something I'm going to take on. > > > > An alternative is to add kpps to the default PACKAGECONFIG, so the > > required header is normally available. The cost of the feature's > > presence in the packages is nearly zero (a slight increase in daemon > > code size, and an extra check when the process starts.) Would that be > > acceptable? > > > > If we can't come to an agreement, then the only patch that's really > > important is the first one which restores the ability to diagnose > > misconfigured NTP systems. Please let me know whether I should mark > > the others as withdrawn in patchwork. > > If it matters, note that withdrawing the patches won't change the status > quo: ntpd and gpsd are feature-sensitive to the presence of > sys/timepps.h in the build environment, e.g. if pps-tools is added by > another layer. The only difference is that without the patches there's > no clue in their recipes that this could happen and no way to provide > determinism in the want-kpps situation. That's why I'm building world builds with many builds (to possibly find as many issues like this as possible). If it's in some private layer we cannot do much about it, but we can prevent this happening in meta-oe itself by careful review :). -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 188 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot 2014-08-28 12:53 ` Burton, Ross @ 2014-08-28 14:29 ` Martin Jansa 2014-08-28 17:42 ` [meta-oe][PATCH v2] gpsd: add deterministic " Peter A. Bigot 2 siblings, 0 replies; 19+ messages in thread From: Martin Jansa @ 2014-08-28 14:29 UTC (permalink / raw) To: openembedded-devel [-- Attachment #1: Type: text/plain, Size: 1752 bytes --] On Thu, Aug 28, 2014 at 07:06:20AM -0500, Peter A. Bigot wrote: > gpsd by default builds with PPS (pulse-per-second) support, but without > kernel support to capture the edge of the pulse the accuracy is only > +/-5us. Under Linux the pps-tools package installs the header required > for the user-level API to the RFC 2783 KPPS interface. If gpsd detects > this header, it will use the API to improve accuracy to +/-1us. > > See: http://www.catb.org/gpsd/gpsd-time-service-howto.html#_enabling_pps > > Signed-off-by: Peter A. Bigot <pab@pabigot.com> > --- > meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb > index d12c7a8..1c2d9eb 100644 > --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb > +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb > @@ -20,6 +20,9 @@ SRC_URI = "${SAVANNAH_GNU_MIRROR}/${BPN}/${BP}.tar.gz \ > SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3" > SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320" > > +PACKAGECONFIG ??= "" > +PACKAGECONFIG[kpps] = ",,pps-tools" Both recipes need some way of explicit disable of pps-tools, so that the result is the same when building gpsd or ntp before or after pps-tools. > inherit scons update-rc.d python-dir pythonnative systemd > > INITSCRIPT_NAME = "gpsd" > -- > 1.8.5.5 > > -- > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-devel -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 188 bytes --] ^ permalink raw reply [flat|nested] 19+ messages in thread
* [meta-oe][PATCH v2] gpsd: add deterministic support for KPPS interface 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot 2014-08-28 12:53 ` Burton, Ross 2014-08-28 14:29 ` Martin Jansa @ 2014-08-28 17:42 ` Peter A. Bigot 2 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 17:42 UTC (permalink / raw) To: openembedded-devel gpsd enables low-precision PPS (pulse-per-second) support by default, but only includes the high-precision kernel API capabilities if sys/timepps.h is also detected. Under Linux the pps-tools package installs this header. Remove the feature non-determinism and increase gpsd capabilities by adding an explicit dependency. See: http://www.catb.org/gpsd/gpsd-time-service-howto.html#_enabling_pps Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- V2: replace PACKAGECONFIG with DEPENDS to remove nondeterminism meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb index d12c7a8..6d3adc1 100644 --- a/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb +++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.10.bb @@ -2,7 +2,7 @@ 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" +DEPENDS = "dbus dbus-glib ncurses python libusb1 chrpath-replacement-native pps-tools" PROVIDES = "virtual/gpsd" EXTRANATIVEPATH += "chrpath-native" -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [meta-oe][PATCH 5/5] ntp: add optional support for KPPS interface 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot ` (3 preceding siblings ...) 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot @ 2014-08-28 12:06 ` Peter A. Bigot 2014-08-28 17:43 ` [meta-networking][PATCH v2] ntp: add deterministic " Peter A. Bigot 4 siblings, 1 reply; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 12:06 UTC (permalink / raw) To: openembedded-devel ntp checks for presence of sys/timepps.h to determine whether the kernel supports the RFC 2783 KPPS interface. Without this feature the ATOM clock driver does not work, and other drivers like NMEA require offset configuration. See: http://doc.ntp.org/4.2.6/kernpps.html Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- meta-networking/recipes-support/ntp/ntp.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp.inc index 55926e0..fc50fe3 100644 --- a/meta-networking/recipes-support/ntp/ntp.inc +++ b/meta-networking/recipes-support/ntp/ntp.inc @@ -47,6 +47,7 @@ PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \ PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap" PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline" PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging" +PACKAGECONFIG[kpps] = ",,pps-tools" do_install_append() { install -d ${D}${sysconfdir}/init.d -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* [meta-networking][PATCH v2] ntp: add deterministic support for KPPS interface 2014-08-28 12:06 ` [meta-oe][PATCH 5/5] ntp: add optional " Peter A. Bigot @ 2014-08-28 17:43 ` Peter A. Bigot 2014-09-29 7:50 ` Rongqing Li 0 siblings, 1 reply; 19+ messages in thread From: Peter A. Bigot @ 2014-08-28 17:43 UTC (permalink / raw) To: openembedded-devel ntp checks for presence of sys/timepps.h to determine whether the kernel supports the RFC 2783 KPPS interface. Under Linux the pps-tools package installs this header. Without this feature the ATOM clock driver does not work, and other drivers like NMEA have reduced precision. Remove the feature non-determinism and increase ntpd capabilities by adding an explicit dependency. See: http://doc.ntp.org/4.2.6/kernpps.html Signed-off-by: Peter A. Bigot <pab@pabigot.com> --- V2: replace PACKAGECONFIG with DEPENDS to remove nondeterminism meta-networking/recipes-support/ntp/ntp.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp.inc index 55926e0..f55a39a 100644 --- a/meta-networking/recipes-support/ntp/ntp.inc +++ b/meta-networking/recipes-support/ntp/ntp.inc @@ -8,6 +8,8 @@ SECTION = "console/network" LICENSE = "NTP" LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670" +DEPENDS = "pps-tools" + INC_PR = "r6" SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ -- 1.8.5.5 ^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [meta-networking][PATCH v2] ntp: add deterministic support for KPPS interface 2014-08-28 17:43 ` [meta-networking][PATCH v2] ntp: add deterministic " Peter A. Bigot @ 2014-09-29 7:50 ` Rongqing Li 2014-09-29 10:19 ` Peter A. Bigot 0 siblings, 1 reply; 19+ messages in thread From: Rongqing Li @ 2014-09-29 7:50 UTC (permalink / raw) To: openembedded-devel On 08/29/2014 01:43 AM, Peter A. Bigot wrote: > ntp checks for presence of sys/timepps.h to determine whether the kernel > supports the RFC 2783 KPPS interface. Under Linux the pps-tools package > installs this header. Without this feature the ATOM clock driver does > not work, and other drivers like NMEA have reduced precision. Remove > the feature non-determinism and increase ntpd capabilities by adding an > explicit dependency. > > See: http://doc.ntp.org/4.2.6/kernpps.html > > Signed-off-by: Peter A. Bigot <pab@pabigot.com> > --- > V2: replace PACKAGECONFIG with DEPENDS to remove nondeterminism > > meta-networking/recipes-support/ntp/ntp.inc | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp.inc > index 55926e0..f55a39a 100644 > --- a/meta-networking/recipes-support/ntp/ntp.inc > +++ b/meta-networking/recipes-support/ntp/ntp.inc > @@ -8,6 +8,8 @@ SECTION = "console/network" > LICENSE = "NTP" > LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670" > > +DEPENDS = "pps-tools" Could we add this dependent by PACKAGECONFIG? -R > + > INC_PR = "r6" > > SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \ > -- Best Reagrds, Roy | RongQing Li ^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [meta-networking][PATCH v2] ntp: add deterministic support for KPPS interface 2014-09-29 7:50 ` Rongqing Li @ 2014-09-29 10:19 ` Peter A. Bigot 0 siblings, 0 replies; 19+ messages in thread From: Peter A. Bigot @ 2014-09-29 10:19 UTC (permalink / raw) To: Rongqing Li, openembedded-devel On 09/29/2014 02:50 AM, Rongqing Li wrote: > > > On 08/29/2014 01:43 AM, Peter A. Bigot wrote: >> ntp checks for presence of sys/timepps.h to determine whether the kernel >> supports the RFC 2783 KPPS interface. Under Linux the pps-tools package >> installs this header. Without this feature the ATOM clock driver does >> not work, and other drivers like NMEA have reduced precision. Remove >> the feature non-determinism and increase ntpd capabilities by adding an >> explicit dependency. >> >> See: http://doc.ntp.org/4.2.6/kernpps.html >> >> Signed-off-by: Peter A. Bigot <pab@pabigot.com> >> --- >> V2: replace PACKAGECONFIG with DEPENDS to remove nondeterminism >> >> meta-networking/recipes-support/ntp/ntp.inc | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/meta-networking/recipes-support/ntp/ntp.inc >> b/meta-networking/recipes-support/ntp/ntp.inc >> index 55926e0..f55a39a 100644 >> --- a/meta-networking/recipes-support/ntp/ntp.inc >> +++ b/meta-networking/recipes-support/ntp/ntp.inc >> @@ -8,6 +8,8 @@ SECTION = "console/network" >> LICENSE = "NTP" >> LIC_FILES_CHKSUM = >> "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670" >> >> +DEPENDS = "pps-tools" > > Could we add this dependent by PACKAGECONFIG? That was my original intent, but it was rejected as non-deterministic. See discussion at: http://patchwork.openembedded.org/patch/79279/ Peter ^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2014-09-29 10:19 UTC | newest] Thread overview: 19+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-08-28 12:06 [meta-oe][PATCH 0/5] ntpd and gpsd updates for high-precision timing Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 1/5] ntp: re-enable server debugging and control by PACKAGECONFIG Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 2/5] gpsd: update to 3.10 Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 3/5] pps-tools: add recipe Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 4/5] gpsd: add optional support for KPPS interface Peter A. Bigot 2014-08-28 12:53 ` Burton, Ross 2014-08-28 13:05 ` Peter A. Bigot 2014-08-28 14:32 ` Martin Jansa 2014-08-28 15:23 ` Peter A. Bigot 2014-08-28 15:47 ` Martin Jansa 2014-08-28 15:51 ` Peter A. Bigot 2014-08-28 15:48 ` Peter A. Bigot 2014-08-28 16:25 ` Martin Jansa 2014-08-28 14:29 ` Martin Jansa 2014-08-28 17:42 ` [meta-oe][PATCH v2] gpsd: add deterministic " Peter A. Bigot 2014-08-28 12:06 ` [meta-oe][PATCH 5/5] ntp: add optional " Peter A. Bigot 2014-08-28 17:43 ` [meta-networking][PATCH v2] ntp: add deterministic " Peter A. Bigot 2014-09-29 7:50 ` Rongqing Li 2014-09-29 10:19 ` Peter A. Bigot
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.