mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 11:09:59 -04:00
[v9_11] auto-generate named.conf.docbook
4603. [doc] Automatically generate named.conf(5) man page from doc/misc/options. Thanks to Tony Finch. [RT #43525]
This commit is contained in:
parent
8b9c4592ed
commit
34f649fa22
4 changed files with 987 additions and 537 deletions
4
CHANGES
4
CHANGES
|
|
@ -1,3 +1,7 @@
|
|||
4603. [doc] Automatically generate named.conf(5) man page
|
||||
from doc/misc/options. Thanks to Tony Finch.
|
||||
[RT #43525]
|
||||
|
||||
4602. [func] Threads are now set to human-readable
|
||||
names to assist debugging, when supported by
|
||||
the OS. [RT #43234]
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -4,8 +4,6 @@
|
|||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# $Id: Makefile.in,v 1.9 2009/07/10 23:47:58 tbox Exp $
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
|
|
@ -39,3 +37,6 @@ options: FORCE
|
|||
else \
|
||||
rm -f $@.new $@.raw $@.sorted ; \
|
||||
fi
|
||||
|
||||
docbook: options
|
||||
${PERL} docbook-options.pl options > ${top_srcdir}/bin/named/named.conf.docbook
|
||||
|
|
|
|||
176
doc/misc/docbook-options.pl
Normal file
176
doc/misc/docbook-options.pl
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
#!/usr/bin/perl
|
||||
#
|
||||
# Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# Usage: perl docbook-options.pl doc/misc/options > named.conf.docbook
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
use Time::Piece;
|
||||
|
||||
if (@ARGV < 1) {
|
||||
print STDERR <<'END';
|
||||
usage:
|
||||
perl docbook-options.pl options_file [YYYY/MM/DD] >named.conf.docbook
|
||||
END
|
||||
exit 1;
|
||||
}
|
||||
|
||||
my $FILE = shift;
|
||||
|
||||
my $DATE;
|
||||
if (@ARGV >= 2) {
|
||||
$DATE = shift
|
||||
} else {
|
||||
$DATE = `git log --max-count=1 --date=short --format='%cd' $FILE` or die "unable to determine last modification date of '$FILE'; specify on command line\nexiting";
|
||||
}
|
||||
chomp $DATE;
|
||||
|
||||
open (FH, "<", $FILE) or die "Can't open $FILE";
|
||||
|
||||
my $t = Time::Piece->new();
|
||||
my $year = $t->year;
|
||||
|
||||
print <<END;
|
||||
<!--
|
||||
- Copyright (C) 2004-$year Internet Systems Consortium, Inc. ("ISC")
|
||||
-
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<!-- Generated by doc/misc/docbook-options.pl -->
|
||||
|
||||
<refentry xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="man.named.conf">
|
||||
<info>
|
||||
<date>$DATE</date>
|
||||
</info>
|
||||
<refentryinfo>
|
||||
<corpname>ISC</corpname>
|
||||
<corpauthor>Internet Systems Consortium, Inc.</corpauthor>
|
||||
</refentryinfo>
|
||||
|
||||
<refmeta>
|
||||
<refentrytitle><filename>named.conf</filename></refentrytitle>
|
||||
<manvolnum>5</manvolnum>
|
||||
<refmiscinfo>BIND9</refmiscinfo>
|
||||
</refmeta>
|
||||
|
||||
<refnamediv>
|
||||
<refname><filename>named.conf</filename></refname>
|
||||
<refpurpose>configuration file for <command>named</command></refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<docinfo>
|
||||
<copyright>
|
||||
END
|
||||
|
||||
for (my $y = 2004; $y <= $year; $y++) {
|
||||
print " <year>$y</year>\n";
|
||||
}
|
||||
|
||||
print <<END;
|
||||
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
|
||||
</copyright>
|
||||
</docinfo>
|
||||
|
||||
<refsynopsisdiv>
|
||||
<cmdsynopsis sepchar=" ">
|
||||
<command>named.conf</command>
|
||||
</cmdsynopsis>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsection><info><title>DESCRIPTION</title></info>
|
||||
|
||||
<para><filename>named.conf</filename> is the configuration file
|
||||
for
|
||||
<command>named</command>. Statements are enclosed
|
||||
in braces and terminated with a semi-colon. Clauses in
|
||||
the statements are also semi-colon terminated. The usual
|
||||
comment styles are supported:
|
||||
</para>
|
||||
<para>
|
||||
C style: /* */
|
||||
</para>
|
||||
<para>
|
||||
C++ style: // to end of line
|
||||
</para>
|
||||
<para>
|
||||
Unix style: # to end of line
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
END
|
||||
|
||||
# skip preamble
|
||||
my $preamble = 0;
|
||||
while (<FH>) {
|
||||
if (m{^\s*$}) {
|
||||
last if $preamble > 0;
|
||||
} else {
|
||||
$preamble++;
|
||||
}
|
||||
}
|
||||
|
||||
while (<FH>) {
|
||||
if (m{// not.*implemented} || m{// obsolete}) {
|
||||
next;
|
||||
}
|
||||
s{ // not configured}{};
|
||||
s{ // may occur multiple times}{};
|
||||
s{<([a-z0-9_-]+)>}{<replaceable>$1</replaceable>}g;
|
||||
s{[[]}{<optional>}g;
|
||||
s{[]]}{</optional>}g;
|
||||
s{ }{\t}g;
|
||||
if (m{^([a-z0-9-]+) }) {
|
||||
my $HEADING = uc $1;
|
||||
print <<END;
|
||||
<refsection><info><title>$HEADING</title></info>
|
||||
|
||||
<literallayout class="normal">
|
||||
END
|
||||
}
|
||||
if (m{^\s*$}) {
|
||||
print <<END;
|
||||
</literallayout>
|
||||
</refsection>
|
||||
END
|
||||
}
|
||||
print;
|
||||
}
|
||||
|
||||
print <<END;
|
||||
<refsection><info><title>FILES</title></info>
|
||||
|
||||
<para><filename>/etc/named.conf</filename>
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
<refsection><info><title>SEE ALSO</title></info>
|
||||
|
||||
<para><citerefentry>
|
||||
<refentrytitle>ddns-confgen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>named-checkconf</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>rndc</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>rndc-confgen</refentrytitle><manvolnum>8</manvolnum>
|
||||
</citerefentry>,
|
||||
<citetitle>BIND 9 Administrator Reference Manual</citetitle>.
|
||||
</para>
|
||||
</refsection>
|
||||
|
||||
</refentry>
|
||||
END
|
||||
Loading…
Reference in a new issue