# Contributor: Łukasz Jendrysik # Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net> # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Dan Theisen <djt@hxx.in> pkgname=chrony pkgver=3.4 pkgrel=0 _ver=${pkgver/_/-} pkgdesc="NTP client and server programs" url="https://chrony.tuxfamily.org" pkgusers="$pkgname" pkggroups="$pkgname" arch="all" license="GPL-2.0-only" install="$pkgname.pre-install $pkgname.pre-upgrade" depends="" makedepends="asciidoctor libcap-dev texinfo" checkdepends="bash" subpackages="$pkgname-doc $pkgname-openrc" source="https://download.tuxfamily.org/$pkgname/$pkgname-$_ver.tar.gz fix-tests.patch max_resolve_interval.patch chrony-include-util.patch chronyd.confd chronyd.initd chrony.logrotate chrony.conf timepps.h " builddir="$srcdir/$pkgname-$_ver" prepare() { default_prepare # We copy timepps.h to the local build directory instead of # creating a pps-tools-dev package for ppstime.h # (See https://github.com/ago/pps-tools) # # Adelie TODO: This is originally an Alpine hack, however it looks like # the pps-tools upstream is currently dead, we should determine if this # is the right solution going forward. mkdir -p pps-tools/sys cp "$srcdir"/timepps.h pps-tools/sys/ } build() { cd "$builddir" CPPFLAGS="$CPPFLAGS -I./pps-tools/" ./configure \ --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --sysconfdir=/etc/$pkgname \ --disable-readline \ --with-user=$pkgname \ --with-sendmail=/usr/sbin/sendmail \ --enable-ntp-signd make all docs } check() { cd "$builddir" make check } package() { cd "$builddir" make DESTDIR="$pkgdir" install mkdir -p "$pkgdir"/etc/logrotate.d install -Dm644 "$srcdir"/chrony.logrotate "$pkgdir"/etc/logrotate.d/chrony mkdir -p "$pkgdir"/usr/share/doc/chrony install -m644 examples/*.example "$pkgdir"/usr/share/doc/chrony/ install -Dm755 "$srcdir"/chronyd.initd "$pkgdir"/etc/init.d/chronyd install -Dm644 "$srcdir"/chronyd.confd "$pkgdir"/etc/conf.d/chronyd mkdir -p "$pkgdir"/var/lib/chrony \ "$pkgdir"/etc/chrony # allow chrony to write logs, and wheel users to read them install -dm2750 -o $pkgusers -g wheel "$pkgdir"/var/log/chrony # chrony shouldn't be able to modify its own config chown $pkgusers:$pkggroups "$pkgdir"/etc/chrony install -m644 -o root -g root "$srcdir"/chrony.conf \ "$pkgdir"/etc/chrony/chrony.conf # chrony.drift must be writable by chrony user touch "$pkgdir"/var/lib/chrony/chrony.drift chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/chrony } sha512sums="4fbb0311c8d363a87edd6f5d1be3d8554da169f260ba23c1ad9e8c567808258c6fd7513ba630d6fa27453ecfd81f0ece0e26d5ee2f98ca47fbc9887181a36918 chrony-3.4.tar.gz 067d47224a8c075ec8f63ffc58e65b030fdf228a72c4f03d50a2f2c17414da65bb5d27c7c2e4ba99e909f452041db83eaebe3c9e34c0c8fce18e05ebb489735e fix-tests.patch b26581ed32680585edea5b8163a0062a87f648394c0f363c77a7d01a36608fcf4d005d9e6ab179ed2827b8a08f598f7bad4801bb5e135cad5107eb77fb19b247 max_resolve_interval.patch 30f1ed28e0d956c994abd770c68634c7d5c69ded04a2fbfd387bbd8009bc0102ce57934ce41e468fc6b2c7f8fefdab73d97f6d6ff39ec93fffa6575fa1451fbd chrony-include-util.patch 1ebb72341b4421060a43d6db164d743de9144f1c23370e052f0db92a17e5e34f24ac98baddeb5dbfef27f67479142d448c4401d927394e55024760730a27e8de chronyd.confd 9a18c9744d7b78d9b9be3f0ae0b43cb988b294c342764802e0d5df835d450e748584c0b345f7161f14d84e15c8bbd491514ee9dc45e4a65f1276c52124d2e312 chronyd.initd ab38f06bf45888846778ad935e24abb30d13b6805e9a750bc694ff953695fa8c5b33aac560f5f7f96dc46031c1a38660e5c418b6fce6fb34a87908a9a3c99357 chrony.logrotate 41dca08064abb7ea1c54ca3587f4a614ab1fdecd98ef77b39d10ac23366772860aacce2a12c647331199dbfe3e242834e70aa5643b24b773e6fe266ad4125007 chrony.conf eb11fc19243d1789016d88eb7645bfe67c46304547781489bf36eb1dd4c252d523681ff835a6488fa0ef62b6b9e2f781c672279f4439f5d5640a3f214a113048 timepps.h"