Commit 672162a9 authored by Fabian Wolff's avatar Fabian Wolff

Import Upstream version 2.17

parent 38ca25d6
......@@ -4,29 +4,28 @@ Copyright (c) 2002, 2003, 2007, and 2010 by Eric S. Raymond.
BSD LICENSE
Copyright (c) 2015, Eric S. Raymond
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
modification, are permitted provided that the following conditions are
met:
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.<P>
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.<P>
Neither name of the doclifter project nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Makefile for the doclifter project
VERSION=$(shell sed <doclifter -n -e '/^version *= *\(.*\)/s//\1/p')
MANDIR=/usr/share/man/man1
BINDIR=/usr/bin
PREFIX=/usr
MANDIR=$(PREFIX)/share/man/man1
BINDIR=$(PREFIX)/bin
DOCS = README COPYING TODO PATCHES \
doclifter.xml doclifter.1 manlifter.xml manlifter.1
......@@ -40,9 +41,12 @@ doclifter-$(VERSION).md5: doclifter-$(VERSION).tar.gz
check:
@cd tests >/dev/null; make --quiet
PYLINTOPTS = --rcfile=/dev/null --reports=n --include-ids=y --disable="C0103,C0111,C0301,C0302,C0322,C0321,C0324,W0402,W0511,W0141,W0231,W0333,W0631,R0201,R0911,R0912,R0914,R0902,R0903,R0904,R0913,R0914,R0915"
PYLINTOPTS = --rcfile=/dev/null --reports=n \
--msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" \
--dummy-variables-rgx='^_|^dummy'
SUPPRESSIONS = "C0103,C0111,C0301,C0302,C0322,C0321,C0324,C0330,C1001,W0110,W0120,W0123,W0201,W0402,W0511,W0702,W0141,W1401,W0231,W0622,W0333,W0631,R0201,R0911,R0912,R0914,R0902,R0903,R0904,R0913,R0914,R0915,E1101"
pylint:
@pylint --output-format=parseable $(PYLINTOPTS) doclifter
@pylint $(PYLINTOPTS) --disable=$(SUPPRESSIONS) doclifter
pychecker:
@echo "Expect 4 warnings."
......@@ -55,10 +59,13 @@ dist: doclifter-$(VERSION).tar.gz
clean:
rm -f doclifter.html manlifter.html doclifter.1 manlifter.1
rm -f *.pyc docliftertest.xml foobar* fixed* *~ bugs.html
rm -f SHIPPER.* index.html *.tar.gz *.md5
rm -f index.html *.tar.gz *.md5
release: doclifter-$(VERSION).tar.gz doclifter-$(VERSION).md5 doclifter.html manlifter.html
shipper -u -m -t; make clean
shipper version=$(VERSION) | sh -e -x
refresh: doclifter.html manlifter.html
shipper -N -w version=$(VERSION) | sh -e -x
# This is used only for updating the bugs page on my website.
# It won't work for anyone else.
......
This diff is collapsed.
......@@ -11,6 +11,10 @@ This tool does the hard parts. TBL tables are translated into DocBook
table markup, PIC into SVG, and EQN into MathML (relying on pic2svg
and GNU eqn for the last two).
Install by doing, "make install". To install to a prefix other than
the default (/usr), set a PREFIX environment variable
e.g. "PREFIX=/usr/local make -e install"
Test loads are included in the distribution; do "make check" to run
the regression tests. The code has been live tested in about the most
brutal possible way; it has been run against every single man page in
......
......@@ -3,5 +3,8 @@ Bugs:
* Docbook 5 translation is incomplete; inclusions won't work,
entities are untested.
* doclifter doesn't lnow about groff compatibility mode; de and de1 are
treated as equivalent.
See the PATCHES file for other, more minor problems mainly due to bad markup.
This source diff could not be displayed because it is too large. You can view the blob instead.
'\" t
.\" Title: doclifter
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 06/01/2013
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 03/08/2016
.\" Manual: Documentation Tools
.\" Source: doclifter
.\" Language: English
.\"
.TH "DOCLIFTER" "1" "06/01/2013" "doclifter" "Documentation Tools"
.TH "DOCLIFTER" "1" "03/08/2016" "doclifter" "Documentation Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
......@@ -31,7 +31,7 @@
doclifter \- translate troff requests into DocBook
.SH "SYNOPSIS"
.HP \w'\fBdoclifter\fR\ 'u
\fBdoclifter\fR [\-e\ \fIencoding\fR] [\-h\ \fIhintfile\fR] [\-q] [\-x] [\-v] [\-w] [\-V] [\-D\ \fItoken=type\fR] [\-I\ \fIpath\fR] [\-I\ \fIpath\fR] \fIfile\fR...
\fBdoclifter\fR [\-e\ \fIoutput\-encoding\fR] [\-i\ \fIinput\-encodings\fR] [\-h\ \fIhintfile\fR] [\-q] [\-x] [\-v] [\-w] [\-V] [\-D\ \fItoken=type\fR] [\-I\ \fIpath\fR] [\-S\ \fIspoofname\fR] \fIfile\fR...
.SH "DESCRIPTION"
.PP
\fBdoclifter\fR
......@@ -108,11 +108,23 @@ The
option adds its argument to the include path used when docfilter searches for inclusions\&. The include path is initially just the current directory\&.
.RE
.PP
\-S
.RS 4
Set the filename to be used in error and warning messages\&. This is mainly inttended for use by test scripts\&.
.RE
.PP
\-e
.RS 4
The
\fB\-e\fR
allows you to set the encoding field to be emitted in the output XML\&. It defaults to ISO\-8859\-1 (Latin\-1)\&.
allows you to set the output encoding of the XML and the encoding field to be emitted in its header\&. It defaults to UTF\-8\&.
.RE
.PP
\-i
.RS 4
The
\fB\-i\fR
allows you to set a comma\-separated list of encodings to be looked for in the input\&. The default is "ISO\-8859\-1,UTF\-8", which should cover almost all cases\&.
.RE
.PP
\-q
......@@ -126,7 +138,7 @@ could not interpret (usually because they\*(Aqre presentation\-level) are passed
.RS 4
The \-x option requests that
\fBdoclifter\fR
generated DocBook version 5 compatible xml content, rather than its default DocBook version 4\&.4 output\&. Inclusions and entities may not be handled correctly with this switch enabled\&.
generate DocBook version 5 compatible xml content, rather than its default DocBook version 4\&.4 output\&. Inclusions and entities may not be handled correctly with this switch enabled\&.
.RE
.PP
\-v
......@@ -276,7 +288,6 @@ Certain extension macros originally defined under Ultrix are translated structur
(and the synonyms
\fB\&.Ex\fR/\fB\&.Ee\fR),
\fB\&.Ds\fR/\fB\&.De\fR,
\fB\&.NT\fR/\fB\&.NE\fR,
\fB\&.PN\fR, and
\fB\&.MS\fR
......@@ -288,8 +299,7 @@ The following extension macros used by the X distribution are also recognized an
\fB\&.IN\fR,
\fB\&.ZN\fR,
\fB\&.hN\fR, and
\fB\&.C{\fR/\fB\&.C}\fR
The
\fB\&.C{\fR/\fB\&.C}\fRThe
\fB\&.TA\fR
and
\fB\&.IN\fR
......@@ -539,8 +549,7 @@ The following macros are structurally translated:
\fB\&.BVL\fR,
\fB\&.VL\fR,
\fB\&.DE\fR,
\fB\&.DL\fR
\fB\&.DS\fR,
\fB\&.DL\fR\fB\&.DS\fR,
\fB\&.FE\fR,
\fB\&.FS\fR,
\fB\&.H\fR,
......@@ -1101,6 +1110,8 @@ About 3% of man pages will either make this program throw error status 1 or gene
.PP
Equation number arguments of EQN calls are ignored\&.
.PP
Semicolon used as a TBL field separator will lead to garbled tables\&. The easiest way to fix this is by patching the source\&.
.PP
The function\-synopsis parser is crude (it\*(Aqs not a compiler) and prone to errors\&. Function\-synopsis markup should be checked carefully by a human\&.
.PP
If a man page has both paragraphed text in a Synopsis section and also a body section before the Synopis section, bad things will happen\&.
......@@ -1163,7 +1174,7 @@ utility must be installed in order to translate PIC diagrams to SVG\&.
.SH "AUTHOR"
.PP
Eric S\&. Raymond
esr@thyrsus\&.com
<esr@thyrsus\&.com>
.PP
There is a project web page at
\m[blue]\fBhttp://www\&.catb\&.org/~esr/doclifter/\fR\m[]\&.
......@@ -18,7 +18,8 @@
<cmdsynopsis>
<command>doclifter</command>
<arg choice='opt'>-e <replaceable>encoding</replaceable></arg>
<arg choice='opt'>-e <replaceable>output-encoding</replaceable></arg>
<arg choice='opt'>-i <replaceable>input-encodings</replaceable></arg>
<arg choice='opt'>-h <replaceable>hintfile</replaceable></arg>
<arg choice='opt'>-q</arg>
<arg choice='opt'>-x</arg>
......@@ -27,7 +28,7 @@
<arg choice='opt'>-V</arg>
<arg choice='opt'>-D <replaceable>token=type</replaceable></arg>
<arg choice='opt'>-I <replaceable>path</replaceable></arg>
<arg choice='opt'>-I <replaceable>path</replaceable></arg>
<arg choice='opt'>-S <replaceable>spoofname</replaceable></arg>
<arg choice='plain' rep='repeat'><replaceable>file</replaceable></arg>
</cmdsynopsis>
......@@ -130,10 +131,26 @@ initially just the current directory.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-S</term>
<listitem>
<para>Set the filename to be used in error and warning messages. This
is mainly inttended for use by test scripts.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-e</term>
<listitem>
<para>The <option>-e</option> allows you to set the encoding field
to be emitted in the output XML. It defaults to ISO-8859-1 (Latin-1).</para>
<para>The <option>-e</option> allows you to set the output encoding of
the XML and the encoding field to be emitted in its header. It
defaults to UTF-8.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-i</term>
<listitem>
<para>The <option>-i</option> allows you to set a comma-separated list of
encodings to be looked for in the input. The default is
"ISO-8859-1,UTF-8", which should cover almost all cases.</para>
</listitem>
</varlistentry>
<varlistentry>
......@@ -153,7 +170,7 @@ to lose the troff legacy.</para>
<term>-x</term>
<listitem>
<para>The -x option requests that <command>doclifter</command>
generated DocBook version 5 compatible xml content, rather than its
generate DocBook version 5 compatible xml content, rather than its
default DocBook version 4.4 output. Inclusions and entities
may not be handled correctly with this switch enabled.</para>
</listitem>
......@@ -880,6 +897,9 @@ coped with.</para>
<para>Equation number arguments of EQN calls are ignored.</para>
<para>Semicolon used as a TBL field separator will lead to garbled
tables. The easiest way to fix this is by patching the source.</para>
<para>The function-synopsis parser is crude (it's not a compiler) and
prone to errors. Function-synopsis markup should be checked carefully
by a human.</para>
......
......@@ -2,10 +2,18 @@
#
# Run doclifter against an entire manual tree.
# Sees all files in section 1 through 8 by default.
#
# SPDX-License-Identifier: BSD-2-Clause
import sys, os, getopt, signal, time, re, commands, cStringIO, stat
import sys, os, getopt, signal, time, re, subprocess, cStringIO, stat
import hotshot, hotshot.stats
try:
getstatusoutput = subprocess.getstatusoutput
except AttributeError:
import commands
getstatusoutput = commands.getstatusoutput
mandir = "/usr/share/man"
patchdir = os.path.abspath("prepatch")
outdir = None
......@@ -43,6 +51,7 @@ def analyze_manpage(manpage):
("Generated by docutils manpage writer", "docutils"),
("DocBook SGML with docbook-to-man", "DocBook SGML"),
("Doxygen", "Doxygen"),
("created with latex2man", "latex2man")
)
output = ""
fp = open(manpage)
......@@ -84,9 +93,13 @@ def getstem(file):
file = ".".join(file.split(".")[:-1]) # Remove section
return file
def make_xml(source, options):
def make_xml(source, options, withsect):
"Make XML from specified man page."
(doclifter_status, output) = commands.getstatusoutput("doclifter -I %s %s %s" % (mandir, options, source))
if withsect:
withsect = "-S " + withsect
else:
withsect = ""
(doclifter_status, output) = getstatusoutput("doclifter -I %s %s %s %s" % (mandir, withsect, options, source))
if output:
output += "\n"
if os.WIFEXITED(doclifter_status):
......@@ -126,7 +139,7 @@ def validate(translation):
except IOError:
output += "%s is missing.\n" % translation
# Run the validation checker
(bstat, validate_out) = commands.getstatusoutput("xmllint --xinclude --postvalid %s >/dev/null" % translation)
(bstat, validate_out) = getstatusoutput("xmllint --xinclude --valid %s >/dev/null" % translation)
if validate_out:
output += validate_out + "\n"
if os.WIFSIGNALED(bstat):
......@@ -148,7 +161,7 @@ def format(translation, fmt, xslfragment):
command = "xmlto %s %s" % (fmt, os.path.basename(translation))
else:
command = "xmlto -m %s %s %s" % (xslfragment, fmt, os.path.basename(translation))
(bstat, format_out) = commands.getstatusoutput(command)
(bstat, format_out) = getstatusoutput(command)
os.chdir(here)
if format_out:
output += format_out + "\n"
......@@ -217,14 +230,13 @@ def singlerun(file, options, tmpstem="foo"+`os.getpid()`, batchmode=False):
output += "XML conversion is up to date.\n"
processed.discard(withsect)
rebuild_xml = False
if batchmode and "DocBook" in analysis:
output += "Made from DocBook masters.\n"
processed.discard(withsect)
return (7, False, output)
if batchmode and "Doxygen" in analysis:
output += "Made by Doxygen.\n"
processed.discard(withsect)
return (7, False, output)
for (excluded, caption) in (("DocBook", "from DocBook masters."),
("Doxygen", "by Doxygen."),
("latex2man", "by latex2man.")):
if batchmode and excluded in analysis:
output += "Made " + caption + "\n"
processed.discard(withsect)
return (7, False, output)
htmlloc = os.path.join(subdir, stem + ".html")
if rebuild_xml:
# Note the the patch was used
......@@ -239,7 +251,7 @@ def singlerun(file, options, tmpstem="foo"+`os.getpid()`, batchmode=False):
# Move the source file into the output directory
os.rename(localcopy, source)
# Run the translator
(doclifter_status, lxmlloc, note) = make_xml(source, options)
(doclifter_status, lxmlloc, note) = make_xml(source, options, withsect if batchmode else None)
output += note
if doclifter_status not in (0, 2):
if not batchmode:
......@@ -312,6 +324,7 @@ def sectionfiles(sections):
for section in sections:
files = files + map(lambda f: manfile(section, f), os.listdir(manfile(section)))
files.sort()
files = [fn for fn in files if not os.path.basename(fn).startswith(".")]
return files
total = eligible = starttime = 0
......@@ -351,7 +364,6 @@ def massrun(files, options, profiling):
signal.signal(signal.SIGUSR2, report)
signal.signal(signal.SIGHUP, bailout)
signal.signal(signal.SIGINT, bailout)
signal.signal(signal.SIGPWR, bailout)
signal.signal(signal.SIGTERM, bailout)
print "%Test started", time.ctime()
if profiling:
......@@ -441,6 +453,7 @@ def genindex(ofp):
ofp.write(htmltrailer)
def statistics():
global patched
legends = (
"OK ", # No error
"???", # Unliftable (normal error status)
......@@ -453,7 +466,6 @@ def statistics():
)
counts = [0] * len(legends)
patchcount = re.compile("([0-9]+) patched")
warnings = 0
warn_latch = False
while True:
......@@ -464,9 +476,6 @@ def statistics():
if warn_latch:
warnings += 1
continue
m = patchcount.search(line)
if m:
patched = int(m.group(1))
if "warning -" in line:
warn_latch = True
if line[0] != '!':
......@@ -477,6 +486,7 @@ def statistics():
file = line[:rcolon]
retval = line[rcolon+1:].split()[0]
if retval.endswith("*"):
patched += 1
retval = retval[:-1]
if file.endswith(".gz"):
file = file[:-3]
......@@ -525,7 +535,7 @@ def errorclean(error_only, pattern):
else:
# Emit some of them by status
def matches(s): return trailer.find(s) > -1
if status == 0 and not matches("warning"):
if status == 0 and not matches("warning") and not matches("FAILED") and not matches("offset") and not matches("Reversed"):
continue
if status == 1 and (matches("page is empty") or matches("page has no text")):
continue
......
'\" t
.\" Title: manlifter
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 06/01/2013
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\" Date: 06/03/2014
.\" Manual: Documentation Tools
.\" Source: manlifter
.\" Language: English
.\"
.TH "MANLIFTER" "1" "06/01/2013" "manlifter" "Documentation Tools"
.TH "MANLIFTER" "1" "06/03/2014" "manlifter" "Documentation Tools"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
......@@ -191,13 +191,12 @@ in order to run\&.
HTML generation is painfully slow\&. Unfortunately, there is little we can do to remedy this, because XSLT engines are painfully slow\&.
.SH "SEE ALSO"
.PP
\fBdoclifter\fR(1),
\fBxmlto\fR(1)
.SH "AUTHOR"
.PP
Eric S\&. Raymond
esr@thyrsus\&.com
<esr@thyrsus\&.com>
.PP
There is a project web page at
\m[blue]\fBhttp://www\&.catb\&.org/~esr/doclifter/\fR\m[]\&.
# Regression tests for doclifter
TESTDIRPARENT=/tmp
UTILBINDIR=..
TESTLOADS := $(shell ls *.man | sed '/.man/s///')
test: regress
@echo "No output (other than a testfile stem name) is good news."
default:
@setpython python2
@make -e --quiet regress
@setpython python3
@make -e --quiet regress
@setpython python
@echo "No output (other than testfile stem names) is good news."
rebuild:
@for file in $(TESTLOADS); do \
echo "Remaking $${file}.chk"; \
../doclifter <$${file}.man >$${file}.chk 2>&1; \
$(UTILBINDIR)/doclifter <$${file}.man >$${file}.chk 2>&1; \
done
regress:
@for file in $(TESTLOADS); do \
echo $${file}; \
if ../doclifter <$${file}.man >/tmp/regress$$; \
then diff -u $${file}.chk /tmp/regress$$; \
if $(UTILBINDIR)/doclifter <$${file}.man >$(TESTDIRPARENT)/regress$$; \
then diff -u $${file}.chk $(TESTDIRPARENT)/regress$$; \
else echo "*** Nonzero return status on $${file}!"; exit 1; fi \
done
@rm -f /tmp/regress
@rm -f $(TESTDIRPARENT)/regress
......@@ -33,3 +33,9 @@ xoxc.man
sudoers.man:
Tests the filename case in .Bl -literal.
get_myaddress.man:
Tests handling of .in +N just before .nf.
tzfile.man:
Tests .in +4 .sp .nf sequence.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<!-- lifted from man+troff by doclifter -->
......@@ -79,10 +79,13 @@ directives. The possible directive choices are:</para>
<listitem>
<para>This top level directive contains configuration options for the event service.</para>
</listitem>
</varlistentry>
</variablelist>
<para>It is also possible to specify the top level parameter
<emphasis remap='B'>compatibility.</emphasis>
<emphasis role='strong' remap='B'>compatibility.</emphasis>
This directive indicates the level of compatibility requested by the user. The
option whitetank can be specified to remain backward compatable with
openais-0.80.z. The option none can be specified to only be compatable
......@@ -94,18 +97,17 @@ required to remain backward compatable.</para>
<para>Within the
<emphasis remap='B'>totem</emphasis>
<emphasis role='strong' remap='B'>totem</emphasis>
directive, an interface directive is required. There is also one configuration
option which is required:</para>
<para>Within the
<emphasis remap='B'>interface</emphasis>
<emphasis role='strong' remap='B'>interface</emphasis>
sub-directive of totem there are four parameters which are required. There is
one parameter which is optional.</para>
</listitem>
</varlistentry>
<variablelist remap='TP'>
<varlistentry>
<term>ringnumber</term>
<listitem>
......@@ -186,10 +188,13 @@ Every node that should be a member of the membership should be specified as
a separate member directive. Within the member directive there is a parameter
memberaddr which specifies the ip address of one of the nodes.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Within the
<emphasis remap='B'>totem</emphasis>
<emphasis role='strong' remap='B'>totem</emphasis>
directive, there are seven configuration options of which one is required,
five are optional, and one is required when IPV6 is configured in the interface
subdirective. The required directive controls the version of the totem
......@@ -198,18 +203,19 @@ identification of the processor. The optional options control secrecy and
authentication, the redundant ring mode of operation, maximum network MTU,
and number of sending threads, and the nodeid field.</para>
</listitem>
</varlistentry>
<variablelist remap='TP'>
<varlistentry>
<term>version</term>
<listitem>
<para>This specifies the version of the configuration file. Currently the only
valid version for this directive is 2.</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist remap='TP'>
<varlistentry>
<term>nodeid</term>
<listitem>
......@@ -354,7 +360,7 @@ deployment.</para>
<para>The default is udp. The transport type can also be set to udpu or iba.</para>
<para>Within the
<emphasis remap='B'>totem</emphasis>
<emphasis role='strong' remap='B'>totem</emphasis>
directive, there are several configuration options which are used to control
the operation of the protocol. It is generally not recommended to change any
of these values without proper guidance and sufficient testing. Some networks
......@@ -633,16 +639,18 @@ auto-recovered.</para>
<para>The default is 1000 milliseconds.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Within the
<emphasis remap='B'>logging</emphasis>
<emphasis role='strong' remap='B'>logging</emphasis>
directive, there are several configuration options which are all optional.</para>
<para>The following 3 options are valid only for the top level logging directive:</para>
</listitem>
</varlistentry>
<variablelist remap='TP'>
<varlistentry>
<term>timestamp</term>
<listitem>
......@@ -668,12 +676,14 @@ directive, there are several configuration options which are all optional.</para
<para>The default is off.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The following options are valid both for top level logging directive
and they can be overriden in logger_subsys entries.</para>
</listitem>
</varlistentry>
<variablelist remap='TP'>
<varlistentry>
<term>to_stderr</term>
<term>to_logfile</term>
......@@ -681,15 +691,15 @@ and they can be overriden in logger_subsys entries.</para>
<listitem>
<para>These specify the destination of logging output. Any combination of
these options may be specified. Valid options are
<emphasis remap='B'>yes</emphasis>
<emphasis role='strong' remap='B'>yes</emphasis>
and
<emphasis remap='B'>no.</emphasis></para>
<emphasis role='strong' remap='B'>no.</emphasis></para>
<para>The default is syslog and stderr.</para>
<para>Please note, if you are using to_logfile and want to rotate the file, use logrotate(8)
with the option
<emphasis remap='B'>copytruncate.</emphasis>
<emphasis role='strong' remap='B'>copytruncate.</emphasis>
eg.</para>
<!-- ne 18 -->
<screen remap='.nf .ft CW'>
......@@ -701,7 +711,8 @@ eg.</para>
rotate 7
copytruncate
}
</screen> <!-- .fi -->
<emphasis role='strong' remap='P->B'>
</emphasis></screen> <!-- .fi -->
</listitem>
</varlistentry>
......@@ -709,9 +720,9 @@ eg.</para>
<term>logfile</term>
<listitem>
<para>If the
<emphasis remap='B'>to_logfile</emphasis>
<emphasis role='strong' remap='B'>to_logfile</emphasis>
directive is set to
<emphasis remap='B'>yes</emphasis>
<emphasis role='strong' remap='B'>yes</emphasis>
, this option specifies the pathname of the log file.</para>
<para>No default.</para>
......@@ -763,7 +774,7 @@ Possible values are: alert, crit, debug (same as debug = on), emerg, err, info,
<listitem>
<para>This specifies which tags should be traced for this particular logger.
Set debug directive to
<emphasis remap='B'>on</emphasis>
<emphasis role='strong' remap='B'>on</emphasis>
in order to enable tracing using tags.
Values are specified using a vertical bar as a logical OR separator:</para>
......@@ -771,20 +782,22 @@ Values are specified using a vertical bar as a logical OR separator:</para>
<para>The default is none.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Within the
<emphasis remap='B'>logging</emphasis>
<emphasis role='strong' remap='B'>logging</emphasis>
directive, logger_subsys directives are optional.</para>
<para>Within the
<emphasis remap='B'>logger_subsys</emphasis>
<emphasis role='strong' remap='B'>logger_subsys</emphasis>
sub-directive, all of the above logging configuration options are valid and
can be used to override the default settings.
The subsys entry, described below, is mandatory to identify the subsystem.</para>
</listitem>
</varlistentry>
<variablelist remap='TP'>
<varlistentry>
<term>subsys</term>
<listitem>
......
This diff is collapsed.
.\" Test load for doclifter
.\" Not-Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
.\" Preceding line contains UTF-8 copyright and e with diaeresis.
.TH docliftertest1 1
.SH NAME
docliftertest1 \- section 1 test load for doclifter
......
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<!-- lifted from mdoc+troff by doclifter -->
......@@ -1117,9 +1117,13 @@ inserts a separator (;) after the last character in
<replaceable>block</replaceable>,
so constructs like</para>
<programlisting remap='Bd'>
<funcsynopsis>
<funcsynopsisinfo>
if (x == 3) { y = y + 1 }
x = x + 1
</funcsynopsisinfo>
</funcsynopsis>
</programlisting> <!-- remap='Ed (block)' -->
<para>behave as expected. A separator is also appended to the end of a
<command remap='Ic'>for</command>
......
This diff is collapsed.
This diff is collapsed.
#!/bin/sh
#
# setpython - create a local link from 'python' to a specified version
#
# This script is used to to redirect the 'python' in reposurgeon's
# shebang line to a specified version when running regression tests.
if [ -z "$1" ]
then
ls -l python
elif [ $1 = "python" ]
then
rm -f ./python
elif [ $1 = python2 -o $1 = python3 ]
then
set -- `whereis $1`
shift
case $1 in
*/bin/*) ln -sf $1 ./python; echo "python -> $1";;
*) echo "setpython: no python binary" >&2;;
esac
else
echo "setpython: unrecognized python version" >&2