Gentoo Archives: gentoo-commits

From: Steve Arnold <nerdboy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/ntpsec/files/, net-misc/ntpsec/
Date: Fri, 23 Feb 2018 22:54:56
Message-Id: 1519426467.99c380a654731d45bbffe372e5c1aa59613c74f9.nerdboy@gentoo
1 commit: 99c380a654731d45bbffe372e5c1aa59613c74f9
2 Author: Stephen L Arnold <nerdboy <AT> gentoo <DOT> org>
3 AuthorDate: Fri Feb 23 22:53:43 2018 +0000
4 Commit: Steve Arnold <nerdboy <AT> gentoo <DOT> org>
5 CommitDate: Fri Feb 23 22:54:27 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=99c380a6
7
8 net-misc/ntpsec: new ebuild for secure ntp daemon
9
10 * refactored version of NTP reference implementation
11 * integration with gpsd and vendor clock sources
12
13 Package-Manager: Portage-2.3.24, Repoman-2.3.6
14
15 net-misc/ntpsec/Manifest | 1 +
16 net-misc/ntpsec/files/ntpd.confd | 7 +++
17 net-misc/ntpsec/files/ntpd.rc-r1 | 23 ++++++++
18 net-misc/ntpsec/files/ntpd.service | 15 +++++
19 net-misc/ntpsec/metadata.xml | 34 ++++++++++++
20 net-misc/ntpsec/ntpsec-1.0.0.ebuild | 106 ++++++++++++++++++++++++++++++++++++
21 6 files changed, 186 insertions(+)
22
23 diff --git a/net-misc/ntpsec/Manifest b/net-misc/ntpsec/Manifest
24 new file mode 100644
25 index 00000000000..29e5507e1ee
26 --- /dev/null
27 +++ b/net-misc/ntpsec/Manifest
28 @@ -0,0 +1 @@
29 +DIST ntpsec-1.0.0.tar.gz 2405862 BLAKE2B b1631491500cafa5d41761fe6cb2db523450ed7801d06678048d6b8878d93dbd1e9d7cb2081a8400421213cf78a6724220236149a7f719896d1e8e48f5337d85 SHA512 9fb06310508b30d2ae2d66212d7d87b00e8eea294cebc27eb70435d764bd639fcec234b66e78deafb700476c88e47afe2d1b463563008c32efbb0644dd611f43
30
31 diff --git a/net-misc/ntpsec/files/ntpd.confd b/net-misc/ntpsec/files/ntpd.confd
32 new file mode 100644
33 index 00000000000..92c553a6261
34 --- /dev/null
35 +++ b/net-misc/ntpsec/files/ntpd.confd
36 @@ -0,0 +1,7 @@
37 +# /etc/conf.d/ntpd
38 +
39 +# Options to pass to the ntpd process
40 +# Most people should leave this line alone ...
41 +# however, if you know what you're doing, feel free to tweak
42 +#NTPD_OPTS="-g -n -u ntp:ntp"
43 +NTPD_OPTS="-g -u ntp:ntp"
44
45 diff --git a/net-misc/ntpsec/files/ntpd.rc-r1 b/net-misc/ntpsec/files/ntpd.rc-r1
46 new file mode 100644
47 index 00000000000..dbe76c85e53
48 --- /dev/null
49 +++ b/net-misc/ntpsec/files/ntpd.rc-r1
50 @@ -0,0 +1,23 @@
51 +#!/sbin/openrc-run
52 +# Copyright 1999-2018 Gentoo Foundation
53 +# Distributed under the terms of the GNU General Public License v2
54 +# $Id$
55 +
56 +description="ntpd - the network time protocol daemon"
57 +pidfile="/var/run/ntpd.pid"
58 +command="/usr/sbin/ntpd"
59 +command_args="-p ${pidfile} ${NTPD_OPTS}"
60 +start_stop_daemon_args="--pidfile ${pidfile}"
61 +
62 +depend() {
63 + use net dns logger
64 + after ntp-client
65 +}
66 +
67 +start_pre() {
68 + if [ ! -f /etc/ntp.conf ] ; then
69 + eerror "Please create /etc/ntp.conf"
70 + return 1
71 + fi
72 + return 0
73 +}
74
75 diff --git a/net-misc/ntpsec/files/ntpd.service b/net-misc/ntpsec/files/ntpd.service
76 new file mode 100644
77 index 00000000000..a551bb7b130
78 --- /dev/null
79 +++ b/net-misc/ntpsec/files/ntpd.service
80 @@ -0,0 +1,15 @@
81 +[Unit]
82 +Description=Network Time Service
83 +After=network.target nss-lookup.target
84 +Conflicts=systemd-timesyncd.service
85 +
86 +[Service]
87 +Type=forking
88 +PrivateTmp=true
89 +EnvironmentFile=-/etc/conf.d/ntp
90 +ExecStart=/usr/sbin/ntpd ${NTPD_OPTS}
91 +Restart=always
92 +RemainAfterExit=yes
93 +
94 +[Install]
95 +WantedBy=multi-user.target
96
97 diff --git a/net-misc/ntpsec/metadata.xml b/net-misc/ntpsec/metadata.xml
98 new file mode 100644
99 index 00000000000..cc6f94e3b23
100 --- /dev/null
101 +++ b/net-misc/ntpsec/metadata.xml
102 @@ -0,0 +1,34 @@
103 +<?xml version="1.0" encoding="UTF-8"?>
104 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
105 +<pkgmetadata>
106 +<maintainer type="person">
107 +<email>anthony.g.base@×××××.com</email>
108 +<name>Anthony G. Basile</name>
109 +</maintainer>
110 +<longdescription lang="en">
111 +</longdescription>
112 +<use>
113 + <flag name="early">Drop root privileges early</flag>
114 + <flag name="gdb">Enable debugging with gdb</flag>
115 + <flag name="nist">Enable lockclock</flag>
116 + <flag name="ntpviz">Make visualizations of offsets, jiffies, etc.</flag>
117 + <flag name="rclock_oncore">Oncore driver</flag>
118 + <flag name="rclock_trimble">Trimble driver</flag>
119 + <flag name="rclock_truetime">Trutime driver (deprecated)</flag>
120 + <flag name="rclock_gpsd">Enable gpsd daemon support</flag>
121 + <flag name="rclock_jjy">JJY driver</flag>
122 + <flag name="rclock_generic">Enable support for generic time radios and GPSDOs</flag>
123 + <flag name="rclock_spectracom">Spectracom driver</flag>
124 + <flag name="rclock_shm">Obtain refclock info from shared memory-segment</flag>
125 + <flag name="rclock_pps">PPS cesium clock driver</flag>
126 + <flag name="rclock_hpgps">Hewlett Packard GPS driver</flag>
127 + <flag name="rclock_zyfer">Zyfer driver</flag>
128 + <flag name="rclock_arbiter">Arbiter 1088A/B GPS driver</flag>
129 + <flag name="rclock_nmea">NMEA GPS driver</flag>
130 + <flag name="rclock_neoclock">NeoClock4X DCF77/TDF driver</flag>
131 + <flag name="rclock_modem">NIST/USNO/PTB Modem Time Services</flag>
132 + <flag name="rclock_local">Support for undisciplined local clock (not recommended)</flag>
133 + <flag name="smear">Specify the interval over which a leap second is applied (experimental)</flag>
134 + <flag name="tests">Enable tests</flag>
135 +</use>
136 +</pkgmetadata>
137
138 diff --git a/net-misc/ntpsec/ntpsec-1.0.0.ebuild b/net-misc/ntpsec/ntpsec-1.0.0.ebuild
139 new file mode 100644
140 index 00000000000..d4cca435dbb
141 --- /dev/null
142 +++ b/net-misc/ntpsec/ntpsec-1.0.0.ebuild
143 @@ -0,0 +1,106 @@
144 +# Copyright 1999-2018 Gentoo Foundation
145 +# Distributed under the terms of the GNU General Public License v2
146 +
147 +EAPI=6
148 +
149 +PYTHON_COMPAT=( python3_{4,5,6} )
150 +PYTHON_REQ_USE='threads(+)'
151 +
152 +inherit flag-o-matic python-any-r1 waf-utils systemd user
153 +
154 +if [[ ${PV} == *9999* ]]; then
155 + inherit git-r3
156 + EGIT_REPO_URI="https://gitlab.com/NTPsec/ntpsec.git"
157 + BDEPEND=""
158 + KEYWORDS=""
159 +else
160 + SRC_URI="ftp://ftp.ntpsec.org/pub/releases/${PN}-${PV}.tar.gz"
161 + RESTRICT="mirror"
162 + BDEPEND=""
163 + KEYWORDS="~amd64 ~arm ~arm64 ~x86"
164 +fi
165 +
166 +DESCRIPTION="The NTP reference implementation, refactored"
167 +HOMEPAGE="https://www.ntpsec.org/"
168 +
169 +NTPSEC_REFCLOCK=(
170 + oncore trimble truetime gpsd jjy generic spectracom
171 + shm pps hpgps zyfer arbiter nmea neoclock modem
172 + local)
173 +
174 +IUSE_NTPSEC_REFCLOCK=${NTPSEC_REFCLOCK[@]/#/rclock_}
175 +
176 +LICENSE="HPND MIT BSD-2 BSD CC-BY-SA-4.0"
177 +SLOT="0"
178 +IUSE="${IUSE_NTPSEC_REFCLOCK} debug doc early gdb nist ntpviz samba seccomp smear tests" #ionice
179 +REQUIRED_USE="${PYTHON_REQUIRED_USE}"
180 +
181 +# net-misc/pps-tools oncore,pps
182 +CDEPEND="${PYTHON_DEPS}
183 + ${BDEPEND}
184 + sys-libs/libcap
185 + dev-python/psutil
186 + dev-libs/openssl:*
187 + seccomp? ( sys-libs/libseccomp )
188 +"
189 +RDEPEND="${CDEPEND}
190 + ntpviz? ( sci-visualization/gnuplot media-fonts/liberation-fonts )
191 +"
192 +DEPEND="${CDEPEND}
193 + app-text/asciidoc
194 + app-text/docbook-xsl-stylesheets
195 + sys-devel/bison
196 + rclock_oncore? ( net-misc/pps-tools )
197 + rclock_pps? ( net-misc/pps-tools )
198 + !net-misc/ntp
199 + !net-misc/openntpd
200 +"
201 +
202 +pkg_setup() {
203 + python-any-r1_pkg_setup
204 + enewgroup ntp 123
205 + enewuser ntp 123 -1 /dev/null ntp
206 +}
207 +
208 +src_configure() {
209 + is-flagq -flto* && filter-flags -flto* -fuse-linker-plugin
210 +
211 + local string_127=""
212 + local rclocks="";
213 + local CLOCKSTRING=""
214 + for refclock in ${NTPSEC_REFCLOCK[@]} ; do
215 + if use rclock_${refclock} ; then
216 + string_127+="$refclock,"
217 + fi
218 + done
219 + CLOCKSTRING="`echo ${string_127}|sed 's|,$||'`"
220 + waf-utils_src_configure --nopyc --nopyo --refclock="${CLOCKSTRING}" \
221 + $(use doc && echo "--enable-doc") \
222 + $(use early && echo "--enable-early-droproot") \
223 + $(use gdb && echo "--enable-debug-gdb") \
224 + $(use nist && echo "--enable-lockclock") \
225 + $(use samba && echo "--enable-mssntp") \
226 + $(use seccomp && echo "--enable-seccomp") \
227 + $(use smear && echo "--enable-leap-smear") \
228 + $(use tests && echo "--alltests") \
229 + $(use_enable debug debug)
230 +}
231 +
232 +src_install() {
233 + waf-utils_src_install
234 + mv -v "${ED}/usr/"{,share/}man
235 + dosbin "${S}/contrib/ntpheat"{,usb}
236 + dodoc "${S}/contrib/logrotate-ntpd"
237 + systemd_newunit "${FILESDIR}/ntpd.service" ntpd.service
238 + newinitd "${FILESDIR}/ntpd.rc-r1" "ntp"
239 + newconfd "${FILESDIR}/ntpd.confd" "ntp"
240 + mkdir "${ED}/etc/systemd/system/"
241 + cp -v "${FILESDIR}/ntpd.service" "${ED}/etc/systemd/system/"
242 + # ntpd.confd ntpd.rc-r1 ntpd.service
243 +
244 + mkdir -pv "${ED}/etc/"{logrotate,ntp-conf}.d
245 + cp -v "${S}/etc/logrotate-config.ntpd" "${ED}/etc/logrotate.d/ntpd"
246 + cp -Rv "${S}/etc/ntp.d/" "${ED}/etc/"
247 + mv -v "${ED}/etc/ntp.d/example.conf" "${ED}/etc/ntp.conf"
248 + sed "s|includefile |includefile ntp-conf.d/|" -i "${ED}/etc/ntp.conf"
249 +}