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 <[email protected]> > --- > 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 <[email protected]> > # 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..000000000000 > --- 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 = 'contents' > - > -# General information about the project. > -project = u'Open vSwitch' > -copyright = u'2016, The Open vSwitch Development Community' > -author = u'The Open vSwitch Development Community' > - > -# The version info for the project you're documenting, acts as > replacement for > -# |version| and |release|, also used in various other places > throughout the > -# built documents. > -# > -# The short X.Y version. > -version = u'@OVS_MAJOR@.@OVS_MINOR@' > -# The full version, including alpha/beta/rc tags. > -release = u'@VERSION@' > - > -# The language for content autogenerated by Sphinx. Refer to > documentation > -# for a list of supported languages. > -# > -# This is also used if you do content translation via gettext > catalogs. > -# Usually you set "language" from the command line for these cases. > -language = None > - > -# There are two options for replacing |today|: either, you set today > to some > -# non-false value, then it is used: > -# > -# today = '' > -# > -# Else, today_fmt is used as the format for a strftime call. > -# > -# today_fmt = '%B %d, %Y' > - > -# List of patterns, relative to source directory, that match files > and > -# directories to ignore when looking for source files. > -# This patterns also effect to html_static_path and html_extra_path > -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] > - > -# The reST default role (used for this markup: `text`) to use for > all > -# documents. > -# > -# default_role = None > - > -# If true, '()' will be appended to :func: etc. cross-reference > text. > -# > -# add_function_parentheses = True > - > -# If true, the current module name will be prepended to all > description > -# unit titles (such as .. function::). > -# > -# add_module_names = True > - > -# If true, sectionauthor and moduleauthor directives will be shown > in the > -# output. They are ignored by default. > -# > -# show_authors = False > - > -# A list of ignored prefixes for module index sorting. > -# modindex_common_prefix = [] > - > -# If true, keep warnings as "system message" paragraphs in the built > documents. > -# keep_warnings = False > - > -# If true, `todo` and `todoList` produce output, else they produce > nothing. > -todo_include_todos = False > - > -# If true, check the validity of #anchors in links. > -linkcheck_anchors = False > - > -# -- Options for HTML output ------------------------------------- > --------- > - > -# The theme to use for HTML and HTML Help pages. See the > documentation for > -# a list of builtin themes. > -# > -if use_ovs_theme: > - html_theme = 'ovs' > -else: > - html_theme = 'default' > - > -# Theme options are theme-specific and customize the look and feel > of a theme > -# further. For a list of options available for each theme, see the > -# documentation. > -# > -# html_theme_options = {} > - > -# Add any paths that contain custom themes here, relative to this > directory. > -if use_ovs_theme: > - html_theme_path = [ovs_sphinx_theme.get_theme_dir()] > -else: > - html_theme_path = [] > - > -# The name for this set of Sphinx documents. > -# "<project> v<release> documentation" by default. > -# > -# html_title = u'Open vSwitch v2.6.0' > - > -# A shorter title for the navigation bar. Default is the same as > html_title. > -# > -# html_short_title = None > - > -# The name of an image file (relative to this directory) to place at > the top > -# of the sidebar. > -# > -html_logo = '_static/logo.png' > - > -# The name of an image file (relative to this directory) to use as a > favicon of > -# the docs. This file should be a Windows icon file (.ico) being > 16x16 or 32x32 > -# pixels large. > -# > -# html_favicon = None > - > -# Add any paths that contain custom static files (such as style > sheets) here, > -# relative to this directory. They are copied after the builtin > static files, > -# so a file named "default.css" will overwrite the builtin > "default.css". > -html_static_path = ['_static'] > - > -# Add any extra paths that contain custom files (such as robots.txt > or > -# .htaccess) here, relative to this directory. These files are > copied > -# directly to the root of the documentation. > -# > -# html_extra_path = [] > - > -# If not None, a 'Last updated on:' timestamp is inserted at every > page > -# bottom, using the given strftime format. > -# The empty string is equivalent to '%b %d, %Y'. > -# > -# html_last_updated_fmt = None > - > -# If true, SmartyPants will be used to convert quotes and dashes to > -# typographically correct entities. > -# > -# html_use_smartypants = True > - > -# Custom sidebar templates, maps document names to template names. > -# > -# html_sidebars = {} > - > -# Additional templates that should be rendered to pages, maps page > names to > -# template names. > -# > -# html_additional_pages = {} > - > -# If false, no module index is generated. > -# > -# html_domain_indices = True > - > -# If false, no index is generated. > -# > -# html_use_index = True > - > -# If true, the index is split into individual pages for each letter. > -# > -# html_split_index = False > - > -# If true, links to the reST sources are added to the pages. > -# > -# html_show_sourcelink = True > - > -# If true, "Created using Sphinx" is shown in the HTML footer. > Default is True. > -# > -# html_show_sphinx = True > - > -# If true, "(C) Copyright ..." is shown in the HTML footer. Default > is True. > -# > -# html_show_copyright = True > - > -# If true, an OpenSearch description file will be output, and all > pages will > -# contain a <link> tag referring to it. The value of this option > must be the > -# base URL from which the finished HTML is served. > -# > -# html_use_opensearch = '' > - > -# This is the file name suffix for HTML files (e.g. ".xhtml"). > -# html_file_suffix = None > - > -# Language to be used for generating the HTML full-text search > index. > -# Sphinx supports the following languages: > -# 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' > -# 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr', 'zh' > -# > -# html_search_language = 'en' > - > -# A dictionary with options for the search language support, empty > by default. > -# 'ja' uses this config value. > -# 'zh' user can custom change `jieba` dictionary path. > -# > -# html_search_options = {'type': 'default'} > - > -# The name of a javascript file (relative to the configuration > directory) that > -# implements a search results scorer. If empty, the default will be > used. > -# > -# html_search_scorer = 'scorer.js' > - > -# Output file base name for HTML help builder. > -htmlhelp_basename = 'OpenvSwitchdoc' > - > -# -- Options for LaTeX output -------------------------------------- > ------- > - > -latex_elements = { > - # The paper size ('letterpaper' or 'a4paper'). > - # > - # 'papersize': 'letterpaper', > - > - # The font size ('10pt', '11pt' or '12pt'). > - # > - # 'pointsize': '10pt', > - > - # Additional stuff for the LaTeX preamble. > - # > - # 'preamble': '', > - > - # Latex figure (float) alignment > - # > - # 'figure_align': 'htbp', > -} > - > -# Grouping the document tree into LaTeX files. List of tuples > -# (source start file, target name, title, > -# author, documentclass [howto, manual, or own class]). > -latex_documents = [ > - (master_doc, 'OpenvSwitch.tex', u'Open vSwitch Documentation', > - u'Open vSwitch Developers', 'manual'), > -] > - > -# The name of an image file (relative to this directory) to place at > the top of > -# the title page. > -# > -# latex_logo = None > - > -# For "manual" documents, if this is true, then toplevel headings > are parts, > -# not chapters. > -# > -# latex_use_parts = False > - > -# If true, show page references after internal links. > -# > -# latex_show_pagerefs = False > - > -# If true, show URL addresses after external links. > -# > -# latex_show_urls = False > - > -# Documents to append as an appendix to all manuals. > -# > -# latex_appendices = [] > - > -# It false, will not define \strong, \code, itleref, > \crossref ... but only > -# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with > user added > -# packages. > -# > -# latex_keep_old_macro_names = True > - > -# If false, no module index is generated. > -# > -# latex_domain_indices = True > - > - > -# -- Options for manual page output -------------------------------- > ------- > - > -# One entry per manual page. List of tuples > -# (source start file, name, description, authors, manual section). > -man_pages = [ > - (master_doc, 'openvswitch', u'Open vSwitch Documentation', > - [author], 1) > -] > - > -# If true, show URL addresses after external links. > -# > -# man_show_urls = False > - > - > -# -- Options for Texinfo output ------------------------------------ > ------- > - > -# Grouping the document tree into Texinfo files. List of tuples > -# (source start file, target name, title, author, > -# dir menu entry, description, category) > -texinfo_documents = [ > - (master_doc, 'OpenvSwitch', u'Open vSwitch Documentation', > - author, 'OpenvSwitch', 'One line description of project.', > - 'Miscellaneous'), > -] > - > -# Documents to append as an appendix to all manuals. > -# > -# texinfo_appendices = [] > - > -# If false, no module index is generated. > -# > -# texinfo_domain_indices = True > - > -# How to display URL addresses: 'footnote', 'no', or 'inline'. > -# > -# texinfo_show_urls = 'footnote' > - > -# If true, do not generate a @detailmenu in the "Top" node's menu. > -# > -# texinfo_no_detailmenu = False _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
