diff options
author | Jeroen Roovers <jer@gentoo.org> | 2018-09-04 11:31:04 +0200 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2018-09-04 11:32:19 +0200 |
commit | 6e9478074f14ff36bd4beb516f8ba144bef45201 (patch) | |
tree | bdd5244d9a3b2c55fe0e4d38a2ee673f3e95cc58 /net-misc/chrony | |
parent | net-libs/libtirpc: Minor ebuild cleanup. (diff) | |
download | gentoo-6e9478074f14ff36bd4beb516f8ba144bef45201.tar.gz gentoo-6e9478074f14ff36bd4beb516f8ba144bef45201.tar.bz2 gentoo-6e9478074f14ff36bd4beb516f8ba144bef45201.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
Diffstat (limited to 'net-misc/chrony')
-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-r2 | 70 |
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" +} |