[Git][NTPsec/ntpsec][20L-Dec24-unholy] Update some docs to reflect post 1.2.0 changes.
James Browning
gitlab at mg.gitlab.com
Tue Dec 29 08:08:41 UTC 2020
James Browning pushed to branch 20L-Dec24-unholy at NTPsec / ntpsec
Commits:
597872e7 by James Browning at 2020-12-29T00:07:37-08:00
Update some docs to reflect post 1.2.0 changes.
- - - - -
3 changed files:
- NEWS.adoc
- devel/hacking.adoc
- packaging/packaging.adoc
Changes:
=====================================
NEWS.adoc
=====================================
@@ -12,6 +12,19 @@ on user-visible changes.
== Repository Head ==
+Remove --build-epoch and replace it with arbitrary --build-desc text.
+fix pivot of 2020 Jan 01. Passing '--build-desc=$(date -u
++%Y-%m-%dT%H:%M:%Sz)' restores the previous default extended version.
+
+Compare versions of ntp.ntpc and libntpc printing a warning is
+mismatched. Fix libntpc install path if using it.
+
+Reduce maxlocks to 5 to reduce the NTP pool load.
+
+print LIBDIR during ./waf configure.
+
+Documentation, new GPG key, and miscellaneous cleanups.
+
== 2020-10-06: 1.2.0 ==
The minor version bump is to indicate official official support of
@@ -22,7 +35,7 @@ On this day in 1783, Benjamin Hanks received a patent for a
self-winding clock he planned to install in the Old Dutch Church in
Kingston, New York, supposedly making it the first public clock in
what became the New York City metropolitan area.
-
+
NTS-KE client now defaults to port 4460.
NTS-KE server now listens on port 4460.
=====================================
devel/hacking.adoc
=====================================
@@ -497,17 +497,13 @@ C was the minor. They also use release-candidate suffixes.
== Version string
-We use the BUILD_EPOCH as described in packaging/packaging.adoc for
-the timestamp (converted to RFC 3339 format) part of the version
-string reported in ntpd and other binaries.
-
Release builds have version strings of the form:
-<base version number> <BUILD_EPOCH in RFC 3339 format>
+<base version number><trim()d --build-desc with a prepended space>
Development builds have version strings of the form:
-<base version number>+ <BUILD_EPOCH in RFC 3339 format> (git rev <git shorthash>)
+<base version number>+<commits since last tag>-g<git short hash><conditional '-dirty'> <trim()d --build-desc with a prepended space>
== Contribution workflow and conventions
@@ -812,6 +808,6 @@ cat > ~/.gitconfig
^D
-------------------------------------------------------------
-.
+.
//end
=====================================
packaging/packaging.adoc
=====================================
@@ -58,44 +58,33 @@ binaries created by cx_freeze.
== Hacking Python shebangs
-The shebang lines in our Python scripts point to "python". Part of
-our standard tests check that you can change that to "python3" without
-breaking anything.
+The shebang lines in our Python scripts point to the vakue of
+--pyshebang (default "python"). Part of our standard development tests
+check that you can change that to "python3" without breaking anything.
-We are aware that the Python 3 transition is well advanced. We are
-also aware that PEP394 strongly urges all distributors to point
-'python' at Python 2.
-
-This leaves us with a choice to either (a) change the shebangs to
-python3 ourselves, causing breakage to users stuck with Python 2
-and installing from source, or (b) not change them, leaving it up
-to distro maintainers to hack them in whatever way is appropriate for
-their distro's Python policy.
-
-We think the choice that minimizes overall pain, and directs it to
-the party best able to cope, is clear. We choose (b).
+We are aware that the Python 3 transition is well advanced. We are also
+aware that PEP394 strongly urges all distributors to point 'python' at
+Python 2.
== Cross-era interoperability in modular calendar arithmetic
-The protocol necessarily uses time/date stamps of finite length in
-order to fit into fixed-size fields; they happen to have a 136-year
-cycle, but the problems this produces aren't dependent on the specific
-cycle length. Thus, each instance of ntpd speaks time based on a
-specific epoch (cycle start date). The epoch of era 0 was at the
-beginning of 1900; the epoch of era 1 will be in 2036.
+The protocol necessarily uses time/date stamps of finite length in order
+to fit into fixed-size fields; they happen to have a 136-year cycle, but
+the problems this produces aren't dependent on the specific cycle
+length. Thus, each instance of ntpd speaks time based on a specific
+epoch (cycle start date). The epoch of era 0 was at the beginning of
+1900; the epoch of era 1 will be in 2036.
Two instances talking to each other have no way to know that they're
-based in the same era. To mitigate this problem, each instance
-has a pivot date and resolves incoming timestamps to the era that
-minimizes distance between now and the timestamp. This procedure
-is part of the core protocol specification.
-
-An instance's pivot time is constructed from BUILD_EPOCH defined at
-configure time in config.h. If BUILD_EPOCH is set to a known time
-then the binaries are reproducible. By default the BUILD_EPOCH is the
-time when the last './waf configure' was run. You can override the
-BUILD_EPOCH with './waf configure --build-epoch' or using the SOURCE_DATE_EPOCH
-environment variable.
+based in the same era. To mitigate this problem, each instance has a
+pivot date and resolves incoming timestamps to the era that minimizes
+distance between now and the timestamp. This procedure is part of the
+core protocol specification.
+
+An instance's pivot time is constructed from a hardcoded unix second
+count in the source code. This is also used to disambigulate the current
+GPS era. This number should be updated every nine years or so (approx
+512w). This should make the binaries reproducible.
More information on reproducible builds is at:
https://reproducible-builds.org/[https://reproducible-builds.org/]
@@ -105,7 +94,7 @@ https://reproducible-builds.org/[https://reproducible-builds.org/]
Due to bad design of NMEA0183, the reporting protocol used by many GPS
sensors, the NMEA driver in NTPsec sometimes has to make an assumption
about what century it is. Choice of a base-century hits the same
-issues; so here the year derived from the BUILD_EPOCH is also used. The
+issues; so here the year derived from a hardcoded unix second count. The
alternative - trusting the system clock to report the right century -
could produce very bad behavior near century boundaries, and also on
cold-start of systems without an RTC.
View it on GitLab: https://gitlab.com/NTPsec/ntpsec/-/commit/597872e7d05f986c3abf4db6f8c09143a881677a
--
View it on GitLab: https://gitlab.com/NTPsec/ntpsec/-/commit/597872e7d05f986c3abf4db6f8c09143a881677a
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ntpsec.org/pipermail/vc/attachments/20201229/e9bddd4e/attachment-0001.htm>
More information about the vc
mailing list