summaryrefslogtreecommitdiff
blob: b637edc5fd7b809c30a04e3bf3ba54f0e622717e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/ntp/ntp-4.2.0-r2.ebuild,v 1.25 2005/08/25 22:10:40 vapier Exp $

inherit eutils flag-o-matic gnuconfig

DESCRIPTION="Network Time Protocol suite/programs"
HOMEPAGE="http://www.ntp.org/"
SRC_URI="http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/${P}.tar.gz
	mirror://gentoo/${PF}-manpages.tar.bz2"

LICENSE="as-is"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa mips ppc ppc64 sparc x86 ia64"
IUSE="parse-clocks nodroproot selinux ssl"

RDEPEND=">=sys-libs/ncurses-5.2
	>=sys-libs/readline-4.1
	!nodroproot? ( sys-libs/libcap )
	ssl? ( dev-libs/openssl )
	selinux? ( sec-policy/selinux-ntp )"
DEPEND="${RDEPEND}
	>=sys-devel/autoconf-2.58
	>=sys-devel/automake-1.7.7
	>=sys-apps/sed-4.0.5"

hax_bitkeeper() {
	# the makefiles have support for bk ...
	# basically we have to do this or bk will try to write
	# to files in /opt/bitkeeper causing sandbox violations ;(
	mkdir ${T}/fakebin
	echo "#!/bin/sh"$'\n'"exit 1" > ${T}/fakebin/bk
	chmod a+x ${T}/fakebin/bk
	export PATH="${T}/fakebin:${PATH}"
}

src_unpack() {
	unpack ${A}
	cd "${S}"

	use alpha && epatch "${FILESDIR}"/ntp-4.1.1b-syscall-libc.patch

	epatch "${FILESDIR}"/${PV}-ntpdate-quiet.patch
	epatch "${FILESDIR}"/${PV}-linux-config-phone.patch #13001
	epatch "${FILESDIR}"/${PV}-droproot.patch
	epatch "${FILESDIR}"/ntp-4.2.0-ntpd-using-wrong-group.patch #103719
	sed -i "s:-Wpointer-arith::" configure.in

	# needed in order to make files with right ver info #30220
	aclocal -I . || die "aclocal"
	automake || die "automake"
	autoconf || die "autoconf"

	sed -i \
		-e 's:-lelf:-la_doe_a_deer_a_female_deer:g' \
		-e 's:-lmd5:-li_dont_want_no_stinkin_md5:g' \
		configure || die "sed failed"

	gnuconfig_update
}

src_compile() {
	hax_bitkeeper

	local mysslconf
	use ssl \
		&& mysslconf="--with-openssl-libdir=yes" \
		|| mysslconf="--with-openssl-libdir=no"
	econf \
		`use_enable !nodroproot linuxcaps` \
		`use_enable parse-clocks` \
		${mysslconf} \
		|| die

	emake || die
}

pkg_preinst() {
	enewgroup ntp 123
	enewuser ntp 123 -1 /dev/null ntp
}

src_install() {
	hax_bitkeeper
	pkg_preinst

	make install DESTDIR=${D} || die

	dodoc ChangeLog INSTALL NEWS README TODO WHERE-TO-START
	doman ${WORKDIR}/man/*.1
	dohtml -r html/*

	insinto /usr/share/ntp
	doins "${FILESDIR}"/ntp.conf
	rm -rf `find scripts/ \
		-name '*.in' -o \
		-name 'Makefile*' -o \
		-name 'rc[12]' -o \
		-name support`
	cp -r scripts/* ${D}/usr/share/ntp/
	chmod -R go-w ${D}/usr/share/ntp

	[ ! -e ${ROOT}/etc/ntp.conf ] && insinto /etc && doins "${FILESDIR}"/ntp.conf
	exeinto /etc/init.d
	newexe "${FILESDIR}"/ntpd.rc ntpd
	newexe "${FILESDIR}"/ntp-client.rc ntp-client
	insinto /etc/conf.d
	newins "${FILESDIR}"/ntpd.confd ntpd
	newins "${FILESDIR}"/ntp-client.confd ntp-client
	use nodroproot && dosed "s|-u ntp:ntp||" /etc/conf.d/ntpd

	dodir /var/lib/ntp
	fowners ntp:ntp /var/lib/ntp
	touch ${D}/var/lib/ntp/ntp.drift
	fowners ntp:ntp /var/lib/ntp/ntp.drift
}

pkg_postinst() {
	ewarn "You can find an example /etc/ntp.conf in /usr/share/ntp/"
	ewarn "Review /etc/ntp.conf to setup server info."
	ewarn "Review /etc/conf.d/ntpd to setup init.d info."
	echo
	einfo "The way ntp sets and maintains your system time has changed."
	einfo "Now you can use /etc/init.d/ntp-client to set your time at"
	einfo "boot while you can use /etc/init.d/ntpd to maintain your time"
	einfo "while your machine runs"
	if [ ! -z "$(egrep '^[^#].*notrust' ${ROOT}/etc/ntp.conf)" ] ; then
		echo
		eerror "The notrust option was found in your /etc/ntp.conf!"
		ewarn "If your ntpd starts sending out weird responses,"
		ewarn "then make sure you have keys properly setup and see"
		ewarn "http://bugs.gentoo.org/show_bug.cgi?id=41827"
	fi
}