summaryrefslogtreecommitdiff
path: root/net-misc/ntp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/ntp
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/ntp')
-rw-r--r--net-misc/ntp/Manifest30
-rwxr-xr-xnet-misc/ntp/files/man-pages/genmans.sh75
-rw-r--r--net-misc/ntp/files/man-pages/ntp.conf.5.patch27
-rw-r--r--net-misc/ntp/files/man-pages/ntp.xsl218
-rw-r--r--net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch16
-rw-r--r--net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch13
-rw-r--r--net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch39
-rw-r--r--net-misc/ntp/files/ntp-4.2.8_p10-libressl.patch35
-rw-r--r--net-misc/ntp/files/ntp-4.2.8_p10-ntpq-fpic.patch11
-rw-r--r--net-misc/ntp/files/ntp-4.2.8_p9-fix-build-wo-ssl-or-libressl.patch236
-rw-r--r--net-misc/ntp/files/ntp-client.confd21
-rw-r--r--net-misc/ntp/files/ntp-client.rc31
-rw-r--r--net-misc/ntp/files/ntp.conf54
-rw-r--r--net-misc/ntp/files/ntpd.confd6
-rw-r--r--net-misc/ntp/files/ntpd.rc-r122
-rw-r--r--net-misc/ntp/files/ntpd.service-r211
-rw-r--r--net-misc/ntp/files/ntpdate.service-r114
-rw-r--r--net-misc/ntp/files/ntpdate.service.conf2
-rw-r--r--net-misc/ntp/files/sntp.confd4
-rw-r--r--net-misc/ntp/files/sntp.rc26
-rw-r--r--net-misc/ntp/files/sntp.service-r214
-rw-r--r--net-misc/ntp/files/sntp.service.conf2
-rw-r--r--net-misc/ntp/metadata.xml23
-rw-r--r--net-misc/ntp/ntp-4.2.8_p10-r1.ebuild140
-rw-r--r--net-misc/ntp/ntp-4.2.8_p9.ebuild136
25 files changed, 1206 insertions, 0 deletions
diff --git a/net-misc/ntp/Manifest b/net-misc/ntp/Manifest
new file mode 100644
index 000000000000..4836ada87315
--- /dev/null
+++ b/net-misc/ntp/Manifest
@@ -0,0 +1,30 @@
+AUX man-pages/genmans.sh 1882 SHA256 455bf5a731355c60cb43305befeffbf528a5a6f33e17a72999d0eed65eec59e5 SHA512 7f5161c8c25066f1a08e0c228956716aa55e2b5c54e4a67e1d9b18ffcd9bdc56e95c345ffbee9c35d974146652909b80c87a2796053b26dd0b2a0ac40afefd6d WHIRLPOOL a5bf5f75edb7d32ad6804324a43736a25afabcea5a90e514dc1f83506953a62080e81842300ce9d69740e733df9e23f7503cb67941845c61e8372166611f5645
+AUX man-pages/ntp.conf.5.patch 503 SHA256 d26c1006d72d76591588fbd058000596b17b0b9bcbd184d4e6cedbc31c3b1027 SHA512 6e75a7900c2cde0484e57e18b1244ed188b58be54b6622c3777251a2f412a27a98c41a65d6d62d93f9e84856f211bb268bd005aca146bc27aed982daf63f24fe WHIRLPOOL f5d8d571206478a12f1f80e483b4b7cb94707e1c0caf55c45c319e81fb5425d5e61686ad3eb13c0bb4c694621858f8a9399eb5f5b92237fb39ccb5aaba90b6cd
+AUX man-pages/ntp.xsl 5831 SHA256 8a41227ded8953c90f49022f68bdaba60f9d82fe528d5a93157672c5bf8db03d SHA512 c4fb1333a35a803783dc209186ea9005a0e529aba96103460e23a0eca483414898037802686cfff04bf910b06eb27ba8805c460962c3626af2d0951904484cbd WHIRLPOOL 0376d57f0e657c9a09fa83c69485fe202f4ef6d46957d7a2680410cb08ac0d5083e4bcb4221175acc942d211fdbb7ffbbf4d9ed00a43b8087c90fbe2a4e3f808
+AUX ntp-4.2.8-ipc-caps.patch 471 SHA256 2b63684fdf2d77d4b85081b1d2809a52b34b1406c0d469000ae12795c4b91394 SHA512 549a92021ebceb1a3ea8d6599e9aa31983b0db96a2ab88959e422a0f9b7a9a4e811b943de1ac4d04e3303309b43391610beec0d1a354eb320dc795576afdd81f WHIRLPOOL c3dd13f7ef04d4f42e37da3ad6c205d91a312600eb45ff1497c8a6ecb58cc83f400763e23ce2f19aff0b025ce9890082d2b7f84cfa69acb13ca6d895a3e84cce
+AUX ntp-4.2.8-sntp-test-pthreads.patch 325 SHA256 3af800a07382a217cfa854166664dbe6c91c54d23cca9c7a2bab01d433d50cd2 SHA512 d4eef7c2bdcd1db9bdb6923d78b106519efe927134a0133bd18c07195214c64535d47a0265647f2c55ff08f9ede192c2fa05a8a52bf2c1e1532d3bee9f0de8a4 WHIRLPOOL d8151be7a9a0966bd390246d4d31f229e0071969c94293a0c01944bfd610ba50a0c6d639832fe026dc0708e827a3aa0674320251f82badf0e321958ea6b50b32
+AUX ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch 1305 SHA256 312c45416216f0061777f6cf02b5dde6ec6d3c75fbf3a70fff11d947d93e043b SHA512 6d6e3d98ff3b76575df8c5fa57e9ed4f7f9a4e12c2ffcfafe762a5f93ca3af8a807fd08a1cbb7c276748384702d98b60e160795cc0875fa73a3304bbe0038ba9 WHIRLPOOL 7db8ad867eb39b6b913d536229171134b04a99772594a6b0a6dfa0a87f59a1f8ba505945a6d5dd4d4f9ca9396c383b72b8b9d9e1068c86366a5c4c29b8dc5493
+AUX ntp-4.2.8_p10-libressl.patch 1669 SHA256 1f77e7b0d125e8f3502139e6052d46849b5861d9915adfda9b11616fab42e9a8 SHA512 2a44b250fa33725d0cee075dbf3fdbe616335432f7b31a0753c037765cfb91445aea35dee0f245f6dfbbb27d9eb1d107a412ab6325707711b65650a4785695df WHIRLPOOL e59916ac22db745f2742e775cabe85c30612154ce42d239de579bf957ea0ecc40eb968b44f2b28367a407ac3ac7c7e86c555a1faf6e15370aafb0aa5ce572f98
+AUX ntp-4.2.8_p10-ntpq-fpic.patch 464 SHA256 189d24170b6d8df22feac6881394f0a64aa06c04e6e1e8cd2d39104fbb5e753a SHA512 706f199b612f7a30f385668a2624cc442bcf0b2674f779488a03f94d659c5efa5355fcfb4e221e14d7eed608edd5a678dce4d1e110c97640d8e489d50e223b09 WHIRLPOOL 629d44eb3193bc222f6ec09c0f42c79ba24d9735c10137ac1478836c5263b3bf962a4e02d4d6fc5949cad6a5f12722020b32bbf279266a35527ea254aae22f15
+AUX ntp-4.2.8_p9-fix-build-wo-ssl-or-libressl.patch 7611 SHA256 ede0c5ef472de78cf7c083f6e1e7372430fd51d8de39d2b841f8354212b45dd0 SHA512 630a29233b86bddaa2439a130533ebfb5bdff5cda5be6c578600a0022f8c1439538dbb72b6a9de65023920782ff7912e0ec63291f92d5e4bb7d4908fd39db692 WHIRLPOOL 4d1c6f5b74171c2ab0f7440687d13a5fc1dee5e65cbb44998e015acd87a76944fc435c0bcaaf571dff8f1b7541dd52b8dd8e03ecbddfb8b6d8b260c3b7e358b0
+AUX ntp-client.confd 776 SHA256 c7dc517cdb5ee10e2a07ccea15ec47ba0b7aff8ac1469204c8d7faf71bcae2c5 SHA512 2d6b9d96c55787cf4556332054a61399368dcf37cf76a14aaba3f8e2e4fdd47ce25808f9babda2ca1f2a6e7387c043e023251ba2b99786426c875bd7cb6592a6 WHIRLPOOL 7282c74d564f776cb6e8e15d79cb77e60088c516a71f87c28d96bda7e67bddc3d35e01cf86eac58655c2536d0a4a023b6142527bc8ec62318524114502d5cc99
+AUX ntp-client.rc 720 SHA256 49f6634a258d4a91dc12c3b6bf9014b05a39cfe121ad52f826721ab791a28aa3 SHA512 557cb44fc911dcf34d21227c5d92c2ab56ca3fd855a5d2715c5f7343ae45a91c4b5492a84ac01a712bc251ea2a83810f4eb33e467b456b42c79052454a68dc81 WHIRLPOOL a5dd1c93b007255ed2148e1e48e3a1447b730031a7be5f7f7744559304028f11d622e668b5f6a2564f9d1a18734bfa0964c30862e66b40503e59da0e37033fce
+AUX ntp.conf 1614 SHA256 1e644397a0360a997064d0704b489c66b17ae2c50b49278ba46ec04942f13fb6 SHA512 b21afb9d2b9302edf702fce536218fa916e810e916c207dd6f2f09a9a793a465bc929b9a36108d49ddb3552e221b57cbb2e9f916eba78662b19c4b9c2b3e806c WHIRLPOOL c84ab4e53d8c778f64a656a920aa062b4c03cd871684814f3f2bf6a3d8b76870a921d91676cfe71d84db0865b887f64ebe3d403a81a91af656987d74469cc6cf
+AUX ntpd.confd 192 SHA256 40803821f498267f6567436eedc18201b5ae4b5390d6872fb15a94200c2ac06f SHA512 a9e96a214d3c21a3f4863709c48a11f9dedc73e2d83a9b20761021df44a9acb56757e77f113aa0314f5f3923e9cb26bc6e0147658d20e8a74d078d415a171d91 WHIRLPOOL 75ba0559326dac961a6b228d6ee58ea8b4442ace200c36ef07101bc00b8fc12dfca78bc6474870f29928c1b9cb1397a4bfc8706befdf33178abad1a5f558b372
+AUX ntpd.rc-r1 489 SHA256 cdccb5f0009d1498be90a3f423158d7a3c603a1398f8993ae6fb828224a7cdaa SHA512 d51856ebff9160a01e1331114c5a8ea7337f9c8b570da75f36bbb29dcaf1924a40cdbbbf56e03148fc0f540103846e58d15175acf2e9d83c6b68d55c1e199734 WHIRLPOOL 63c1fbe43942a9d4ab82d2d9893531c143ea9d20d008a4cddb21be9009386a79cb3d5f46e527e282929095920966b4346544bdb9a3f6071bbd1a9cb0a755cd1d
+AUX ntpd.service-r2 207 SHA256 b56980a381794bd1021d3cdd2352552553da657c329da7c22765110a80874356 SHA512 c6425efdc046f5a8981a2ec97993d65454fe4a0c4162f8e8d873abf91280a4263509657e1d582baf5b02ce0ba536b87ca49158725f69914c9b01502f8c0e97f1 WHIRLPOOL 3ee731db643fc4f6525755febb1751d856b7ad000fe0575e876c58ff622ebe54e1171d1b9e32de869a96aa479bfb79c7f9147f879249b2d1abc7e9d15f0d0c93
+AUX ntpdate.service-r1 316 SHA256 06fe9929bb92318fa079b029266cbd88060b71305bc7250e1c208a8ee572b174 SHA512 156a6e48be3534ddd6e699315fa65d7ea0ee070594d7b7049962adeb8b411c0f2b919b93afe3f2976392a300792c6e6139529cc576dab6af3f8b94919af27eab WHIRLPOOL af1c2a3a8be1400905e2da7a27af2e809d17642b9e84c002febff66835e49e2e891a57bf2bf7282936dae0bfb377a9289db9e2b7ffce916b78ae994c3a174d06
+AUX ntpdate.service.conf 119 SHA256 a7f886d6f5e671005da8ef9b53567884a8467239528bf860db61230b73097eb3 SHA512 7c5c397bb51f0192e927079044c7ffb91ae158c55f725be50d09bd618e6a4d37dd93c0f8e4bad726d1d9ada276bf73ad9567e00e0c30f4bf47344e4214f4b4b8 WHIRLPOOL 6d99157e99026fdd4734674647bbb9a721f8766d5708f6c6f725fa88687bbb2995233fd02ccb34ebed7b80570e1a309a857ddb58fc08e0255268880eb8d18d9e
+AUX sntp.confd 149 SHA256 97282007801cb9c0e3b431e2930dec3bb8ce8869f63f7e02d903846e96734684 SHA512 28c8f1fd3a69bbdfacc2379a3ce01f254ae21fd8b91d893600086d27e5fb9cccf05d1bf62022ab26fcb53fa2080d4178961619811fd7a56f4e7502893f8ea13b WHIRLPOOL 65af6af349f56b2379afdb6c53042571de19e799a079b0997dcb9f6185849a04292000a584e22e7e03af5bc9c10e0627037a72b748b8f083ee4a51a1e608e94a
+AUX sntp.rc 484 SHA256 d1ba585272e6158a942d536d508a2979a1ca17316d4b97766d78bad4e9a6a7b8 SHA512 17b48cf31f5b15f5219d4a7f69a5eb84805bea256f8ae5b4888e56ec4de7e9a2640c7a36e236a467ecc7881a1757a12c24124697694730341f24bdeb751d8d7d WHIRLPOOL e3a99b8d50c2a81a702703ca18d77b006770c5e9191c090d47aee0812aff084c519b275e293e591ecfc252329dacc996486241f1429d89b24c06bb169c38e093
+AUX sntp.service-r2 324 SHA256 4e36dca24d29c0debf5882193b870685f32e65f37f02068bb81c10c35c5c0d00 SHA512 8626967f3bf9ef01fa5a2b7268b220ed7c518974db450a6f56316ede7b57947351171fb8ae6d28d32599e50c1d5506b4547dfd03cdbd80c5b873efb7d606cf17 WHIRLPOOL 48ba2b1cbebb0549698b27de617cc48bc43837b98675bdf73ca621398d7b50d61e53041ee4246c9711a8075935e9b17a40a93d2e005ec08020d3b80d8b1c0932
+AUX sntp.service.conf 119 SHA256 a7f886d6f5e671005da8ef9b53567884a8467239528bf860db61230b73097eb3 SHA512 7c5c397bb51f0192e927079044c7ffb91ae158c55f725be50d09bd618e6a4d37dd93c0f8e4bad726d1d9ada276bf73ad9567e00e0c30f4bf47344e4214f4b4b8 WHIRLPOOL 6d99157e99026fdd4734674647bbb9a721f8766d5708f6c6f725fa88687bbb2995233fd02ccb34ebed7b80570e1a309a857ddb58fc08e0255268880eb8d18d9e
+DIST ntp-4.2.8p10-manpages.tar.xz 25004 SHA256 7d968a7e68e0ce26c56635e452468b3583e2cb8bfcf558127c753c62e31d7007 SHA512 5b31a1429484ad30a35c8fa38157190a66b0983b5bf1a802c0817613901b5e0644941a3f4d5b660fcfe4ca04968766a5981331a6f9353316e7de953e55c33a09 WHIRLPOOL 6f5d593be7003fa9212364c0409f7e1ae7adcd6d1134c6db5bfb92fbbeb181495c3d484ff73bdfe55f231bb323e286ef4e1eb2ba588fcf3acd360ac8bf53b259
+DIST ntp-4.2.8p10.tar.gz 6998648 SHA256 ddd2366e64219b9efa0f7438e06800d0db394ac5c88e13c17b70d0dcdf99b99f SHA512 67e01ab533c3dfabb0bdd3ced848bdd239980bde28fdb2791d167b7e9690ab3b3759e1bd99e9fddcce03ddef4cd63a47eb85941bb127ceb79b7ecff22cce9c05 WHIRLPOOL 7a72762d349591808c0f3d4686bbb2fbf60a0915769e77140414795892d6929feb0aae30cf2f2ea1febd3c4fecb9d3d62401e1f66033bb2dc57e3245f41708c8
+DIST ntp-4.2.8p9-manpages.tar.xz 24988 SHA256 a7814373e7ceb73a9e426b2e60a9966b6d053f145fd0253bbccf407af9f7ad3f SHA512 23ba80c540d12e78012a448348b94ccb68d0a8078e2e6fe05be58d89aa5e6e31ee8d686920c0f841ad12eade84a081e393885760fdf81bad5c30c76006df0094 WHIRLPOOL 49259ef4bade074bbcb5d87dd21bd93538a3a17405a42e483d10168fd609f908b59c86c73b01d2db2e683ff43fa0fdc0cdf297bfcc452d223dcb78bcef3f46c3
+DIST ntp-4.2.8p9.tar.gz 7231884 SHA256 b724287778e1bac625b447327c9851eedef020517a3545625e9f652a90f30b72 SHA512 ffd9e34060210d1cfb8ca0d89f2577df1c5fbe3ba63c620cdadc3ccc3c9d07f518783c6b91e57bffc77b08f449fdbab12faf226672ebd2dde5a0b4a783322a04 WHIRLPOOL ea96b106fd06f2b536394ad2a3dcc2a973aa0cec96140a292bc13b6ceb4159208a59b9c51936240c8a44fa7b2caa4be60d07d3c53066ce8588b0561bef64c070
+EBUILD ntp-4.2.8_p10-r1.ebuild 4509 SHA256 26b89ffff258d7e1fbf788d6f3e06a39370f4dcc4c5c2629f214bcbd4b815260 SHA512 8fc3394ea6cfca15557422ffd6c87dbe074cb955af8537ff8f912dd061015fae3597680de9b7d14dfe99ff871643567e519aa75f10f85e74be427c555b861230 WHIRLPOOL 2a30aee1615dd94b84705129572ae57275a6f9a28f692561a20bd87de14621c7d68734a11c3819269ebc4cc1abc3e919a17938432500c9c19e8a4c98c83c1928
+EBUILD ntp-4.2.8_p9.ebuild 4406 SHA256 e7a849cb4c96c7a8c96a07cc932c4a32d1da0a3f8a6a32c74f44fa8e15371566 SHA512 9fa23bbb7e9ad2283064b22f4661ce2a5855cbc93be296c80aa909303577cff999538cb53ab79dee77999d37a88f27ee9443f418f6505de93e2da9530f54807d WHIRLPOOL 85712eb9b856f2f40e65533771db6bbd870b34ec503763e2eb9dd39618b659a53c8f3fdff0baa3adfbf448f709b339d0423b39ba1da79925fbaab28bceabaa98
+MISC ChangeLog 13329 SHA256 4af69e0b1f274b3ab6e6c2a5762160ef6d3a586968ccf1e07001611240081294 SHA512 fbd7c3013a20ff722226fda2a417715c344669b99e2e2b746c581251334a2fd1fa7180702d33d61a90b9f381bbd31fb52d89bc9923f2fc2c274231b930ddf22f WHIRLPOOL 891184bca6aab64014578c812dd13bd28b0255f98fed3168d5a88b0ce3084ffda8a4acde412c43ca02855b4c5733b9c1ea8133056e438d1cc9e56f8c55d6c0e0
+MISC ChangeLog-2015 35438 SHA256 b1ee0c5247f54077d519bdc0f28d204058b1bc0f27ce0e633b11855c619bd28e SHA512 23317f991b73a9da7eac36d54739e7904ddb33ff652a40ed998c27a3a974eb4f05a359d131dc60960cf52cee5491476b45850a7a13611f339d54fccbdd8a2f82 WHIRLPOOL fcc2d0fd512bc87440c6ee5d4ba79d9c462a0a4946cbf6c481f8141a9f5b868086cd8478f322daa794fdaa53499faffdd76c02c3d56bef1bebcc69ecd117b302
+MISC metadata.xml 1014 SHA256 76b51a00c0cc2ba0dc0d3438da3b1ddf576197fb1e867e2956daa1908bbc8ac6 SHA512 37f6b14a86b13c20ecc83967332599b26e958015798e341ca3e1c1d79a666a3b69904c4aeb5ff298477d2b5fd709a2fe09271dbe41910e3f439bef47efa6b650 WHIRLPOOL c5aabcb26063c306bd27b069b2f2ce099c330110089ec07e26559d383678812117fa94cbc3ea039f73d1c833dc9a2a1b5c38368dbf004b203e69f2c3286e6781
diff --git a/net-misc/ntp/files/man-pages/genmans.sh b/net-misc/ntp/files/man-pages/genmans.sh
new file mode 100755
index 000000000000..bae21e265f90
--- /dev/null
+++ b/net-misc/ntp/files/man-pages/genmans.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# ntpman.sh -- Create man pages for ntp
+#
+
+VERSION=$1
+if [[ -z ${VERSION} ]] ; then
+ VERSION=$(ls -1d ntp-*/ 2>/dev/null | LC_COLLATE=C sort | sed -n '${s:/::;p;Q}')
+ if [[ -z ${VERSION} ]] ; then
+ VERSION=$(ls "${0%/*}"/../../ntp-*.ebuild | LC_COLLATE=C sort | sed -n '${s:.*/::;s:_::;s:[.]ebuild::;p;Q}')
+ if [[ -z ${VERSION} ]] ; then
+ echo "Usage: $0 <version>"
+ exit 1
+ fi
+ fi
+fi
+[[ ${VERSION} != ntp-* ]] && VERSION="ntp-${VERSION}"
+
+SRCDIR=${0%/*}
+HTMLDIR=${SRCDIR}/${VERSION}/html
+DISTFILE=/usr/portage/distfiles/${VERSION}.tar.gz
+MANDIR=${SRCDIR}/man
+
+rm -rf ${SRCDIR}/${VERSION}
+if [[ ! -d ${HTMLDIR} ]] ; then
+ if [[ -f ${DISTFILE} ]] ; then
+ tar zxf ${DISTFILE} -C ${SRCDIR} || exit 1
+ else
+ echo "ERROR: $HTMLDIR / $DISTFILE does not exist"
+ exit 1
+ fi
+fi
+
+# Process a single HTML file
+processfile() {
+ HTMLFILE=$1
+ MANFILE=$2
+ echo -n "Processing $HTMLFILE ..."
+ sed -e "s:<csobj.*<:csobj>/:" $HTMLDIR/$HTMLFILE > .$HTMLFILE
+ xsltproc --html --stringparam version $VERSION ${SRCDIR}/ntp.xsl .$HTMLFILE > $MANDIR/$MANFILE || exit 1
+ rm -f .$HTMLFILE
+ echo "Done."
+}
+
+# Print information
+echo "Generates ntp man files from HTML documentation. Using:"
+echo "VERSION: $VERSION"
+echo "HTMLDIR: $HTMLDIR"
+echo "MANDIR: $MANDIR"
+echo "Press enter to continue, or Ctrl-C to cancel."
+read
+
+# Process HTML files
+rm -rf ${MANDIR}
+mkdir ${MANDIR}
+for f in ntp{date,dc,d,q,time,trace,dsim} keygen tickadj ; do
+ processfile ${f}.html ${f}.8
+done
+echo
+
+cp -vi /usr/local/src/freebsd/src/usr.sbin/ntp/doc/*.5 ${MANDIR}
+(
+d=${PWD}
+cd ${MANDIR}
+shopt -s nullglob
+for p in $d/*.5.patch ; do
+ patch -F0 -p0 < $p || exit 1
+done
+) || exit 1
+cp -vi ${SRCDIR}/*.patch ${SRCDIR}/genmans.sh ${SRCDIR}/ntp.xsl ${MANDIR}
+
+tar -jcf ${VERSION}-manpages.tar.bz2 -C ${MANDIR}/.. man
+du -b ${VERSION}-manpages.tar.bz2
+
+rm -rf ${MANDIR} ${SRCDIR}/${VERSION}
diff --git a/net-misc/ntp/files/man-pages/ntp.conf.5.patch b/net-misc/ntp/files/man-pages/ntp.conf.5.patch
new file mode 100644
index 000000000000..c3d812302297
--- /dev/null
+++ b/net-misc/ntp/files/man-pages/ntp.conf.5.patch
@@ -0,0 +1,27 @@
+--- ntp.conf.5
++++ ntp.conf.5
+@@ -24,16 +24,6 @@
+ .Fl c
+ command line option).
+ .Pp
+-The
+-.Pa /etc/rc.d/ntpdate
+-script reads this file to get a list of NTP servers to use if the
+-variable
+-.Dq Li ntpdate_hosts
+-was not declared.
+-Refer to the
+-.Xr rc.conf 5
+-man page for further info about this.
+-.Pp
+ The file format is similar to other
+ .Ux
+ configuration files.
+@@ -2686,7 +2676,6 @@
+ Diffie-Hellman agreement parameters
+ .El
+ .Sh SEE ALSO
+-.Xr rc.conf 5 ,
+ .Xr ntpd 8 ,
+ .Xr ntpdc 8 ,
+ .Xr ntpq 8
diff --git a/net-misc/ntp/files/man-pages/ntp.xsl b/net-misc/ntp/files/man-pages/ntp.xsl
new file mode 100644
index 000000000000..ed9c1f8b8e51
--- /dev/null
+++ b/net-misc/ntp/files/man-pages/ntp.xsl
@@ -0,0 +1,218 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<!--
+Description:
+ Stylesheet for converting the HTML documentation
+ for various ntp commands into proper manual pages
+ (in troff format).
+
+Author:
+ Per Cederberg, <per at percederberg dot net>
+-->
+
+<!DOCTYPE stylesheet [
+<!ENTITY newline "
+">
+]>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <!-- ### INPUT PARAMETERS ### -->
+ <xsl:param name="version" select="''" />
+
+
+ <!-- ### OUTPUT DECLARATION ### -->
+ <xsl:output method="text"
+ encoding="ISO-8859-1" />
+
+ <xsl:strip-space elements="html" />
+
+
+ <!-- ### TEMPLATES ### -->
+ <xsl:template match="/">
+ <xsl:text>.\" Automatically generated from HTML source. </xsl:text>
+ <xsl:text>DO NOT EDIT!&newline;</xsl:text>
+ <xsl:apply-templates />
+ </xsl:template>
+
+ <xsl:template match="head">
+ <xsl:text>.TH </xsl:text>
+ <xsl:value-of select="substring-before(title, ' ')" />
+ <xsl:text> 1 "" "ntp </xsl:text>
+ <xsl:value-of select="$version" />
+ <xsl:text>"</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>.SH NAME</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:value-of select="title" />
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="body">
+ <xsl:apply-templates select="*[preceding-sibling::hr]" />
+ </xsl:template>
+
+ <xsl:template match="h3">
+ </xsl:template>
+
+ <xsl:template match="h4">
+ <xsl:variable name="text">
+ <xsl:call-template name="stringToUpper">
+ <xsl:with-param name="str" select="." />
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test="name(preceding-sibling::*[1]) = 'tt'">
+ <xsl:text>&newline;</xsl:text>
+ </xsl:if>
+ <xsl:text>.SH </xsl:text>
+ <xsl:value-of select="$text" />
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="address">
+ <xsl:text>.SH AUTHOR</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:apply-templates />
+ </xsl:template>
+
+ <xsl:template match="p">
+ <xsl:variable name="text">
+ <xsl:apply-templates />
+ </xsl:variable>
+ <xsl:if test="starts-with($text, 'Disclaimer:')">
+ <xsl:text>&newline;</xsl:text>
+ </xsl:if>
+ <xsl:text>.P</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:value-of select="$text" />
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="dd/p">
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:apply-templates />
+ </xsl:template>
+
+ <xsl:template match="hr">
+ </xsl:template>
+
+ <xsl:template match="pre">
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>.ft CW</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>.nf</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:call-template name="trim-newlines">
+ <xsl:with-param name="str" select="." />
+ </xsl:call-template>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>.ft R</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>.fi</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="ul">
+ </xsl:template>
+
+ <xsl:template match="nobr">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates />
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="dl">
+ <xsl:apply-templates />
+ </xsl:template>
+
+ <xsl:template match="dt">
+ <xsl:text>.TP&newline;</xsl:text>
+ <xsl:text>.B </xsl:text>
+ <xsl:value-of select="normalize-space(.)" />
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="dd">
+ <xsl:apply-templates />
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="tr">
+ <xsl:if test="position() &gt; 1">
+ <xsl:apply-templates />
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>&newline;</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+ <xsl:template match="tt">
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>\fB</xsl:text>
+ <xsl:apply-templates />
+ <xsl:text>\fR </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="i">
+ <xsl:text>&newline;</xsl:text>
+ <xsl:text>\fI</xsl:text>
+ <xsl:apply-templates />
+ <xsl:text>\fR </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="a">
+ <xsl:text> </xsl:text>
+ <xsl:apply-templates />
+ <xsl:text> </xsl:text>
+ </xsl:template>
+
+ <xsl:template match="br">
+ <xsl:text>&newline;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="text()">
+ <xsl:value-of select="normalize-space(.)" />
+ </xsl:template>
+
+
+ <!-- ### HELPER FUNCTIONS ### -->
+ <xsl:template name="stringToUpper">
+ <xsl:param name="str" />
+ <xsl:value-of select="translate($str,
+ 'abcdefghijklmnopqrstuvwxyz',
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />
+ </xsl:template>
+
+ <xsl:template name="trim-newlines">
+ <xsl:param name="str" />
+ <xsl:choose>
+ <xsl:when test="starts-with($str,'&newline;')">
+ <xsl:call-template name="trim-newlines">
+ <xsl:with-param name="str" select="substring($str, 2)" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:call-template name="trim-newlines-tail">
+ <xsl:with-param name="str" select="$str" />
+ </xsl:call-template>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+ <xsl:template name="trim-newlines-tail">
+ <xsl:param name="str" />
+ <xsl:variable name="len" select="string-length($str)" />
+ <xsl:choose>
+ <xsl:when test="substring($str,$len) = '&newline;'">
+ <xsl:call-template name="trim-newlines-tail">
+ <xsl:with-param name="str" select="substring($str, 1, $len - 1)" />
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$str" />
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
+</xsl:stylesheet>
diff --git a/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch b/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch
new file mode 100644
index 000000000000..a1e558052dfa
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8-ipc-caps.patch
@@ -0,0 +1,16 @@
+http://bugs.ntp.org/show_bug.cgi?id=2646
+https://bugs.gentoo.org/533966
+
+--- a/ntpd/ntpd.c
++++ a/ntpd/ntpd.c
+@@ -971,8 +971,8 @@ getgroup:
+ char *captext;
+
+ captext = (0 != interface_interval)
+- ? "cap_sys_time,cap_net_bind_service=pe"
+- : "cap_sys_time=pe";
++ ? "cap_ipc_lock,cap_sys_time,cap_net_bind_service=pe"
++ : "cap_ipc_lock,cap_sys_time=pe";
+ caps = cap_from_text(captext);
+ if (!caps) {
+ msyslog(LOG_ERR,
diff --git a/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch b/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch
new file mode 100644
index 000000000000..4f8d15ff854a
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8-sntp-test-pthreads.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/563922
+http://bugs.ntp.org/show_bug.cgi?id=2906
+
+--- a/sntp/tests/Makefile.in
++++ b/sntp/tests/Makefile.in
+@@ -783,6 +783,7 @@ base_LDADD = \
+ $(LIBOPTS_LDADD) \
+ $(LDADD_LIBEVENT) \
+ $(top_builddir)/../libntp/libntp.a \
++ $(PTHREAD_LIBS) \
+ $(LDADD_LIBNTP) \
+ $(LDADD_NTP) \
+ $(NULL)
diff --git a/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch b/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
new file mode 100644
index 000000000000..1b532c6d8931
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
@@ -0,0 +1,39 @@
+Fix building with libressl or without SSL.
+
+Origin: http://bugs.ntp.org/attachment.cgi?id=1481
+
+LibreSSL fix from Joe Kappus (https://bugs.gentoo.org/show_bug.cgi?id=600668#c2)
+
+--- a/include/libssl_compat.h
++++ b/include/libssl_compat.h
+@@ -37,7 +37,7 @@
+ #endif
+
+ /* ----------------------------------------------------------------- */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ # include <openssl/objects.h>
+--- a/libntp/libssl_compat.c
++++ b/libntp/libssl_compat.c
+@@ -26,7 +26,7 @@
+ /* ----------------------------------------------------------------- */
+
+ /* ----------------------------------------------------------------- */
+-#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(OPENSSL) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER))
+ /* ----------------------------------------------------------------- */
+
+ #include "libssl_compat.h"
+--- a/libntp/ssl_init.c
++++ b/libntp/ssl_init.c
+@@ -21,7 +21,7 @@
+
+ int ssl_init_done;
+
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+
+ static void
+ atexit_ssl_cleanup(void)
diff --git a/net-misc/ntp/files/ntp-4.2.8_p10-libressl.patch b/net-misc/ntp/files/ntp-4.2.8_p10-libressl.patch
new file mode 100644
index 000000000000..98ca61af4595
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8_p10-libressl.patch
@@ -0,0 +1,35 @@
+diff -ur a/include/libssl_compat.h ntp-4.2.8p10/include/libssl_compat.h
+--- ntp-4.2.8p10.orig/include/libssl_compat.h 2017-03-21 06:04:20.000000000 -0700
++++ ntp-4.2.8p10/include/libssl_compat.h 2017-03-30 16:34:03.892173084 -0700
+@@ -37,7 +37,7 @@
+ #endif
+
+ /* ----------------------------------------------------------------- */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ # include <openssl/objects.h>
+diff -ur ntp-4.2.8p10.orig/libntp/a_md5encrypt.c ntp-4.2.8p10/libntp/a_md5encrypt.c
+--- ntp-4.2.8p10.orig/libntp/a_md5encrypt.c 2017-02-01 01:47:13.000000000 -0800
++++ ntp-4.2.8p10/libntp/a_md5encrypt.c 2017-03-30 16:55:49.830229507 -0700
+@@ -11,6 +11,7 @@
+ #include "ntp.h"
+ #include "ntp_md5.h" /* provides OpenSSL digest API */
+ #include "isc/string.h"
++#include "libssl_compat.h"
+ /*
+ * MD5authencrypt - generate message digest
+ *
+diff -ur ntp-4.2.8p10.orig/libntp/libssl_compat.c ntp-4.2.8p10/libntp/libssl_compat.c
+--- ntp-4.2.8p10.orig/libntp/libssl_compat.c 2017-02-01 01:47:13.000000000 -0800
++++ ntp-4.2.8p10/libntp/libssl_compat.c 2017-03-30 16:52:17.287543795 -0700
+@@ -26,7 +26,7 @@
+ /* ----------------------------------------------------------------- */
+
+ /* ----------------------------------------------------------------- */
+-#if defined(OPENSSL) && OPENSSL_VERSION_NUMBER < 0x10100000L
++#if defined(OPENSSL) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ #include "libssl_compat.h"
diff --git a/net-misc/ntp/files/ntp-4.2.8_p10-ntpq-fpic.patch b/net-misc/ntp/files/ntp-4.2.8_p10-ntpq-fpic.patch
new file mode 100644
index 000000000000..dcf75d25bf94
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8_p10-ntpq-fpic.patch
@@ -0,0 +1,11 @@
+--- ntp-4.2.8p10.orig/ntpq/Makefile.am 2017-03-21 06:04:21.000000000 -0700
++++ ntp-4.2.8p10/ntpq/Makefile.am 2017-03-22 11:45:48.946630492 -0700
+@@ -23,7 +23,7 @@
+ ntpq_LDADD += $(LDADD_NTP)
+ noinst_HEADERS= ntpq.h
+ noinst_LIBRARIES= libntpq.a
+-libntpq_a_CFLAGS= -DNO_MAIN_ALLOWED -DBUILD_AS_LIB
++libntpq_a_CFLAGS= $(NTP_HARD_CFLAGS) -DNO_MAIN_ALLOWED -DBUILD_AS_LIB
+ CLEANFILES=
+ DISTCLEANFILES= .version version.c config.log $(man_MANS)
+ ETAGS_ARGS= Makefile.am
diff --git a/net-misc/ntp/files/ntp-4.2.8_p9-fix-build-wo-ssl-or-libressl.patch b/net-misc/ntp/files/ntp-4.2.8_p9-fix-build-wo-ssl-or-libressl.patch
new file mode 100644
index 000000000000..5166e5f9a1d0
--- /dev/null
+++ b/net-misc/ntp/files/ntp-4.2.8_p9-fix-build-wo-ssl-or-libressl.patch
@@ -0,0 +1,236 @@
+Fix building with libressl or without SSL.
+
+Origin: http://bugs.ntp.org/attachment.cgi?id=1481
+
+LibreSSL fix from Joe Kappus (https://bugs.gentoo.org/show_bug.cgi?id=600668#c2)
+
+diff -Nru a/include/ntp_md5.h b/include/ntp_md5.h
+--- a/include/ntp_md5.h 2016-11-23 08:35:18.248130387 +0100
++++ b/include/ntp_md5.h 2016-11-23 08:35:18.248130387 +0100
+@@ -8,6 +8,7 @@
+
+ #ifdef OPENSSL
+ # include "openssl/evp.h"
++# include "libssl_compat.h"
+ #else /* !OPENSSL follows */
+ /*
+ * Provide OpenSSL-alike MD5 API if we're not using OpenSSL
+@@ -23,6 +24,9 @@
+ # endif
+
+ typedef MD5_CTX EVP_MD_CTX;
++
++# define EVP_MD_CTX_free(c) free(c)
++# define EVP_MD_CTX_new() calloc(1, sizeof(MD5_CTX))
+ # define EVP_get_digestbynid(t) NULL
+ # define EVP_md5() NULL
+ # define EVP_MD_CTX_init(c)
+diff -Nru a/libntp/a_md5encrypt.c b/libntp/a_md5encrypt.c
+--- a/libntp/a_md5encrypt.c 2016-11-23 08:35:18.248130387 +0100
++++ b/libntp/a_md5encrypt.c 2016-11-23 08:35:18.248130387 +0100
+@@ -11,7 +11,6 @@
+ #include "ntp.h"
+ #include "ntp_md5.h" /* provides OpenSSL digest API */
+ #include "isc/string.h"
+-#include "libssl_compat.h"
+ /*
+ * MD5authencrypt - generate message digest
+ *
+diff -Nru a/libntp/libssl_compat.c b/libntp/libssl_compat.c
+--- a/libntp/libssl_compat.c 2016-11-23 08:35:18.248130387 +0100
++++ b/libntp/libssl_compat.c 2016-11-23 08:35:18.248130387 +0100
+@@ -15,15 +15,18 @@
+ * ---------------------------------------------------------------------
+ */
+ #include "config.h"
+-
+-#include <string.h>
+-#include <openssl/bn.h>
+-#include <openssl/evp.h>
+-
+ #include "ntp_types.h"
+
+ /* ----------------------------------------------------------------- */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#ifdef OPENSSL
++# include <string.h>
++# include <openssl/bn.h>
++# include <openssl/evp.h>
++#endif
++/* ----------------------------------------------------------------- */
++
++/* ----------------------------------------------------------------- */
++#if defined(OPENSSL) && (OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ #include "libssl_compat.h"
+@@ -325,7 +328,7 @@
+ }
+
+ /* ----------------------------------------------------------------- */
+-#else /* OPENSSL_VERSION_NUMBER >= v1.1.0 */
++#else /* OPENSSL && OPENSSL_VERSION_NUMBER >= v1.1.0 */
+ /* ----------------------------------------------------------------- */
+
+ NONEMPTY_TRANSLATION_UNIT
+diff -Nru a/ntpd/ntp_control.c b/ntpd/ntp_control.c
+--- a/ntpd/ntp_control.c 2016-11-23 08:35:18.256130015 +0100
++++ b/ntpd/ntp_control.c 2016-11-23 08:35:18.260129828 +0100
+@@ -33,8 +33,6 @@
+ # include "ntp_syscall.h"
+ #endif
+
+-#include "libssl_compat.h"
+-
+ /*
+ * Structure to hold request procedure information
+ */
+@@ -1653,8 +1651,10 @@
+ }
+
+ /*
+- * ctl_putcal - write a decoded calendar data into the response
++ * ctl_putcal - write a decoded calendar data into the response.
++ * only used with AUTOKEY currently, so compiled conditional
+ */
++#ifdef AUTOKEY
+ static void
+ ctl_putcal(
+ const char *tag,
+@@ -1678,6 +1678,7 @@
+
+ return;
+ }
++#endif
+
+ /*
+ * ctl_putfs - write a decoded filestamp into the response
+@@ -1838,7 +1839,7 @@
+ char * oplim;
+ char * iptr;
+ char * iplim;
+- char * past_eq;
++ char * past_eq = NULL;
+
+ optr = output;
+ oplim = output + sizeof(output);
+diff -Nru a/ntpd/ntp_io.c b/ntpd/ntp_io.c
+--- a/ntpd/ntp_io.c 2016-11-23 08:35:18.268129456 +0100
++++ b/ntpd/ntp_io.c 2016-11-23 08:35:18.272129269 +0100
+@@ -516,13 +516,17 @@
+ /*
+ * function to dump the contents of the interface structure
+ * for debugging use only.
++ * We face a dilemma here -- sockets are FDs under POSIX and
++ * actually HANDLES under Windows. So we use '%lld' as format
++ * and cast the value to 'long long'; this should not hurt
++ * with UNIX-like systems and does not truncate values on Win64.
+ */
+ void
+ interface_dump(const endpt *itf)
+ {
+ printf("Dumping interface: %p\n", itf);
+- printf("fd = %d\n", itf->fd);
+- printf("bfd = %d\n", itf->bfd);
++ printf("fd = %lld\n", (long long)itf->fd);
++ printf("bfd = %lld\n", (long long)itf->bfd);
+ printf("sin = %s,\n", stoa(&itf->sin));
+ sockaddr_dump(&itf->sin);
+ printf("bcast = %s,\n", stoa(&itf->bcast));
+@@ -570,11 +574,11 @@
+ static void
+ print_interface(const endpt *iface, const char *pfx, const char *sfx)
+ {
+- printf("%sinterface #%d: fd=%d, bfd=%d, name=%s, flags=0x%x, ifindex=%u, sin=%s",
++ printf("%sinterface #%d: fd=%lld, bfd=%lld, name=%s, flags=0x%x, ifindex=%u, sin=%s",
+ pfx,
+ iface->ifnum,
+- iface->fd,
+- iface->bfd,
++ (long long)iface->fd,
++ (long long)iface->bfd,
+ iface->name,
+ iface->flags,
+ iface->ifindex,
+diff -Nru a/ntpd/ntp_proto.c b/ntpd/ntp_proto.c
+--- a/ntpd/ntp_proto.c 2016-11-23 08:35:18.280128897 +0100
++++ b/ntpd/ntp_proto.c 2016-11-23 08:35:18.284128711 +0100
+@@ -4054,7 +4054,7 @@
+ ntoa(&peer->srcadr), peer->hmode, xkeyid, sendlen,
+ peer->keynumber));
+ #else /* !AUTOKEY follows */
+- DPRINTF(1, ("peer_xmit: at %ld %s->%s mode %d keyid %08x len %d\n",
++ DPRINTF(1, ("peer_xmit: at %ld %s->%s mode %d keyid %08x len %zu\n",
+ current_time, peer->dstadr ?
+ ntoa(&peer->dstadr->sin) : "-",
+ ntoa(&peer->srcadr), peer->hmode, xkeyid, sendlen));
+diff -Nru a/ports/winnt/ntpd/ntp_iocompletionport.c b/ports/winnt/ntpd/ntp_iocompletionport.c
+--- a/ports/winnt/ntpd/ntp_iocompletionport.c 2016-11-23 08:35:18.288128524 +0100
++++ b/ports/winnt/ntpd/ntp_iocompletionport.c 2016-11-23 08:35:18.288128524 +0100
+@@ -1391,8 +1391,7 @@
+ goto fail;
+ }
+
+- ;
+- if ( ! (rio->ioreg_ctx = iopad = iohpCreate(rio))) {
++ if (NULL == (rio->ioreg_ctx = iopad = iohpCreate(rio))) {
+ msyslog(LOG_ERR, "%s: Failed to create shared lock",
+ msgh);
+ goto fail;
+@@ -1401,13 +1400,13 @@
+ iopad->riofd = rio->fd;
+ iopad->rsrc.rio = rio;
+
+- if (!(rio->device_ctx = DevCtxAttach(serial_devctx(h)))) {
++ if (NULL == (rio->device_ctx = DevCtxAttach(serial_devctx(h)))) {
+ msyslog(LOG_ERR, "%s: Failed to allocate device context",
+ msgh);
+ goto fail;
+ }
+
+- if ( ! (lpo = IoCtxAlloc(iopad, rio->device_ctx))) {
++ if (NULL == (lpo = IoCtxAlloc(iopad, rio->device_ctx))) {
+ msyslog(LOG_ERR, "%: Failed to allocate IO context",
+ msgh);
+ goto fail;
+@@ -1594,7 +1593,6 @@
+ static const char * const msg =
+ "OnSocketSend: send to socket failed";
+
+- IoHndPad_T * iopad = NULL;
+ endpt * ep = NULL;
+ int rc;
+
+@@ -1662,7 +1660,7 @@
+
+ INSIST(hndIOCPLPort && hMainRpcDone);
+ if (iopad)
+- iocpl_notify(iopad, OnInterfaceDetach, -1);
++ iocpl_notify(iopad, OnInterfaceDetach, (UINT_PTR)-1);
+ }
+
+ /* --------------------------------------------------------------------
+diff -Nru a/sntp/crypto.c b/sntp/crypto.c
+--- a/sntp/crypto.c 2016-11-23 08:35:18.288128524 +0100
++++ b/sntp/crypto.c 2016-11-23 08:35:18.288128524 +0100
+@@ -2,7 +2,7 @@
+ #include "crypto.h"
+ #include <ctype.h>
+ #include "isc/string.h"
+-#include "libssl_compat.h"
++#include "ntp_md5.h"
+
+ struct key *key_ptr;
+ size_t key_cnt = 0;
+diff -urN ntp-4.2.8p9/include/libssl_compat.h ntp-4.2.8p9_fixed/include/libssl_compat.h
+--- a/include/libssl_compat.h 2016-11-21 07:28:40.000000000 -0500
++++ b/include/libssl_compat.h 2016-11-23 12:10:33.014148604 -0500
+@@ -25,7 +25,7 @@
+ #include "openssl/rsa.h"
+
+ /* ----------------------------------------------------------------- */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if (OPENSSL_VERSION_NUMBER < 0x10100000L || defined LIBRESSL_VERSION_NUMBER)
+ /* ----------------------------------------------------------------- */
+
+ # include <openssl/objects.h>
diff --git a/net-misc/ntp/files/ntp-client.confd b/net-misc/ntp/files/ntp-client.confd
new file mode 100644
index 000000000000..786004da83b7
--- /dev/null
+++ b/net-misc/ntp/files/ntp-client.confd
@@ -0,0 +1,21 @@
+# /etc/conf.d/ntp-client
+
+# Command to run to set the clock initially
+# Most people should just leave this line alone ...
+# however, if you know what you're doing, and you
+# want to use ntpd to set the clock, change this to 'ntpd'
+NTPCLIENT_CMD="ntpdate"
+
+# Options to pass to the above command
+# This default setting should work fine but you should
+# change the default 'pool.ntp.org' to something closer
+# to your machine. See http://www.pool.ntp.org/ or
+# try running `netselect -s 3 pool.ntp.org`.
+NTPCLIENT_OPTS="-s -b -u \
+ 0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org \
+ 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
+
+# If you use hostnames above, then you should depend on dns
+# being up & running before we try to run. Otherwise, you
+# can disable this.
+rc_use="dns"
diff --git a/net-misc/ntp/files/ntp-client.rc b/net-misc/ntp/files/ntp-client.rc
new file mode 100644
index 000000000000..5b5d59447395
--- /dev/null
+++ b/net-misc/ntp/files/ntp-client.rc
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ before cron portmap
+ after net
+ use dns logger
+}
+
+checkconfig() {
+ if ! type "${NTPCLIENT_CMD}" >/dev/null 2>&1 ; then
+ eerror "Please edit /etc/conf.d/ntp-client"
+ eerror "Unable to locate the client command ${NTPCLIENT_CMD}!"
+ return 1
+ fi
+ if [ -z "${NTPCLIENT_OPTS}" ] ; then
+ eerror "Please edit /etc/conf.d/ntp-client"
+ eerror "I need to know what server/options to use!"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+
+ ebegin "Setting clock via the NTP client '${NTPCLIENT_CMD}'"
+ "${NTPCLIENT_CMD}" ${NTPCLIENT_OPTS}
+ eend $? "Failed to set clock"
+}
diff --git a/net-misc/ntp/files/ntp.conf b/net-misc/ntp/files/ntp.conf
new file mode 100644
index 000000000000..97bed8dd13cd
--- /dev/null
+++ b/net-misc/ntp/files/ntp.conf
@@ -0,0 +1,54 @@
+# NOTES:
+# DHCP clients can append or replace NTP configuration files.
+# You should consult your DHCP client documentation about its
+# default behaviour and how to change it.
+
+# Name of the servers ntpd should sync with
+# Please respect the access policy as stated by the responsible person.
+#server ntp.example.tld iburst
+
+# Common pool for random people
+#server pool.ntp.org
+
+# Pools for Gentoo users
+server 0.gentoo.pool.ntp.org
+server 1.gentoo.pool.ntp.org
+server 2.gentoo.pool.ntp.org
+server 3.gentoo.pool.ntp.org
+
+##
+# A list of available servers can be found here:
+# http://www.pool.ntp.org/
+# http://www.pool.ntp.org/#use
+# A good way to get servers for your machine is:
+# netselect -s 3 pool.ntp.org
+##
+
+# you should not need to modify the following paths
+driftfile /var/lib/ntp/ntp.drift
+
+#server ntplocal.example.com prefer
+#server timeserver.example.org
+
+# Warning: Using default NTP settings will leave your NTP
+# server accessible to all hosts on the Internet.
+
+# If you want to deny all machines (including your own)
+# from accessing the NTP server, uncomment:
+#restrict default ignore
+
+
+# Default configuration:
+# - Allow only time queries, at a limited rate, sending KoD when in excess.
+# - Allow all local queries (IPv4, IPv6)
+restrict default nomodify nopeer noquery limited kod
+restrict 127.0.0.1
+restrict [::1]
+
+
+# To allow machines within your network to synchronize
+# their clocks with your server, but ensure they are
+# not allowed to configure the server or used as peers
+# to synchronize against, uncomment this line.
+#
+#restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap
diff --git a/net-misc/ntp/files/ntpd.confd b/net-misc/ntp/files/ntpd.confd
new file mode 100644
index 000000000000..2b74282c5775
--- /dev/null
+++ b/net-misc/ntp/files/ntpd.confd
@@ -0,0 +1,6 @@
+# /etc/conf.d/ntpd
+
+# Options to pass to the ntpd process
+# Most people should leave this line alone ...
+# however, if you know what you're doing, feel free to tweak
+NTPD_OPTS="-g -u ntp:ntp"
diff --git a/net-misc/ntp/files/ntpd.rc-r1 b/net-misc/ntp/files/ntpd.rc-r1
new file mode 100644
index 000000000000..7573411c9986
--- /dev/null
+++ b/net-misc/ntp/files/ntpd.rc-r1
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="ntpd - the network time protocol daemon"
+pidfile="/var/run/ntpd.pid"
+command="/usr/sbin/ntpd"
+command_args="-p ${pidfile} ${NTPD_OPTS}"
+start_stop_daemon_args="--pidfile ${pidfile}"
+
+depend() {
+ use net dns logger
+ after ntp-client
+}
+
+start_pre() {
+ if [ ! -f /etc/ntp.conf ] ; then
+ eerror "Please create /etc/ntp.conf"
+ return 1
+ fi
+ return 0
+}
diff --git a/net-misc/ntp/files/ntpd.service-r2 b/net-misc/ntp/files/ntpd.service-r2
new file mode 100644
index 000000000000..5f11b27e9232
--- /dev/null
+++ b/net-misc/ntp/files/ntpd.service-r2
@@ -0,0 +1,11 @@
+[Unit]
+Description=Network Time Service
+After=ntpdate.service sntp.service
+Conflicts=systemd-timesyncd.service
+
+[Service]
+ExecStart=/usr/sbin/ntpd -g -n
+PrivateTmp=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/ntp/files/ntpdate.service-r1 b/net-misc/ntp/files/ntpdate.service-r1
new file mode 100644
index 000000000000..f9bc9ddefc90
--- /dev/null
+++ b/net-misc/ntp/files/ntpdate.service-r1
@@ -0,0 +1,14 @@
+[Unit]
+Description=Set time via NTP using ntpdate
+After=network-online.target nss-lookup.target
+Before=time-sync.target
+Wants=time-sync.target
+Conflicts=systemd-timesyncd.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/ntpdate -b -u $SERVER
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/ntp/files/ntpdate.service.conf b/net-misc/ntp/files/ntpdate.service.conf
new file mode 100644
index 000000000000..75e4f41b4162
--- /dev/null
+++ b/net-misc/ntp/files/ntpdate.service.conf
@@ -0,0 +1,2 @@
+[Service]
+Environment="SERVER=0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
diff --git a/net-misc/ntp/files/sntp.confd b/net-misc/ntp/files/sntp.confd
new file mode 100644
index 000000000000..d11983a3fb7c
--- /dev/null
+++ b/net-misc/ntp/files/sntp.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/sntp
+
+# Options to pass to sntp
+SNTP_OPTS="-s 0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
diff --git a/net-misc/ntp/files/sntp.rc b/net-misc/ntp/files/sntp.rc
new file mode 100644
index 000000000000..4ed56ae2bf1a
--- /dev/null
+++ b/net-misc/ntp/files/sntp.rc
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+command="/usr/bin/sntp"
+
+depend() {
+ before cron portmap
+ after net
+ use dns logger
+}
+
+start_pre() {
+ if [ -z "${SNTP_OPTS}" ] ; then
+ eerror "Please edit /etc/conf.d/sntp"
+ eerror "I need to know what server/options to use!"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ ebegin "Setting clock via SNTP"
+ ${command} ${SNTP_OPTS}
+ eend $? "Failed to set clock"
+}
diff --git a/net-misc/ntp/files/sntp.service-r2 b/net-misc/ntp/files/sntp.service-r2
new file mode 100644
index 000000000000..9bdd578ffbc7
--- /dev/null
+++ b/net-misc/ntp/files/sntp.service-r2
@@ -0,0 +1,14 @@
+[Unit]
+Description=Set time via SNTP
+After=network.target NetworkManager-wait-online.service nss-lookup.target
+Before=time-sync.target
+Wants=time-sync.target
+Conflicts=systemd-timesyncd.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/sntp -s $SERVER
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/ntp/files/sntp.service.conf b/net-misc/ntp/files/sntp.service.conf
new file mode 100644
index 000000000000..75e4f41b4162
--- /dev/null
+++ b/net-misc/ntp/files/sntp.service.conf
@@ -0,0 +1,2 @@
+[Service]
+Environment="SERVER=0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
diff --git a/net-misc/ntp/metadata.xml b/net-misc/ntp/metadata.xml
new file mode 100644
index 000000000000..88e81f1ab224
--- /dev/null
+++ b/net-misc/ntp/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription>
+NTP is a protocol designed to synchronize the clocks of computers over a network. NTP
+version 3 is an internet draft standard, formalized in RFC 1305. NTP version 4 is a
+significant revision of the NTP standard, and is the current development version, but
+has not been formalized in an RFC. Simple NTP (SNTP) version 4 is described in RFC
+2030.
+</longdescription>
+ <use>
+ <flag name="openntpd">Allow ntp to be installed alongside openntpd</flag>
+ <flag name="parse-clocks">Add support for PARSE clocks</flag>
+ <flag name="samba">Provide support for Samba's signing daemon (needed for Active Directory domain controllers)</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:ntp:ntp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/net-misc/ntp/ntp-4.2.8_p10-r1.ebuild b/net-misc/ntp/ntp-4.2.8_p10-r1.ebuild
new file mode 100644
index 000000000000..5b4ea67e919d
--- /dev/null
+++ b/net-misc/ntp/ntp-4.2.8_p10-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools eutils toolchain-funcs flag-o-matic user systemd
+
+MY_P=${P/_p/p}
+DESCRIPTION="Network Time Protocol suite/programs"
+HOMEPAGE="http://www.ntp.org/"
+SRC_URI="http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${PV:0:3}/${MY_P}.tar.gz
+ https://dev.gentoo.org/~polynomial-c/${MY_P}-manpages.tar.xz"
+
+LICENSE="HPND BSD ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE="caps debug ipv6 libressl openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf"
+
+CDEPEND="readline? ( >=sys-libs/readline-4.1:0= )
+ >=dev-libs/libevent-2.0.9:=[threads?]
+ kernel_linux? ( caps? ( sys-libs/libcap ) )
+ zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+ !openntpd? ( !net-misc/openntpd )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl )
+ )
+ parse-clocks? ( net-misc/pps-tools )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-ntp )
+ vim-syntax? ( app-vim/ntp-syntax )"
+PDEPEND="openntpd? ( net-misc/openntpd )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2.8-ipc-caps.patch #533966
+ "${FILESDIR}"/${PN}-4.2.8-sntp-test-pthreads.patch #563922
+ "${FILESDIR}"/${PN}-4.2.8_p10-ntpq-fpic.patch
+ "${FILESDIR}"/${PN}-4.2.8_p10-fix-build-wo-ssl-or-libressl.patch
+)
+
+pkg_setup() {
+ enewgroup ntp 123
+ enewuser ntp 123 -1 /dev/null ntp
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ append-cppflags -D_GNU_SOURCE #264109
+ # Make sure every build uses the same install layout. #539092
+ find sntp/loc/ -type f '!' -name legacy -delete || die
+ eautoreconf #622754
+ # Disable pointless checks.
+ touch .checkChangeLog .gcc-warning FRC.html html/.datecheck
+}
+
+src_configure() {
+ # avoid libmd5/libelf
+ export ac_cv_search_MD5Init=no ac_cv_header_md5_h=no
+ export ac_cv_lib_elf_nlist=no
+ # blah, no real configure options #176333
+ export ac_cv_header_dns_sd_h=$(usex zeroconf)
+ export ac_cv_lib_dns_sd_DNSServiceRegister=${ac_cv_header_dns_sd_h}
+ # Increase the default memlimit from 32MiB to 128MiB. #533232
+ local myeconfargs=(
+ --with-lineeditlibs=readline,edit,editline
+ --with-yielding-select
+ --disable-local-libevent
+ --docdir='$(datarootdir)'/doc/${PF}
+ --htmldir='$(docdir)/html'
+ --with-memlock=256
+ $(use_enable caps linuxcaps)
+ $(use_enable parse-clocks)
+ $(use_enable ipv6)
+ $(use_enable debug debugging)
+ $(use_with readline lineeditlibs readline)
+ $(use_enable samba ntp-signd)
+ $(use_with snmp ntpsnmpd)
+ $(use_with ssl crypto)
+ $(use_enable threads thread-support)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ # move ntpd/ntpdate to sbin #66671
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/{ntpd,ntpdate} "${ED}"/usr/sbin/ || die "move to sbin"
+
+ dodoc INSTALL WHERE-TO-START
+ doman "${WORKDIR}"/man/*.[58]
+
+ insinto /etc
+ doins "${FILESDIR}"/ntp.conf
+ use ipv6 || sed -i '/^restrict .*::1/d' "${ED}"/etc/ntp.conf #524726
+ newinitd "${FILESDIR}"/ntpd.rc-r1 ntpd
+ newconfd "${FILESDIR}"/ntpd.confd ntpd
+ newinitd "${FILESDIR}"/ntp-client.rc ntp-client
+ newconfd "${FILESDIR}"/ntp-client.confd ntp-client
+ newinitd "${FILESDIR}"/sntp.rc sntp
+ newconfd "${FILESDIR}"/sntp.confd sntp
+ if ! use caps ; then
+ sed -i "s|-u ntp:ntp||" "${ED}"/etc/conf.d/ntpd || die
+ fi
+ sed -i "s:/usr/bin:/usr/sbin:" "${ED}"/etc/init.d/ntpd || die
+
+ keepdir /var/lib/ntp
+ use prefix || fowners ntp:ntp /var/lib/ntp
+
+ if use openntpd ; then
+ cd "${ED}"
+ rm usr/sbin/ntpd || die
+ rm -r var/lib
+ rm etc/{conf,init}.d/ntpd
+ rm usr/share/man/*/ntpd.8 || die
+ else
+ systemd_newunit "${FILESDIR}"/ntpd.service-r2 ntpd.service
+ use caps && sed -i '/ExecStart/ s|$| -u ntp:ntp|' "${ED}"/usr/lib/systemd/system/ntpd.service
+ systemd_enable_ntpunit 60-ntpd ntpd.service
+ fi
+
+ systemd_newunit "${FILESDIR}"/ntpdate.service-r1 ntpdate.service
+ systemd_install_serviced "${FILESDIR}"/ntpdate.service.conf
+ systemd_newunit "${FILESDIR}"/sntp.service-r2 sntp.service
+ systemd_install_serviced "${FILESDIR}"/sntp.service.conf
+}
+
+pkg_postinst() {
+ if grep -qs '^[^#].*notrust' "${EROOT}"/etc/ntp.conf ; then
+ eerror "The notrust option was found in your /etc/ntp.conf!"
+ ewarn "If your ntpd starts sending out weird responses,"
+ ewarn "then make sure you have keys properly setup and see"
+ ewarn "https://bugs.gentoo.org/41827"
+ fi
+}
diff --git a/net-misc/ntp/ntp-4.2.8_p9.ebuild b/net-misc/ntp/ntp-4.2.8_p9.ebuild
new file mode 100644
index 000000000000..4ff1b7a2eb34
--- /dev/null
+++ b/net-misc/ntp/ntp-4.2.8_p9.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit eutils toolchain-funcs flag-o-matic user systemd
+
+MY_P=${P/_p/p}
+DESCRIPTION="Network Time Protocol suite/programs"
+HOMEPAGE="http://www.ntp.org/"
+SRC_URI="http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${PV:0:3}/${MY_P}.tar.gz
+ https://dev.gentoo.org/~polynomial-c/${MY_P}-manpages.tar.xz"
+
+LICENSE="HPND BSD ISC"
+SLOT="0"
+KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~m68k-mint"
+IUSE="caps debug ipv6 libressl openntpd parse-clocks readline samba selinux snmp ssl +threads vim-syntax zeroconf"
+
+CDEPEND="readline? ( >=sys-libs/readline-4.1:0= )
+ >=dev-libs/libevent-2.0.9:=[threads?]
+ kernel_linux? ( caps? ( sys-libs/libcap ) )
+ zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
+ !openntpd? ( !net-misc/openntpd )
+ snmp? ( net-analyzer/net-snmp )
+ ssl? (
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl )
+ )
+ parse-clocks? ( net-misc/pps-tools )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-ntp )
+ vim-syntax? ( app-vim/ntp-syntax )"
+PDEPEND="openntpd? ( net-misc/openntpd )"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2.8-ipc-caps.patch #533966
+ "${FILESDIR}"/${PN}-4.2.8-sntp-test-pthreads.patch #563922
+ "${FILESDIR}"/${P}-fix-build-wo-ssl-or-libressl.patch
+)
+
+pkg_setup() {
+ enewgroup ntp 123
+ enewuser ntp 123 -1 /dev/null ntp
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ append-cppflags -D_GNU_SOURCE #264109
+ # Make sure every build uses the same install layout. #539092
+ find sntp/loc/ -type f '!' -name legacy -delete || die
+ # Disable pointless checks.
+ touch .checkChangeLog .gcc-warning FRC.html html/.datecheck
+}
+
+src_configure() {
+ # avoid libmd5/libelf
+ export ac_cv_search_MD5Init=no ac_cv_header_md5_h=no
+ export ac_cv_lib_elf_nlist=no
+ # blah, no real configure options #176333
+ export ac_cv_header_dns_sd_h=$(usex zeroconf)
+ export ac_cv_lib_dns_sd_DNSServiceRegister=${ac_cv_header_dns_sd_h}
+ # Increase the default memlimit from 32MiB to 128MiB. #533232
+ econf \
+ --with-lineeditlibs=readline,edit,editline \
+ --with-yielding-select \
+ --disable-local-libevent \
+ --docdir='$(datarootdir)'/doc/${PF} \
+ --htmldir='$(docdir)/html' \
+ --with-memlock=256 \
+ $(use_enable caps linuxcaps) \
+ $(use_enable parse-clocks) \
+ $(use_enable ipv6) \
+ $(use_enable debug debugging) \
+ $(use_with readline lineeditlibs readline) \
+ $(use_enable samba ntp-signd) \
+ $(use_with snmp ntpsnmpd) \
+ $(use_with ssl crypto) \
+ $(use_enable threads thread-support)
+}
+
+src_install() {
+ default
+ # move ntpd/ntpdate to sbin #66671
+ dodir /usr/sbin
+ mv "${ED}"/usr/bin/{ntpd,ntpdate} "${ED}"/usr/sbin/ || die "move to sbin"
+
+ dodoc INSTALL WHERE-TO-START
+ doman "${WORKDIR}"/man/*.[58]
+
+ insinto /etc
+ doins "${FILESDIR}"/ntp.conf
+ use ipv6 || sed -i '/^restrict .*::1/d' "${ED}"/etc/ntp.conf #524726
+ newinitd "${FILESDIR}"/ntpd.rc-r1 ntpd
+ newconfd "${FILESDIR}"/ntpd.confd ntpd
+ newinitd "${FILESDIR}"/ntp-client.rc ntp-client
+ newconfd "${FILESDIR}"/ntp-client.confd ntp-client
+ newinitd "${FILESDIR}"/sntp.rc sntp
+ newconfd "${FILESDIR}"/sntp.confd sntp
+ if ! use caps ; then
+ sed -i "s|-u ntp:ntp||" "${ED}"/etc/conf.d/ntpd || die
+ fi
+ sed -i "s:/usr/bin:/usr/sbin:" "${ED}"/etc/init.d/ntpd || die
+
+ keepdir /var/lib/ntp
+ use prefix || fowners ntp:ntp /var/lib/ntp
+
+ if use openntpd ; then
+ cd "${ED}"
+ rm usr/sbin/ntpd || die
+ rm -r var/lib
+ rm etc/{conf,init}.d/ntpd
+ rm usr/share/man/*/ntpd.8 || die
+ else
+ systemd_newunit "${FILESDIR}"/ntpd.service-r2 ntpd.service
+ use caps && sed -i '/ExecStart/ s|$| -u ntp:ntp|' "${ED}"/usr/lib/systemd/system/ntpd.service
+ systemd_enable_ntpunit 60-ntpd ntpd.service
+ fi
+
+ systemd_newunit "${FILESDIR}"/ntpdate.service-r1 ntpdate.service
+ systemd_install_serviced "${FILESDIR}"/ntpdate.service.conf
+ systemd_newunit "${FILESDIR}"/sntp.service-r2 sntp.service
+ systemd_install_serviced "${FILESDIR}"/sntp.service.conf
+}
+
+pkg_postinst() {
+ if grep -qs '^[^#].*notrust' "${EROOT}"/etc/ntp.conf ; then
+ eerror "The notrust option was found in your /etc/ntp.conf!"
+ ewarn "If your ntpd starts sending out weird responses,"
+ ewarn "then make sure you have keys properly setup and see"
+ ewarn "https://bugs.gentoo.org/41827"
+ fi
+}