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

Reply via email to