summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Roovers <jer@gentoo.org>2015-12-04 07:04:30 +0100
committerJeroen Roovers <jer@gentoo.org>2015-12-04 07:04:30 +0100
commit65b7de580ed1bd180ab46e1a600a394bca25248b (patch)
tree0865f7b3a3b82cc9d14dcadf15eb9bf45bae6502 /net-misc
parentsys-apps/busybox: Stable for PPC64 (bug #564246). (diff)
downloadgentoo-65b7de580ed1bd180ab46e1a600a394bca25248b.tar.gz
gentoo-65b7de580ed1bd180ab46e1a600a394bca25248b.tar.bz2
gentoo-65b7de580ed1bd180ab46e1a600a394bca25248b.zip
net-misc/chrony: Drop s-s-d --background from init.d script (bug #566972 by Peter Humphrey and Holger Hoffstätte).
Package-Manager: portage-2.2.26
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/chrony/chrony-2.2-r1.ebuild114
-rw-r--r--net-misc/chrony/chrony-9999.ebuild2
-rw-r--r--net-misc/chrony/files/chronyd.init-r170
3 files changed, 185 insertions, 1 deletions
diff --git a/net-misc/chrony/chrony-2.2-r1.ebuild b/net-misc/chrony/chrony-2.2-r1.ebuild
new file mode 100644
index 000000000000..04ce021eb38e
--- /dev/null
+++ b/net-misc/chrony/chrony-2.2-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils systemd toolchain-funcs
+
+DESCRIPTION="NTP client and server programs"
+HOMEPAGE="http://chrony.tuxfamily.org/"
+SRC_URI="http://download.tuxfamily.org/${PN}/${P/_/-}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="caps +cmdmon ipv6 libedit +ntp +phc +pps readline +refclock +rtc selinux +adns"
+REQUIRED_USE="
+ ?? ( libedit readline )
+"
+
+CDEPEND="
+ caps? ( sys-libs/libcap )
+ libedit? ( dev-libs/libedit )
+ readline? ( >=sys-libs/readline-4.1-r4:= )
+"
+DEPEND="
+ ${CDEPEND}
+ sys-apps/texinfo
+"
+RDEPEND="
+ ${CDEPEND}
+ selinux? ( sec-policy/selinux-chronyd )
+"
+
+RESTRICT=test
+
+S="${WORKDIR}/${P/_/-}"
+
+src_prepare() {
+ sed -i \
+ -e 's:/etc/chrony\.:/etc/chrony/chrony.:g' \
+ -e 's:/var/run:/run:g' \
+ conf.c chrony.texi.in examples/* || die
+}
+
+src_configure() {
+ tc-export CC
+
+ local CHRONY_EDITLINE
+ # ./configure legend:
+ # --disable-readline : disable line editing entirely
+ # --without-readline : do not use sys-libs/readline (enabled by default)
+ # --without-editline : do not use dev-libs/libedit (enabled by default)
+ if ! use readline && ! use libedit; then
+ CHRONY_EDITLINE='--disable-readline'
+ else
+ CHRONY_EDITLINE+=" $(usex readline '' --without-readline)"
+ CHRONY_EDITLINE+=" $(usex libedit '' --without-editline)"
+ fi
+
+ # not an autotools generated script
+ local CHRONY_CONFIGURE="
+ ./configure \
+ $(usex caps '' --disable-linuxcaps) \
+ $(usex cmdmon '' --disable-cmdmon) \
+ $(usex ipv6 '' --disable-ipv6) \
+ $(usex ntp '' --disable-ntp) \
+ $(usex phc '' --disable-phc) \
+ $(usex pps '' --disable-pps) \
+ $(usex rtc '' --disable-rtc) \
+ $(usex refclock '' --disable-refclock) \
+ $(usex adns '' --disable-asyncdns) \
+ ${CHRONY_EDITLINE} \
+ ${EXTRA_ECONF} \
+ --docdir=/usr/share/doc/${PF} \
+ --chronysockdir=/run/chrony \
+ --infodir=/usr/share/info \
+ --mandir=/usr/share/man \
+ --prefix=/usr \
+ --sysconfdir=/etc/chrony \
+ --disable-sechash \
+ --without-nss \
+ --without-tomcrypt
+ "
+
+ # print the ./configure call to aid in future debugging
+ einfo ${CHRONY_CONFIGURE}
+ bash ${CHRONY_CONFIGURE} || die
+}
+
+src_compile() {
+ emake all docs
+}
+
+src_install() {
+ default
+
+ doinfo chrony.info*
+
+ newinitd "${FILESDIR}"/chronyd.init-r1 chronyd
+ newconfd "${FILESDIR}"/chronyd.conf chronyd
+
+ insinto /etc/${PN}
+ newins examples/chrony.conf.example1 chrony.conf
+
+ dodoc examples/*.example*
+
+ keepdir /var/{lib,log}/chrony
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/chrony-2.2.logrotate chrony
+
+ systemd_newunit "${FILESDIR}"/chronyd.service-r2 chronyd.service
+ systemd_enable_ntpunit 50-chrony chronyd.service
+}
diff --git a/net-misc/chrony/chrony-9999.ebuild b/net-misc/chrony/chrony-9999.ebuild
index 2dae405291b1..13709c01b0b1 100644
--- a/net-misc/chrony/chrony-9999.ebuild
+++ b/net-misc/chrony/chrony-9999.ebuild
@@ -96,7 +96,7 @@ src_install() {
doinfo chrony.info*
- newinitd "${FILESDIR}"/chronyd.init chronyd
+ newinitd "${FILESDIR}"/chronyd.init-r1 chronyd
newconfd "${FILESDIR}"/chronyd.conf chronyd
insinto /etc/${PN}
diff --git a/net-misc/chrony/files/chronyd.init-r1 b/net-misc/chrony/files/chronyd.init-r1
new file mode 100644
index 000000000000..80ec85518957
--- /dev/null
+++ b/net-misc/chrony/files/chronyd.init-r1
@@ -0,0 +1,70 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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}"`
+ 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"
+}