On Sun, Jun 14, 2015 at 12:19 PM, Ben Pfaff <b...@nicira.com> wrote: > This allows XML-generated manpages in the source tree to include correct > directory names for the local configuration, instead of just the plain > nroff ones. > > Signed-off-by: Ben Pfaff <b...@nicira.com> > --- > build-aux/xml2nroff | 30 +++++++++++++++++++++++++----- > ovn/automake.mk | 17 +++++++++++++++-- > 2 files changed, 40 insertions(+), 7 deletions(-) > > diff --git a/build-aux/xml2nroff b/build-aux/xml2nroff > index 8dc9d4f..2dbbe50 100755 > --- a/build-aux/xml2nroff > +++ b/build-aux/xml2nroff > @@ -28,17 +28,26 @@ def usage(): > print """\ > %(argv0)s: XML to nroff converter > Converts the XML format supplied as input into an nroff-formatted manpage. > -usage: %(argv0)s [OPTIONS] INPUT.XML > +usage: %(argv0)s [OPTIONS] INPUT.XML [VAR=VALUE]... > where INPUT.XML is a manpage in an OVS-specific XML format. > > +Each VAR, when enclosed by "@"s in the input, is replaced by its > +corresponding VALUE, with characters &<>"' in VALUE escaped. > + > The following options are also available: > --version=VERSION use VERSION to display on document footer > -h, --help display this help message\ > """ % {'argv0': argv0} > sys.exit(0) > > -def manpage_to_nroff(xml_file, version=None): > - doc = xml.dom.minidom.parse(xml_file).documentElement > +def manpage_to_nroff(xml_file, subst, version=None): > + f = open(xml_file) > + input = [] > + for line in f: > + for k, v in subst.iteritems(): > + line = line.replace(k, v) > + input += [line] > + doc = xml.dom.minidom.parseString(''.join(input)).documentElement > d = date.fromtimestamp(os.stat(xml_file).st_mtime) > > if version == None: > @@ -102,13 +111,24 @@ if __name__ == "__main__": > else: > sys.exit(0) > > - if len(args) != 1: > + if len(args) < 1: > sys.stderr.write("%s: exactly 1 non-option arguments required " > "(use --help for help)\n" % argv0) > sys.exit(1) > > + input = args[0] >
The 'input' is unused, Acked-by: Alex Wang <al...@nicira.com> > + subst = {} > + for s in args[1:]: > + var, value = s.split('=', 1) > + value = value.replace('&', '&') > + value = value.replace('<', '<') > + value = value.replace('>', '>') > + value = value.replace('"', '"') > + value = value.replace("'", ''') > + subst['@%s@' % var] = value > + > try: > - s = manpage_to_nroff(args[0], version) > + s = manpage_to_nroff(args[0], subst, version) > except error.Error, e: > sys.stderr.write("%s: %s\n" % (argv0, e.msg)) > sys.exit(1) > diff --git a/ovn/automake.mk b/ovn/automake.mk > index 4be5381..c0be98f 100644 > --- a/ovn/automake.mk > +++ b/ovn/automake.mk > @@ -71,8 +71,21 @@ EXTRA_DIST += ovn/ovn-architecture.7.xml > ovn/ovn-nbctl.8.xml > > SUFFIXES += .xml > %: %.xml > - $(AM_V_GEN)$(run_python) $(srcdir)/build-aux/xml2nroff \ > - --version=$(VERSION) $< > $@.tmp && mv $@.tmp $@ > + $(AM_V_GEN)$(run_python) $(srcdir)/build-aux/xml2nroff $< > $@.tmp > \ > + --version=$(VERSION) \ > + PKIDIR='$(PKIDIR)' \ > + LOGDIR='$(LOGDIR)' \ > + DBDIR='$(DBDIR)' \ > + PERL='$(PERL)' \ > + PYTHON='$(PYTHON)' \ > + RUNDIR='$(RUNDIR)' \ > + VERSION='$(VERSION)' \ > + localstatedir='$(localstatedir)' \ > + pkgdatadir='$(pkgdatadir)' \ > + sysconfdir='$(sysconfdir)' \ > + bindir='$(bindir)' \ > + sbindir='$(sbindir)' > + $(AM_v_at)mv $@.tmp $@ > > EXTRA_DIST += \ > ovn/TODO \ > -- > 2.1.3 > > _______________________________________________ > dev mailing list > dev@openvswitch.org > http://openvswitch.org/mailman/listinfo/dev > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev