From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/ntp/PKGBUILD | 78 ++++++++++++++++ extra/ntp/changelog | 25 +++++ extra/ntp/ntp-4.2.4-html2man.patch | 183 +++++++++++++++++++++++++++++++++++++ extra/ntp/ntp-client.conf | 5 + extra/ntp/ntp.conf | 52 +++++++++++ extra/ntp/ntpd | 52 +++++++++++ extra/ntp/ntpdate | 31 +++++++ 7 files changed, 426 insertions(+) create mode 100644 extra/ntp/PKGBUILD create mode 100644 extra/ntp/changelog create mode 100644 extra/ntp/ntp-4.2.4-html2man.patch create mode 100644 extra/ntp/ntp-client.conf create mode 100644 extra/ntp/ntp.conf create mode 100755 extra/ntp/ntpd create mode 100755 extra/ntp/ntpdate (limited to 'extra/ntp') diff --git a/extra/ntp/PKGBUILD b/extra/ntp/PKGBUILD new file mode 100644 index 000000000..69669c721 --- /dev/null +++ b/extra/ntp/PKGBUILD @@ -0,0 +1,78 @@ +# $Id: PKGBUILD 117473 2011-04-03 17:50:26Z andrea $ +# Maintainer: kevin + +pkgname=ntp +pkgver=4.2.6.p3 +_realver=4.2.6p3 +pkgrel=3 +pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync" +arch=(i686 x86_64) +license=('custom') +url="http://www.ntp.org/" +depends=('openssl' 'readline' 'libcap') +makedepends=('perl-html-parser') +backup=('etc/ntp.conf' 'etc/conf.d/ntp-client.conf') +options=('!emptydirs') +changelog=changelog +source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${_realver}.tar.gz + ntp-4.2.4-html2man.patch + ntp.conf + ntp-client.conf + ntpd + ntpdate) +md5sums=('59876a9009b098ff59767ee45a88ebd2' '1b04e888717bb31479a6087632981723' + '398a7f270f6ae083f47f86eb8b557a75' '58997d6cf4846d80e35a01b855376a33' + 'bf20804e75656609e808ca21b53ea4aa' '99b49d763e5866f4f81c48d922c80b93') + +build() { + cd "$srcdir/$pkgname-$_realver" + # fix man page generation + patch -Np1 -i ../ntp-4.2.4-html2man.patch + # configure + export LDFLAGS="${LDFLAGS//-Wl,--as-needed}" + # 4.2.6p3: aclocal too old, regenerate + rm -f aclocal.m4 + libtoolize --copy --force + ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-linux-caps + # build + make +} + +package() { + cd "$srcdir/$pkgname-$_realver" + + # install + make DESTDIR="$pkgdir" install + + # install conf files + install -d "$pkgdir/usr/share/ntp" + install -D -m644 conf/* "${pkgdir}/usr/share/ntp" + + # install launch scripts + install -d "$pkgdir/etc/rc.d" + install -D -m755 ${srcdir}/{ntpd,ntpdate} "$pkgdir/etc/rc.d" + + # install man pages + cd html + ../scripts/html2man + sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58] + install -d "$pkgdir"/usr/share/man/man{5,8} + install -m644 man/man5/* "$pkgdir/usr/share/man/man5/" + install -m644 man/man8/* "$pkgdir/usr/share/man/man8/" + mv "$pkgdir/usr/share/man/man8/ntpd.8" "$pkgdir/usr/share/man/man8/ntp-ntpd.8" + cd .. + + # install sample configs + install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf" + install -D -m644 "$srcdir/ntp-client.conf" \ + "$pkgdir/etc/conf.d/ntp-client.conf" + + # create /var/lib/ntp + install -d "$pkgdir/var/lib/ntp" + touch "$pkgdir/var/lib/ntp/.placeholder" + + install -Dm644 "$srcdir/$pkgname-$_realver/COPYRIGHT" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/extra/ntp/changelog b/extra/ntp/changelog new file mode 100644 index 000000000..528a07826 --- /dev/null +++ b/extra/ntp/changelog @@ -0,0 +1,25 @@ +2011-04-03 andrea + + * ntp 4.2.6p3-3 + - Use 'ntpd -p' to get the PID in ntpd + - Don't run the ntp client in background in ntpdate + +2011-03-28 andrea + + * ntp 4.2.6p3-2 + - Improved daemon scripts + +2010-10-16 kevin + + * ntp 4.2.6p3 + - Implemented FS#18469, replace ntpdate with ntpd -q + - Removed LIBS + - Removed old IPv6 and nano patch + +2010-10-16 kevin + + * ntp 4.2.6p2 + - Added changelog + - Set LIBS to use librt since configure doesn't set it + - Convert PKGBUILD to build()/package() format + - removed "|| return 1" diff --git a/extra/ntp/ntp-4.2.4-html2man.patch b/extra/ntp/ntp-4.2.4-html2man.patch new file mode 100644 index 000000000..333d4529a --- /dev/null +++ b/extra/ntp/ntp-4.2.4-html2man.patch @@ -0,0 +1,183 @@ +--- ntp-4.2.4/scripts/html2man.in.html2man 2006-06-06 22:17:10.000000000 +0200 ++++ ntp-4.2.4/scripts/html2man.in 2007-01-08 12:47:31.000000000 +0100 +@@ -23,10 +23,10 @@ + 'ntpq' => ['ntpq', 8, 'ntpd(8), ntpdc(8)'], + 'ntpdate' => ['ntpdate', 8, 'ntpd(8)'], + 'ntpdc' => ['ntpdc', 8, 'ntpd(8)'], +- 'ntptime' => ['ntpdtime', 8, 'ntpd(8), ntpdate(8)'], ++ 'ntptime' => ['ntptime', 8, 'ntpd(8), ntpdate(8)'], + 'ntptrace' => ['ntptrace', 8, 'ntpd(8)'], + 'keygen' => ['ntp-keygen', 8, 'ntpd(8), ntp_auth(5)'], +- 'confopt' => ['ntp.conf', 5, 'ntpd(8)'], ++ 'confopt' => ['ntp.conf', 5, 'ntpd(8), ntp_auth(5), ntp_mon(5), ntp_acc(5), ntp_clock(5), ntp_misc(5)'], + 'authopt' => ['ntp_auth', 5, 'ntp.conf(5), ntpd(8)'], + 'monopt' => ['ntp_mon', 5, 'ntp.conf(5)'], + 'accopt' => ['ntp_acc', 5, 'ntp.conf(5)'], +@@ -34,17 +34,8 @@ + 'miscopt' => ['ntp_misc', 5, 'ntp.conf(5)']); + + # Disclaimer to go in SEE ALSO section of the man page +-$seealso_disclaimer = 'These man pages are automatically hacked from the main NTP ' . +- 'documentation pages, which are maintained in HTML format. These files are ' . +- 'included in the NTP source distribution. If you installed NTP from a binary ' . +- 'package, or it came pre-installed on your system, chances are the documentation ' . +- 'was also included in the usual place for your system. The HTML files are more ' . +- 'correct and complete than these man pages, which are provided for your reference ' . +- 'only.'; +- +-# Disclaimer to go right at the top +-$top_disclaimer = 'This file was automatically generated from HTML source, and may be ' . +- 'incorrect. See the SEE ALSO section at the end of this file for more info'; ++$seealso_disclaimer = "Primary source of documentation: /usr/share/doc/ntp-*\n\n" . ++ "This file was automatically generated from HTML source.\n"; + + mkdir $MANDIR, 0777; + mkdir "$MANDIR/man8", 0777; +@@ -64,7 +55,8 @@ + $fileinfo = $manfiles{$filename}; + + $p = HTML::TokeParser->new("$filename.html") || die "Can't open $filename.html: $!"; +- open(MANOUT, ">$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]") ++ $fileout = "$MANDIR/man$fileinfo->[1]/$fileinfo->[0].$fileinfo->[1]"; ++ open(MANOUT, ">$fileout") + || die "Can't open: $!"; + + $p->get_tag("title"); +@@ -73,7 +65,6 @@ + + # Setup man header + print MANOUT ".TH " . $fileinfo->[0] . " " . $fileinfo->[1] . "\n"; +- print MANOUT ".UC 4\n"; + print MANOUT ".SH NAME\n"; + $pat = $fileinfo->[0]; + if ($name =~ /$pat/) { +@@ -81,10 +72,12 @@ + # Add the manpage name, if not in the HTML title already + print MANOUT "$fileinfo->[0] - "; + } +- print MANOUT "$name\n\n"; +- +- print MANOUT "$top_disclaimer\n"; ++ print MANOUT "$name\n.SH \\ \n\n"; + ++ @fontstack = (); ++ $deflevel = 0; ++ $pre = 0; ++ $ignore = 0; + # Now start scanning. We basically print everything after translating some tags. + # $token->[0] has "T", "S", "E" for Text, Start, End + # $token->[1] has the tag name, or text (for "T" case) +@@ -92,19 +85,37 @@ + while (my $token = $p->get_token) { + if($token->[0] eq "T") { + my $text = $token->[1]; +- if($tag) { +- $text =~ s/^[\n ]*//; +- $text =~ s/[\n ]*$/ /; ++ if (!$pre) { ++ if($tag) { ++ $text =~ s/^[\n\t ]*//; ++ } ++ $text =~ s/^[\n\t ][\n\t ]+$//; ++ $text =~ s/[\n\t ]+/ /g; ++ $text =~ s/ \;/ /g; ++ $text =~ s/>\;/>/g; ++ $text =~ s/<\;/[0] eq "S") { + if($token->[1] eq "h4") { + my $text = uc($p->get_trimmed_text("/h4")); +- print MANOUT ".SH $text\n"; ++ # ignore these two sections in ntpd.html ++ if ($filename eq "ntpd" && ++ ($text eq "FILES" || $text eq "CONFIGURATION OPTIONS")) { ++ $ignore = 1; ++ close(MANOUT); ++ open(MANOUT, ">/dev/null"); ++ } elsif ($ignore) { ++ $ignore = 0; ++ close(MANOUT); ++ open(MANOUT, ">>$fileout"); ++ } ++ print MANOUT "\n\n.SH $text\n"; + } + if($token->[1] eq "tt") { + push @fontstack, "tt"; +@@ -118,22 +129,30 @@ + my $text = $p->get_trimmed_text("/address"); + print MANOUT "\n.SH AUTHOR\n$text\n"; + } +- if($token->[1] eq "dt") { +- $tmp = $deflevel-4; +- print MANOUT "\n.RS $tmp\n"; ++ if($token->[1] eq "dt" || $token->[1] eq "br" && $deflevel > 0) { ++ print MANOUT "\n.TP 8\n"; + $tag = 1; + } + if($token->[1] eq "dd") { +- print MANOUT "\n.RS $deflevel\n"; ++ print MANOUT "\n"; + $tag = 1; + } + if($token->[1] eq "dl") { +- $deflevel+=4; ++ $deflevel+=1; ++ if ($deflevel > 0) { ++ print MANOUT "\n.RS ", $deflevel > 1 ? 8 : 0; ++ } ++ } ++ if($token->[1] eq "p") { ++ print MANOUT "\n"; ++ } ++ if($token->[1] eq "pre") { ++ print MANOUT "\n.nf"; ++ $pre = 1; + } + } + elsif($token->[0] eq "E") { +- if($token->[1] eq "dd") { +- print MANOUT "\n.RE\n"; ++ if($token->[1] eq "h4") { + $tag = 1; + } + if($token->[1] eq "tt") { +@@ -157,15 +176,27 @@ + print MANOUT "$fontswitch"; + } + if($token->[1] eq "dl") { +- $deflevel-=4; ++ if ($deflevel > 0) { ++ print MANOUT "\n.RE"; ++ } ++ print MANOUT "\n"; ++ $deflevel-=1; + } +- if($token->[1] eq "dt") { +- print MANOUT "\n.RE"; ++ if($token->[1] eq "p") { ++ print MANOUT "\n"; + $tag = 1; + } ++ if($token->[1] eq "pre") { ++ print MANOUT "\n.fi"; ++ $pre = 0; ++ } + } + } +- print MANOUT ".SH SEE ALSO\n\n"; ++ if ($ignore) { ++ close(MANOUT); ++ open(MANOUT, ">>$fileout"); ++ } ++ print MANOUT "\n.SH SEE ALSO\n\n"; + print MANOUT "$fileinfo->[2]\n\n"; + print MANOUT "$seealso_disclaimer\n"; + close(MANOUT); diff --git a/extra/ntp/ntp-client.conf b/extra/ntp/ntp-client.conf new file mode 100644 index 000000000..e728db579 --- /dev/null +++ b/extra/ntp/ntp-client.conf @@ -0,0 +1,5 @@ +# client options for "ntpd -q" - ntpdate equivalent +NTP_CLIENT_OPTION="-g" + +# arguments passed to ntpd when started +NTPD_ARGS="-g" diff --git a/extra/ntp/ntp.conf b/extra/ntp/ntp.conf new file mode 100644 index 000000000..7f888e4b1 --- /dev/null +++ b/extra/ntp/ntp.conf @@ -0,0 +1,52 @@ +# NOTES: +# - you should only have to update the server line below +# - if you start getting lines like 'restrict' and 'fudge' +# and you didnt add them, AND you run dhcpcd on your +# network interfaces, be sure to add '-Y -N' to the +# dhcpcd_ethX variables in /etc/conf.d/net + +# Name of the servers ntpd should sync with +# Please respect the access policy as stated by the responsible person. +#server ntp.example.tld iburst + +server pool.ntp.org + +## +# A list of available servers can be found here: +# http://www.pool.ntp.org/ +# http://www.pool.ntp.org/#use +# A good way to get servers for your machine is: +# netselect -s 3 pool.ntp.org +## + +#server ntplocal.example.com prefer +#server timeserver.example.org + +# Warning: Using default NTP settings will leave your NTP +# server accessible to all hosts on the Internet. + +# A default deny all (including localhost) policy +# To use this define restrictions for all servers and clients +#restrict default ignore +#restrict -6 default ignore + +# A more open policy, allow access but deny changing the configuration +restrict default nomodify nopeer +#restrict -6 default nomodify nopeer + +# Allow localhost +restrict 127.0.0.1 +#restrict -6 ::1 + + +# To allow machines within your network to synchronize +# their clocks with your server, but ensure they are +# not allowed to configure the server or used as peers +# to synchronize against, uncomment this line. +# +#restrict 192.168.0.0 mask 255.255.255.0 nomodify nopeer notrap + + +# you should not need to modify the following paths +driftfile /var/lib/ntp/ntp.drift + diff --git a/extra/ntp/ntpd b/extra/ntp/ntpd new file mode 100755 index 000000000..825efc189 --- /dev/null +++ b/extra/ntp/ntpd @@ -0,0 +1,52 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/ntp-client.conf + +PIDFILE="/var/run/ntpd/ntpd.pid" +PID=$(cat $PIDFILE 2> /dev/null) + +case "$1" in + start) + stat_busy "Starting NTP Daemon" + [ ! -d /var/run/ntpd ] && install -d /var/run/ntpd &>/dev/null + if [ -z "$PID" ]; then + /usr/bin/ntpd $NTPD_ARGS -p /var/run/ntpd/ntpd.pid &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon ntpd + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping NTP Daemon" + if [ -n "$PID" ]; then + kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + rm $PIDFILE &>/dev/null + rm_daemon ntpd + stat_done + fi + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac diff --git a/extra/ntp/ntpdate b/extra/ntp/ntpdate new file mode 100755 index 000000000..99508f4fd --- /dev/null +++ b/extra/ntp/ntpdate @@ -0,0 +1,31 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/ntp-client.conf + +case "$1" in + start) + stat_busy "Starting NTP Client" + /usr/bin/ntpd -q $NTP_CLIENT_OPTION &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon ntpdate + stat_done + fi + ;; + stop) + stat_busy "Stopping NTP Client" + rm_daemon ntpdate + stat_done + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + -- cgit v1.2.3-54-g00ecf