Re: [ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.
On Fri, Apr 14, 2017 at 06:20:43PM +0100, Stephen Finucane wrote: > On Thu, 2017-04-13 at 21:43 -0700, Ben Pfaff wrote: > > It's awkward to have to at the same time generate conf.py from > > conf.py.in > > and to keep both versions in the repository. This avoids the issue. > > > > Signed-off-by: Ben Pfaff > > --- > > Documentation/automake.mk | 10 -- > > Documentation/conf.py | 23 ++- > > Documentation/conf.py.in | 349 > > -- > > 3 files changed, 19 insertions(+), 363 deletions(-) > > delete mode 100644 Documentation/conf.py.in > > > > diff --git a/Documentation/automake.mk b/Documentation/automake.mk > > index ec60e0b1e831..9911668c1ca9 100644 > > --- a/Documentation/automake.mk > > +++ b/Documentation/automake.mk > > @@ -3,7 +3,6 @@ DOC_SOURCE = \ > > Documentation/_static/logo.png \ > > Documentation/_static/overview.png \ > > Documentation/conf.py \ > > - Documentation/conf.py.in \ > > Documentation/index.rst \ > > Documentation/contents.rst \ > > Documentation/intro/index.rst \ > > @@ -125,15 +124,6 @@ clean-docs: > > rm -rf $(SPHINXBUILDDIR)/linkcheck > > rm -f docs-check > > CLEAN_LOCAL += clean-docs > > - > > -ALL_LOCAL += $(srcdir)/Documentation/conf.py > > -$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in > > - $(AM_V_GEN)($(ro_shell) && sed -e > > 's,[@]VERSION[@],$(VERSION),g' \ > > - -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut > > -f1 -d.),g' \ > > - -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut > > -f2 -d.),g') \ > > - < $(srcdir)/Documentation/$(@F).in > $(@F).tmp || > > exit 1; \ > > - if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv > > $(@F).tmp $@; fi > > - > > endif > > .PHONY: check-docs > > .PHONY: clean-docs > > diff --git a/Documentation/conf.py b/Documentation/conf.py > > index ae672cbe7b0d..bfd7f33d88ba 100644 > > --- a/Documentation/conf.py > > +++ b/Documentation/conf.py > > @@ -1,4 +1,3 @@ > > -# Generated automatically -- do not modify!-*- buffer-read-only: > > t -*- > > # -*- coding: utf-8 -*- > > # > > # Open vSwitch documentation build configuration file, created by > > @@ -63,10 +62,26 @@ author = u'The Open vSwitch Development > > Community' > > # |version| and |release|, also used in various other places > > throughout the > > # built documents. > > # > > +import string > > +import sys > > +def get_release(): > > +filename = "../configure.ac" > > +with open(filename, 'rU') as f: > > +for line in f: > > +if 'AC_INIT' in line: > > +# Parse "AC_INIT(openvswitch, 2.7.90, bugs@openvswit > > ch.org)": > > +return line.split(',')[1].strip(string.whitespace + > > '[]') > > +sys.stderr.write('%s: failed to determine Open vSwitch > > version\n' > > + % filename) > > +sys.exit(1) > > +release = get_release() # The full version, including alpha/beta/rc > > tags > > + > > # The short X.Y version. > > -version = u'2.7' > > -# The full version, including alpha/beta/rc tags. > > -release = u'2.7.90' > > +# > > +# However, it's important to know the difference between, e.g., 2.7 > > +# and 2.7.90, which can be very different versions (2.7.90 may be > > much > > +# closer to 2.8 than to 2.7), so check for that. > > +version = release if '.90' in release else > > '.'.join(release.split('.')[0:2]) > > nit: You probably don't need to have this as a function. Might also > want to run it through pep8/flake8. Other than that though, lgtm. > > Acked-by: Stephen Finucane Thanks! I made your and flake8's suggested changes and applied this to master. ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.
On Thu, 2017-04-13 at 21:43 -0700, Ben Pfaff wrote: > It's awkward to have to at the same time generate conf.py from > conf.py.in > and to keep both versions in the repository. This avoids the issue. > > Signed-off-by: Ben Pfaff > --- > Documentation/automake.mk | 10 -- > Documentation/conf.py | 23 ++- > Documentation/conf.py.in | 349 > -- > 3 files changed, 19 insertions(+), 363 deletions(-) > delete mode 100644 Documentation/conf.py.in > > diff --git a/Documentation/automake.mk b/Documentation/automake.mk > index ec60e0b1e831..9911668c1ca9 100644 > --- a/Documentation/automake.mk > +++ b/Documentation/automake.mk > @@ -3,7 +3,6 @@ DOC_SOURCE = \ > Documentation/_static/logo.png \ > Documentation/_static/overview.png \ > Documentation/conf.py \ > - Documentation/conf.py.in \ > Documentation/index.rst \ > Documentation/contents.rst \ > Documentation/intro/index.rst \ > @@ -125,15 +124,6 @@ clean-docs: > rm -rf $(SPHINXBUILDDIR)/linkcheck > rm -f docs-check > CLEAN_LOCAL += clean-docs > - > -ALL_LOCAL += $(srcdir)/Documentation/conf.py > -$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in > - $(AM_V_GEN)($(ro_shell) && sed -e > 's,[@]VERSION[@],$(VERSION),g' \ > - -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut > -f1 -d.),g' \ > - -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut > -f2 -d.),g') \ > - < $(srcdir)/Documentation/$(@F).in > $(@F).tmp || > exit 1; \ > - if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv > $(@F).tmp $@; fi > - > endif > .PHONY: check-docs > .PHONY: clean-docs > diff --git a/Documentation/conf.py b/Documentation/conf.py > index ae672cbe7b0d..bfd7f33d88ba 100644 > --- a/Documentation/conf.py > +++ b/Documentation/conf.py > @@ -1,4 +1,3 @@ > -# Generated automatically -- do not modify!-*- buffer-read-only: > t -*- > # -*- coding: utf-8 -*- > # > # Open vSwitch documentation build configuration file, created by > @@ -63,10 +62,26 @@ author = u'The Open vSwitch Development > Community' > # |version| and |release|, also used in various other places > throughout the > # built documents. > # > +import string > +import sys > +def get_release(): > +filename = "../configure.ac" > +with open(filename, 'rU') as f: > +for line in f: > +if 'AC_INIT' in line: > +# Parse "AC_INIT(openvswitch, 2.7.90, bugs@openvswit > ch.org)": > +return line.split(',')[1].strip(string.whitespace + > '[]') > +sys.stderr.write('%s: failed to determine Open vSwitch > version\n' > + % filename) > +sys.exit(1) > +release = get_release() # The full version, including alpha/beta/rc > tags > + > # The short X.Y version. > -version = u'2.7' > -# The full version, including alpha/beta/rc tags. > -release = u'2.7.90' > +# > +# However, it's important to know the difference between, e.g., 2.7 > +# and 2.7.90, which can be very different versions (2.7.90 may be > much > +# closer to 2.8 than to 2.7), so check for that. > +version = release if '.90' in release else > '.'.join(release.split('.')[0:2]) nit: You probably don't need to have this as a function. Might also want to run it through pep8/flake8. Other than that though, lgtm. Acked-by: Stephen Finucane > # The language for content autogenerated by Sphinx. Refer to > documentation > # for a list of supported languages. > diff --git a/Documentation/conf.py.in b/Documentation/conf.py.in > deleted file mode 100644 > index 5ed7006228f2.. > --- a/Documentation/conf.py.in > +++ /dev/null > @@ -1,349 +0,0 @@ > -# -*- coding: utf-8 -*- > -# > -# Open vSwitch documentation build configuration file, created by > -# sphinx-quickstart on Fri Sep 30 09:57:36 2016. > -# > -# This file is execfile()d with the current directory set to its > -# containing dir. > -# > -# Note that not all possible configuration values are present in > this > -# autogenerated file. > -# > -# All configuration values have a default; values that are commented > out > -# serve to show the default. > - > -# If extensions (or modules to document with autodoc) are in another > directory, > -# add these directories to sys.path here. If the directory is > relative to the > -# documentation root, use os.path.abspath to make it absolute, like > shown here. > -# > -# import os > -# import sys > -# sys.path.insert(0, os.path.abspath('.')) > -try: > -import ovs_sphinx_theme > -use_ovs_theme = True > -except ImportError: > -print("Cannot find 'ovs_sphinx' package. Falling back to default > theme.") > -use_ovs_theme = False > - > -# -- General configuration --- > - > - > -# If your documentation needs a minimal Sphinx version, state it > here. > -# > -needs_sphinx = '1.1' > - > -# Add any Sphinx extension module names here, as strings. They can > be > -# e
[ovs-dev] [PATCH 2/6] doc: Avoid need to generate conf.py.
It's awkward to have to at the same time generate conf.py from conf.py.in and to keep both versions in the repository. This avoids the issue. Signed-off-by: Ben Pfaff --- Documentation/automake.mk | 10 -- Documentation/conf.py | 23 ++- Documentation/conf.py.in | 349 -- 3 files changed, 19 insertions(+), 363 deletions(-) delete mode 100644 Documentation/conf.py.in diff --git a/Documentation/automake.mk b/Documentation/automake.mk index ec60e0b1e831..9911668c1ca9 100644 --- a/Documentation/automake.mk +++ b/Documentation/automake.mk @@ -3,7 +3,6 @@ DOC_SOURCE = \ Documentation/_static/logo.png \ Documentation/_static/overview.png \ Documentation/conf.py \ - Documentation/conf.py.in \ Documentation/index.rst \ Documentation/contents.rst \ Documentation/intro/index.rst \ @@ -125,15 +124,6 @@ clean-docs: rm -rf $(SPHINXBUILDDIR)/linkcheck rm -f docs-check CLEAN_LOCAL += clean-docs - -ALL_LOCAL += $(srcdir)/Documentation/conf.py -$(srcdir)/Documentation/conf.py: $(srcdir)/Documentation/conf.py.in - $(AM_V_GEN)($(ro_shell) && sed -e 's,[@]VERSION[@],$(VERSION),g' \ - -e 's,[@]OVS_MAJOR[@],$(shell echo $(VERSION) | cut -f1 -d.),g' \ - -e 's,[@]OVS_MINOR[@],$(shell echo $(VERSION) | cut -f2 -d.),g') \ - < $(srcdir)/Documentation/$(@F).in > $(@F).tmp || exit 1; \ - if cmp -s $(@F).tmp $@; then touch $@; rm $(@F).tmp; else mv $(@F).tmp $@; fi - endif .PHONY: check-docs .PHONY: clean-docs diff --git a/Documentation/conf.py b/Documentation/conf.py index ae672cbe7b0d..bfd7f33d88ba 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -1,4 +1,3 @@ -# Generated automatically -- do not modify!-*- buffer-read-only: t -*- # -*- coding: utf-8 -*- # # Open vSwitch documentation build configuration file, created by @@ -63,10 +62,26 @@ author = u'The Open vSwitch Development Community' # |version| and |release|, also used in various other places throughout the # built documents. # +import string +import sys +def get_release(): +filename = "../configure.ac" +with open(filename, 'rU') as f: +for line in f: +if 'AC_INIT' in line: +# Parse "AC_INIT(openvswitch, 2.7.90, b...@openvswitch.org)": +return line.split(',')[1].strip(string.whitespace + '[]') +sys.stderr.write('%s: failed to determine Open vSwitch version\n' + % filename) +sys.exit(1) +release = get_release() # The full version, including alpha/beta/rc tags. + # The short X.Y version. -version = u'2.7' -# The full version, including alpha/beta/rc tags. -release = u'2.7.90' +# +# However, it's important to know the difference between, e.g., 2.7 +# and 2.7.90, which can be very different versions (2.7.90 may be much +# closer to 2.8 than to 2.7), so check for that. +version = release if '.90' in release else '.'.join(release.split('.')[0:2]) # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/Documentation/conf.py.in b/Documentation/conf.py.in deleted file mode 100644 index 5ed7006228f2.. --- a/Documentation/conf.py.in +++ /dev/null @@ -1,349 +0,0 @@ -# -*- coding: utf-8 -*- -# -# Open vSwitch documentation build configuration file, created by -# sphinx-quickstart on Fri Sep 30 09:57:36 2016. -# -# This file is execfile()d with the current directory set to its -# containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) -try: -import ovs_sphinx_theme -use_ovs_theme = True -except ImportError: -print("Cannot find 'ovs_sphinx' package. Falling back to default theme.") -use_ovs_theme = False - -# -- General configuration - -# If your documentation needs a minimal Sphinx version, state it here. -# -needs_sphinx = '1.1' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -# -# source_suffix = ['.rst', '.md'] -source_suffix = '.rst' - -# The encoding of source files. -# -# source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc