public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jeroen Roovers" <jer@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: net-misc/chrony/files/, net-misc/chrony/
Date: Tue,  4 Sep 2018 09:32:25 +0000 (UTC)	[thread overview]
Message-ID: <1536053539.6e9478074f14ff36bd4beb516f8ba144bef45201.jer@gentoo> (raw)

commit:     6e9478074f14ff36bd4beb516f8ba144bef45201
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Tue Sep  4 09:31:04 2018 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
CommitDate: Tue Sep  4 09:32:19 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6e947807

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

 ...y-3.4_pre1.ebuild => chrony-3.4_pre1-r1.ebuild} | 12 ++--
 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
similarity index 93%
rename from net-misc/chrony/chrony-3.4_pre1.ebuild
rename to net-misc/chrony/chrony-3.4_pre1-r1.ebuild
index c3aed38aa99..a39dc7b24dc 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 00000000000..4892a57b163
--- /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"
+}


             reply	other threads:[~2018-09-04  9:32 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04  9:32 Jeroen Roovers [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-11-25  6:36 [gentoo-commits] repo/gentoo:master commit in: net-misc/chrony/files/, net-misc/chrony/ Sam James
2022-04-17 16:44 Sam James
2022-02-18  0:47 Sam James
2021-11-14  8:49 Sam James
2021-09-04 17:35 David Seifert
2021-05-13 16:15 Sam James
2020-12-20  6:29 Sam James
2020-09-02 15:51 Jeroen Roovers
2020-09-02 15:51 Jeroen Roovers
2020-08-31  8:40 Jeroen Roovers
2020-05-02 10:43 Thomas Deutschmann
2020-03-30 18:36 Thomas Deutschmann
2019-05-15 10:07 Jeroen Roovers
2019-05-15 10:07 Jeroen Roovers
2018-03-31 10:55 Jeroen Roovers
2016-06-06  7:25 Tobias Klausmann
2016-05-29 16:25 Tobias Klausmann
2016-01-22  4:44 Jeroen Roovers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1536053539.6e9478074f14ff36bd4beb516f8ba144bef45201.jer@gentoo \
    --to=jer@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox