Date: Sunday, December 13, 2009 @ 07:00:20 Author: eric Revision: 61216
upgpkg: ntp 4.2.6-1 Upstream update, Automated generation of extra man pages Added: ntp/trunk/ntp-4.2.4-html2man.patch Modified: ntp/trunk/PKGBUILD --------------------------+ PKGBUILD | 66 +++++++++------- ntp-4.2.4-html2man.patch | 183 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 220 insertions(+), 29 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2009-12-13 07:55:37 UTC (rev 61215) +++ PKGBUILD 2009-12-13 12:00:20 UTC (rev 61216) @@ -1,70 +1,78 @@ # $Id$ # Maintainer: dorphell <dorph...@archlinux.org> pkgname=ntp -pkgver=4.2.4p7 -pkgrel=3 +pkgver=4.2.6 +pkgrel=1 pkgdesc="NTP (Network Time Protocol) tries to keep servers in sync" arch=(i686 x86_64) license=('custom') url="http://www.ntp.org/" depends=('openssl>=0.9.8h' 'readline>=6.0.00' 'libcap') +makedepends=('perl-html-parser') backup=('etc/ntp.conf' 'etc/conf.d/ntp-client.conf') options=('!emptydirs') source=(http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-${pkgver}.tar.gz ftp://ftp.archlinux.org/other/ntp/ntp-4.2.4p6-manpages.tar.bz2 ntp-4.2.4_p7-nano.patch fix-ipv6.patch + ntp-4.2.4-html2man.patch ntp.conf ntp-client.conf ntpd ntpdate) +md5sums=('4d64a99592b818aa9419fc9dcb149746' '3396ea6276147617e5cf79cefffee018'\ + '36c5711228cb0cf48966daa993e06f55' '9dabdbc6b8cd020f2205515df7972c21'\ + '1b04e888717bb31479a6087632981723' '5bd3924f5720b97837969ec4ec4d5e09'\ + 'c7f50632b69bd4f32cf052d0b1848463' '46118a8ec2c4f5bbfafd730af21b7c03'\ + '140855352baeb89da0c6c1c475c18b57') +sha1sums=('a1f21b23c8c80f35801d59e30ba30779f2025a72' '993b849a2e5fa719f53f85c4e83ee52eecbea56d'\ + '4de6cd3fad1946146107f86d1f161eb835fbb2d3' '3632f8a00838f48e484bca24de06db443cc14fff'\ + '7f8783e243e23c8853a9f9fb5b36f467aab8dc15' '3625ed2aa71d9e0dd04634f32e65d83b76cfe780'\ + 'c8e388f2577b4329da5e77f0455083db6dd97fa8' 'd9b09de9d718a864270e9330e20109e182dfbdd9'\ + '6dfc3b6996f591123ee8938fd0fe7c27eb5c7552') build() { - cd $srcdir/$pkgname-$pkgver || return 1 + cd "$srcdir/$pkgname-$pkgver" || return 1 # fix glibc build issue patch -Np1 -i ../ntp-4.2.4_p7-nano.patch || return 1 # fix ipv6 support patch -Np1 -i ../fix-ipv6.patch || return 1 + # fix man page generation + patch -Np1 -i ../ntp-4.2.4-html2man.patch || return 1 # configure + export LDFLAGS="${LDFLAGS//-Wl,--as-needed}" + libtoolize --copy --force || return 1 ac_cv_header_dns_sd_h=0 ./configure --prefix=/usr --mandir=/usr/share/man --enable-linux-caps || return 1 # build and install make || return 1 - make DESTDIR=$pkgdir install || return 1 + make DESTDIR="$pkgdir" install || return 1 # install conf files - mkdir -p $pkgdir/usr/share/ntp || return 1 - install -D -m644 conf/* $pkgdir/usr/share/ntp/ || return 1 + mkdir -p "$pkgdir/usr/share/ntp" || return 1 + install -D -m644 conf/* "$pkgdir/usr/share/ntp/" || return 1 # install launch scripts - mkdir -p $pkgdir/etc/rc.d || return 1 - install -D -m755 $srcdir/{ntpd,ntpdate} $pkgdir/etc/rc.d/ || return 1 + mkdir -p "$pkgdir/etc/rc.d" || return 1 + install -D -m755 "$srcdir"/{ntpd,ntpdate} "$pkgdir/etc/rc.d/" || return 1 # install man pages - install -d $pkgdir/usr/share/man/man{1,5} - install -m644 $srcdir/man/*.5 \ - $pkgdir/usr/share/man/man5/ || return 1 - for i in $srcdir/man/*.8 ; do - install -m644 $i $pkgdir/usr/share/man/man1/$(basename $i .8).1 || return 1 - done - mv $pkgdir/usr/share/man/man1/keygen.1 $pkgdir/usr/share/man/man1/ntp-keygen.1 || return 1 + cd html + ../scripts/html2man || return 1 + sed -i 's/^[\t\ ]*$//;/./,/^$/!d' man/man*/*.[58] || return 1 + install -d "$pkgdir"/usr/share/man/man{5,8} + install -m644 man/man5/* "$pkgdir/usr/share/man/man5/" || return 1 + install -m644 man/man8/* "$pkgdir/usr/share/man/man8/" || return 1 + cd .. # install sample configs - install -D -m644 $srcdir/ntp.conf $pkgdir/etc/ntp.conf || return 1 - install -D -m644 $srcdir/ntp-client.conf \ - $pkgdir/etc/conf.d/ntp-client.conf || return 1 + install -D -m644 "$srcdir/ntp.conf" "$pkgdir/etc/ntp.conf" || return 1 + install -D -m644 "$srcdir/ntp-client.conf" \ + "$pkgdir/etc/conf.d/ntp-client.conf" || return 1 # create /var/lib/ntp - mkdir -p $pkgdir/var/lib/ntp || return 1 - touch $pkgdir/var/lib/ntp/.placeholder || return 1 + mkdir -p "$pkgdir/var/lib/ntp" || return 1 + touch "$pkgdir/var/lib/ntp/.placeholder" || return 1 - install -Dm644 $srcdir/$pkgname-$pkgver/COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/COPYRIGHT + install -Dm644 "$srcdir/$pkgname-$pkgver/COPYRIGHT" "$pkgdir/usr/share/licenses/$pkgname/COPYRIGHT" } -md5sums=('8c19ff62ed4f7d64f8e2aa59cb11f364' - '3396ea6276147617e5cf79cefffee018' - '36c5711228cb0cf48966daa993e06f55' - '9dabdbc6b8cd020f2205515df7972c21' - '5bd3924f5720b97837969ec4ec4d5e09' - 'c7f50632b69bd4f32cf052d0b1848463' - '46118a8ec2c4f5bbfafd730af21b7c03' - '140855352baeb89da0c6c1c475c18b57') Added: ntp-4.2.4-html2man.patch =================================================================== --- ntp-4.2.4-html2man.patch (rev 0) +++ ntp-4.2.4-html2man.patch 2009-12-13 12:00:20 UTC (rev 61216) @@ -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/<\;/</g; ++ $text =~ s/"\;/"/g; ++ $text =~ s/&\;/&/g; ++ $text =~ s/^\./\\[char46]/; + } +- $text =~ s/ \;/ /g; +- $text =~ s/^\./\\./; + print MANOUT "$text"; + $tag = 0; + } + if($token->[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);