BSD Ports

sysutils/clockspeed 0.62_7 FreeBSD

Uses a hardware tick counter to compensate for deviant system clock

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Categories
sysutils
Package size
23.3 KiB, 82.3 KiB installed

Description

clockspeed uses a hardware tick counter to compensate for a persistently fast or slow system clock. Given a few time measurements from a reliable source, it computes and then eliminates the clock skew.

sntpclock checks another system's NTP clock, and prints the results in a format suitable for input to clockspeed. sntpclock is the simplest available NTP/SNTP client.

taiclock and taiclockd form an even simpler alternative to SNTP. They are suitable for precise time synchronization over a local area network, without the hassles and potential security problems of an NTP server.

This version of clockspeed can use the Pentium RDTSC tick counter or the Solaris gethrtime() nanosecond counter.

A port to non-i386 platforms was done using the clock_gettime(2) function. Since this is somewhat experimental, there might be some tiny precision differences from the i386 platform versions. You have been warned!

In the other systems

SystemPortVersion
FreeBSDsysutils/clockspeed0.62_7
DragonFlysysutils/clockspeed0.62_6

Install

Binary package:

pkg install clockspeed

From the ports tree:

cd /usr/ports/sysutils/clockspeed/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	clockspeed>0:sysutils/clockspeed

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest0.62_70.62_70.62_50.62_70.62_7
FreeBSD:14:quarterly0.62_70.62_7n/a0.62_70.62_7
FreeBSD:15:latest0.62_70.62_7n/a0.62_70.62_7
FreeBSD:15:quarterly0.62_70.62_7n/an/an/a
FreeBSD:16:latest0.62_70.62_7n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Library 1

The full lists below include those, and their dependencies in turn.

Build dependencies 8
Run dependencies 1

No port depends on this one.

Configuration

Options name: sysutils_clockspeed

OptionDefaultDescription
DOCSoffBuild and/or install documentation
USES
groff
Service scripts
none

Message after installing

Please make sure that you read /usr/local/share/doc/clockspeed/INSTALL.
It contains important information about testing and configuring
clockspeed, and finally installing it in your system.

Clockspeed uses the libtai library, check /usr/ports/devel/libtai
for more details. TAI time measure is off 22 seconds from UTC time
measure. Therefore, your system time will show a 22 secs difference
from your time source after you've installed this port.

To fix this, you could follow this simple recipe created with
PR ports/27617.

1) killall clockspeed (you can't have it running)
2) sntpclock IP.OF.NTP.SERVER | clockadd
3) enable/start clockspeed :
	% cp /usr/local/etc/rc.d/clockspeed.sh.sample \
	  /usr/local/etc/rc.d/clockspeed.sh
	# enable clockspeed to automagically start next
	# time you reboot. do this after testing everything
	% /usr/local/etc/rc.d/clockspeed.sh start
	# start clockspeed now
4) sntpclock IP.OF.NTP.SERVER > /usr/local/etc/clockspeed/adjust
5) cd /usr/src/share/zoneinfo
6) make -DLEAPSECONDS clean all install ; make clean

Step 5 and 6 build support in your system for leapseconds handling.
Take a note about this since you might forget later to disable it
if you remove this port. To disable it, simply re-do step 6 without
-DLEAPSECONDS.
Step 6 should not break anything but you can disable it anytime
as per last paragraph if you think something unusual has happened
to your system.

7) /stand/sysinstall -> configure -> time zone (choose the correct
   time zone for your system)
8) sntpclock IP.OF.NTP.SERVER | clockview

Check how close is your clock before and after now. Should be
within milliseconds.

Do not forget to add a cron(8) job with step 4 to periodically
adjust clockspeed's drift rate. Once a week should be more than
adequate.

A port to non-i386 platforms was done using the clock_gettime(2)
function. Since this is somewhat experimental, there might be some
tiny precision differences from the i386 platform versions. You
have been warned!

===>   NOTICE:

The clockspeed port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://docs.freebsd.org/en/articles/contributing/#ports-contributing

Files

Manual pages 6
  • clockadd(1)
  • clockspeed(1)
  • clockview(1)
  • sntpclock(1)
  • taiclock(1)
  • taiclockd(1)
pkg-plist 18
  • bin/clockadd
  • bin/clockspeed
  • bin/clockview
  • bin/sntpclock
  • bin/taiclock
  • bin/taiclockd
  • share/doc/clockspeed/INSTALL
  • share/doc/clockspeed/INSTALL-FreeBSD
  • @mode 0755
  • etc/clockspeed/leapsecs.dat
  • @sample etc/rc.d/clockspeed.sh.sample
  • share/man/man1/clockadd.1.gz
  • share/man/man1/clockspeed.1.gz
  • share/man/man1/clockview.1.gz
  • share/man/man1/sntpclock.1.gz
  • share/man/man1/taiclock.1.gz
  • share/man/man1/taiclockd.1.gz
  • @postunexec echo "If you are permanently removing this port, you should do a ``rm -Rf ${PKG_PREFIX}/etc/clockspeed`` to remove any configuration files left." | fmt
distinfo 1
FileSizeSHA256
clockspeed-0.62.tar.gz2579743539964c4b554794b2da760d138c5975cbc850f1c8ec2ee96f5dba66e0d9eed
Master sites 2
  • http://cr.yp.to/clockspeed/
  • http://redundancy.redundancy.org/mirror/

Commit history 0

No commits in the history this site was built from.