Skip to content

A systemd service that enters the finished state only when systemd-timesyncd successfully synchronizes the time and date with an NTP server.

License

Notifications You must be signed in to change notification settings

SimonvanEeden/systemd-timesyncd-wait

 
 

Repository files navigation

Proper time-sync.target support for systemd-timesyncd

This package essentially just works around systemd/systemd#5097

systemd.special(7) tells us that "All services where correct time is essential should be ordered after [time-sync.target]". However, systemd-timesyncd allows time-sync.target to be reached before timesyncd has actually synchronized the time. This is because it sends READY=1 as soon as the daemon has initialized, rather that waiting until it has successfully synchronized to an NTP server.

It would be trivial to patch timesyncd to wait, but that would introduce some other problems.

So, I'm introducing systemd-timesyncd-wait. It is a service that listens for messages from systemd-timesyncd, and block until it sees a message indicating that systemd-timesyncd has synchronized the time.

Installation

To compile systemd-timesyncd-wait, you will need the following

  • Go >= 1.4
  • GNU Make

The only run-time dependencies are systemd (obviously), and the rm program.

To install, simply grab a copy of the repo, and run make install, with any configuration options specified as arguments:

make prefix=/usr install

Of course, the desired value prefix= depends on your system. Arch and Parabola users will be most happy with prefix=/usr, Ubuntu Xenial users will want to set prefix=/.

About

A systemd service that enters the finished state only when systemd-timesyncd successfully synchronizes the time and date with an NTP server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 76.9%
  • Makefile 23.1%