summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2018-09-04 11:31:04 +0200
committerJeroen Roovers <jer@gentoo.org>2018-09-04 11:32:19 +0200
commit6e9478074f14ff36bd4beb516f8ba144bef45201 (patch)
treebdd5244d9a3b2c55fe0e4d38a2ee673f3e95cc58
parentnet-libs/libtirpc: Minor ebuild cleanup. (diff)
downloadgentoo-6e947807.tar.gz
gentoo-6e947807.tar.bz2
gentoo-6e947807.zip
net-misc/chrony: Set default PID file and check for it
Fixes: https://bugs.gentoo.org/665212 Package-Manager: Portage-2.3.49, Repoman-2.3.10
-rw-r--r--net-misc/chrony/chrony-3.4_pre1-r1.ebuild (renamed from net-misc/chrony/chrony-3.4_pre1.ebuild)12
-rw-r--r--net-misc/chrony/files/chronyd.init-r270
2 files changed, 76 insertions, 6 deletions
diff --git a/net-misc/chrony/chrony-3.4_pre1.ebuild b/net-misc/chrony/chrony-3.4_pre1-r1.ebuild
index c3aed38aa99e..a39dc7b24dce 100644
--- a/net-misc/chrony/chrony-3.4_pre1.ebuild
+++ b/net-misc/chrony/chrony-3.4_pre1-r1.ebuild
@@ -38,9 +38,8 @@ S="${WORKDIR}/${P/_/-}"
src_prepare() {
sed -i \
- -e 's:/etc/chrony\.:/etc/chrony/chrony.:g' \
- -e 's:/var/run:/run:g' \
- conf.c doc/*.man.in examples/* || die
+ -e 's:/etc/chrony\.conf:/etc/chrony/chrony.conf:g' \
+ doc/* examples/* || die
default
}
@@ -75,12 +74,13 @@ src_configure() {
$(usex rtc '' --disable-rtc) \
${CHRONY_EDITLINE} \
${EXTRA_ECONF} \
- --docdir=/usr/share/doc/${PF} \
--chronysockdir=/run/chrony \
+ --disable-sechash \
+ --docdir=/usr/share/doc/${PF} \
--mandir=/usr/share/man \
--prefix=/usr \
--sysconfdir=/etc/chrony \
- --disable-sechash \
+ --with-pidfile="${EPREFIX}/run/chrony/chronyd.pid"
--without-nss \
--without-tomcrypt
"
@@ -97,7 +97,7 @@ src_compile() {
src_install() {
default
- newinitd "${FILESDIR}"/chronyd.init-r1 chronyd
+ newinitd "${FILESDIR}"/chronyd.init-r2 chronyd
newconfd "${FILESDIR}"/chronyd.conf chronyd
insinto /etc/${PN}
diff --git a/net-misc/chrony/files/chronyd.init-r2 b/net-misc/chrony/files/chronyd.init-r2
new file mode 100644
index 000000000000..4892a57b1636
--- /dev/null
+++ b/net-misc/chrony/files/chronyd.init-r2
@@ -0,0 +1,70 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use dns
+}
+
+checkconfig() {
+ # Note that /etc/chrony/chrony.keys is *NOT* checked. This
+ # is because the user may have specified another key
+ # file, and we don't want to force the user to use that
+ # exact name for the key file.
+ if [ ! -f "${CFGFILE}" ] ; then
+ eerror "Please create ${CFGFILE} and the"
+ eerror "chrony key file (usually /etc/chrony/chrony.keys)"
+ eerror "by using the"
+ eerror ""
+ eerror " chrony.conf.example"
+ eerror " chrony.keys.example"
+ eerror ""
+ eerror "files (from the documentation directory)"
+ eerror "as templates."
+ return 1
+ else
+ # Actually, I tried it, and chrony seems to ignore the pidfile
+ # option. I'm going to leave it here anyway, since you never
+ # know if it might be handy
+ PIDFILE=`awk '/^ *pidfile/{print $2}' "${CFGFILE}"`
+ [ -z "${PIDFILE}" ] && PIDFILE=/run/chrony/chronyd.pid
+ fi
+ return 0
+}
+
+setxtrarg() {
+ if [ -c /dev/rtc ]; then
+ grep -q '^rtcfile' "${CFGFILE}" && ARGS="${ARGS} -s"
+ fi
+ grep -q '^dumponexit$' "${CFGFILE}" && ARGS="${ARGS} -r"
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ setxtrarg
+
+ [ -n "${PIDFILE}" ] || PIDFILE=/run/chronyd.pid
+
+ ebegin "Starting chronyd"
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --exec /usr/sbin/chronyd \
+ --pidfile "${PIDFILE}" \
+ -- -f "${CFGFILE}" ${ARGS}
+ eend $? "Failed to start chronyd"
+}
+
+stop() {
+ checkconfig || return $?
+
+ [ -n "${PIDFILE}" ] || PIDFILE=/run/chronyd.pid
+
+ ebegin "Stopping chronyd"
+ start-stop-daemon \
+ --stop \
+ --quiet \
+ --pidfile "${PIDFILE}"
+ eend $? "Failed to stop chronyd"
+}